[OE-core] Performance - Staus and plans
Richard Purdie
richard.purdie at linuxfoundation.org
Mon May 16 12:08:34 UTC 2011
I'm going to cover both disk usage and build time in this list with a
summary of the currently identified tasks we're working on and their
status as I understand them:
a) Split libc locale generation from libc do_install/do_package
Status: Dongxiao has a WIP patch. Do we have an ETA on that?
b) Share the source directories for gcc, glibc and maybe others
Status: RP wrote a proof of concept patch, needs further work, on
Yocto schedule for 1.1
c) Set CCACHE on a per recipe basis. need to figure out whether ccache
data can be shared and under what circumstances.
Status: Idea talked about, no code yet
d) Cache do_configure autoreconf result
Status: We know this is about 50% of the time on configure, no code
yet. Need fixes to SRC_URI variable dependency code to include
checksums (which we need to fix regardless)
e) Remove perl-native from most build dependencies by installing it
into its own sysroot
Status: WIP
f) Document performance best practises (e.g. no premempt in kernel,
use server kernel on ubuntu)
Status: Not done yet.
Further investigative ideas I've been wondering about:
a) Consider current dependency tree and see if any dependencies could
be avoided?
b) Consider contents of our standard images and what could be removed
for what build time improvement?
c) Find a system with complete symbol data present, then run a minimal
build under oprofile and see if anything significant bottle necks
appear? To get good debug data we might do a build under a poky
generated image! :)
d) Consider better ways to enable pseudo to be prebuilt in parallel
with other native recipes as this takes a significant chunk of time
when we aren't using parallelism.
e) Compare the build time of "bitbake glibc -c populate_sysroot;
bitbake core-image-sato" with "bitbake core-image-sato"
My big concern is that whilst I think if we keep working at it, we can
get the standard build time to 90 minutes (currently master is 102), we
don't currently have any gain identified that could get us to the 60
minute build time.
Cheers,
Richard
More information about the Openembedded-core
mailing list