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

Felix Fietkau nbd at openwrt.org
Sun Aug 31 06:14:30 EDT 2014

On 2014-08-31 11:53, Hannu Nyman wrote:
>  > 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).
> Have developers evaluated the pros and cons of using mips16 as the default?

> It was made the default along the switch to gcc4.8, but I do not remember 
> seeing any extensive discussion about that change. Yes, it produces smaller 
> binaries, but apparently with a visible performance hit.
Most binaries are not performance sensitive

> The performance problems can materialize in strange ways, e.g. ssh login time 
> to dropbear doubled (increased by several seconds), 
> https://dev.openwrt.org/ticket/15209 . So, it is not just about gradual 
> performance hit, but it can apparently cause visible annoyances.
Right. We should simply identify binaries where mips16 is causing
problems and disable it for those.

> Now that the performance issues have been noticed, is there any plan for 
> developers to systematically go through the core apps to check the impact and 
> turn mips16 off for problematic apps? I guess that based by evedence so far, 
> it might be turned off for all math-intensive apps like crypto libraries, but 
> there may be also others (maybe voice & image encoding/decoding?)
> To have small binaries is nice, but I guess that a growing amount of Openwrt 
> users are power users with modern routers with more flash space and having 
> interest for VPNs etc. And for them mips16 may have brought more trouble than 
> benefits.
I think only a small portion of our packages seem to have problems with
mips16, and turning it off selectively is very easy - so I don't
consider this a big deal. I think it makes sense to simply wait for bug
reports to show up and deal with those on a case by case basis.
If we delay using mips16 until core devs have gone through every single
package, it will never get done...

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

More information about the openwrt-devel mailing list