[OpenWrt-Devel] Toolchain issue: Significant decrease in performance of binaries produced by Barrier Breaker relative to Attitude Adjustment

Felix Fietkau nbd at openwrt.org
Sat Aug 30 14:10:28 EDT 2014

On 2014-08-30 18:51, Hauke Mehrtens wrote:
> On 08/30/2014 06:45 PM, Matthias Schiffer wrote:
>> On 08/30/2014 06:42 PM, Matthias Schiffer wrote:
>>> Hi, I've noticed that the code produced by Barrier Breaker's
>>> toolchain sometimes has significantly worse performance that that
>>> built by Attitude Adjustment.
>>> I can see this extremely with the VPN tool "fastd" developed and 
>>> maintained by me: On the same Barrier Breaker system, a binary
>>> built by the default Barrier Breaker toolchain (GCC 4.8-linaro)
>>> gets about 35% less throughput than one built with Attitude
>>> Adjustment (GCC 4.6-linaro). With the 4.6-linaro toolchain of
>>> Barrier Breaker, I still get 20% worse performance than with the
>>> 4.6-linaro of Attitude Adjustment.
>>> Do you have any suggestions what I can do to solve or analyze the
>>> issue? Any compiler flags I should try fiddling with? Optimizing
>>> with -Os vs. -O3 doesn't seem to make a difference.
>>> Thanks, Matthias
>> I forgot to tell that this is on ar71xx.
> This could be a problem caused by mips16. We use that in BB to create
> smaller binaries. but Jonas saw a performance problem in some
> applications, mostly stuff doing crypto (big integer calculations).
> Can you try to build the BB toolchain without the mips16 feature in
> target/linux/ar71xx/Makefile and try your application again.
There's no need to disable it for the target, since it can be disabled
for individual packages.

- Felix
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org

More information about the openwrt-devel mailing list