Skip to contentSkip to conversation

Performance datapoint - impact of static libs

DISCUSSION Richard Purdie 2 participants 3 messages Jul 15, 2011 – Jul 20, 2011

lore
Share & tools
lore
#0 lore raw

Before:

real 104m1.135s
user 415m57.560s
sys 61m31.180s

With "--disable-static" being passed to configure (changes below):

real 99m46.645s
user 383m32.390s
sys 60m42.170s

So static libs add an extra ~30mins of processing (7%) and ~5 mins to the overall build time. Not as much of a gain as I'd have liked but interesting none the less.

The changes were effectively:

DISABLESTATIC = "--disable-static"
DISABLESTATIC_pn-sqlite3-native = ""
DISABLESTATIC_pn-openssl = ""
DISABLESTATIC_pn-openssl-native = ""
DISABLESTATIC_pn-qemu-native = ""
EXTRA_OECONF_append = " ${DISABLESTATIC}"

in local.conf with a patch to the openjade-native recipe to not install the .a file using oe_libinstall and a patch to apmd to fix a libtool related compiling bug in its makefile.

Cheers,

Richard

#1 lore raw
Quoted 3 lines

So static libs add an extra ~30mins of processing (7%) and ~5 mins to the overall build time. Not as much of a gain as I'd have liked but interesting none the less.

Do you know how many packages actually respect the --disable-static flag? I don't think (e)glibc does, for example, which is a bit of a shame since it obviously has one of the largest build times.

p.

#2 lore raw
Quoted 7 lines · Phil Blundell
Quoted 3 lines

So static libs add an extra ~30mins of processing (7%) and ~5 mins to the overall build time. Not as much of a gain as I'd have liked but interesting none the less.

Do you know how many packages actually respect the --disable-static flag? I don't think (e)glibc does, for example, which is a bit of a shame since it obviously has one of the largest build times.

I did a quick search over the resulting build looking for image/*.a files and it seems a lot of the system did respect it. There were some significant exceptions (eglibc, boost, openssl spring to mind) but in general it looked pretty good.

Cheers,

Richard