[oe] Profile of bitbake trunk

Richard Purdie rpurdie at rpsys.net
Mon Nov 20 10:25:24 UTC 2006


When experimenting over the weekend, I took an up to date profile of
bitbake trunk after the recent changes:

http://www.rpsys.net/openzaurus/temp/bb-profile.log

This shows three different sections of output:

1. A listing of the time spent in each function
2. A listing of where each function was called from
3. A listing of which functions a given function called.
(all with number of function calls in each case)

This was taken against poky i.e. about 600 .bb files. I disabled psyco
(-d) as it breaks the stack traces and I was using bitbake -p as well.

Some observations:

* We have 5.6 million function calls in total
* We process 221,762 lines of file (see readline and feeder). How much
of this is double processing of .inc/.bbclass files?
* feeder and handle are our heaviest functions now
* We still have 378,110 to getVarFlag
* The local.py fetcher is a heavier user of which (would caching help?)

Some notable changes:

* calls to getvarFlag were reduced from 1.1 million
* There are a lot less path.join calls thanks to the fetcher changes
* expand is now quite well down the list and isn't being used as heavily
as it was

Other comments/observations welcome :)

Parsing poky now takes 18 seconds from scratch :)

Richard





More information about the Openembedded-devel mailing list