[OE-core] Performance regression (binutils and gold)

Richard Purdie richard.purdie at linuxfoundation.org
Sun Apr 12 08:45:31 UTC 2015


To allow us to upgrade to the latest binutils we ended up enabling
building of gold. Unfortunately this is clearly visible on our
performance benchmarks, it leads to a 3-4 minute speed loss in overall
build time :(.

Locally, benchmarks for building binutils-cross show:

Just ld:

95.87user 48.36system 1:05.66elapsed 219%CPU (0avgtext+0avgdata
162480maxresident)k
0inputs+1030184outputs (0major+7753895minor)pagefaults 0swaps

with gold:

366.22user 67.25system 1:14.29elapsed 583%CPU (0avgtext+0avgdata
435488maxresident)k
248inputs+1205792outputs (1major+12572236minor)pagefaults 0swaps
richard at dax:/media/build1/poky/build2$ 

So whilst it only takes 10 seconds longer overall for me on what is a
pretty powerful machine, you can see a huge increase in user time and
CPU usage. I believe that on our slower quad core performance benchmark
machine, this equates to a few minutes.

The question is therefore, do we have a better way to fix things? Is
this performance drop acceptable?

Cheers,

Richard





More information about the Openembedded-core mailing list