[bitbake-devel] [PATCH 00/16] Various performance improvements to parsing

Richard Purdie richard.purdie at linuxfoundation.org
Mon Sep 16 21:57:05 UTC 2013


This patch series fixes up profiling of the parsing processes and then
uses that to find some performance improvements in parsing speed. What
follows is a quick overview of what each patch is worth using "time".
The data was confirmed in the actual profiles through a reduction in
function calls, this is really just an interesting side by side
comparison of the significance of each change:

real	0m31.700s
user	1m49.140s
sys	0m2.272s

#### Baseline ####

real	0m31.498s
user	1m48.448s
sys	0m2.380s

#### data: Be explicit in data_db check

real	0m31.079s
user	1m47.420s
sys	0m2.400s

#### siggen: Use lookup cache exclusively

real	0m30.890s
user	1m46.684s
sys	0m2.492s

#### data_smart: Improve variable expansion regexp

real	0m30.547s
user	1m44.124s
sys	0m2.292s

#### data_smart: use the expand_cache in VariableParse

real	0m29.750s
user	1m41.240s
sys	0m2.536s

#### data: Use direct iteration, not keys()

real	0m28.610s
user	1m38.096s
sys	0m2.304s

#### data: Cache an list of export variables

real	0m28.718s
user	1m38.080s
sys	0m2.344s

### data_smart: Add explict None checks

real	0m28.726s
user	1m37.924s
sys	0m2.568s

### data_smart: Allow expansion of flags in getVarFlags

real	0m28.947s
user	1m38.564s
sys	0m2.644s

### data_smart: Allow flags to use the expand cache

real	0m29.135s
user	1m38.816s
sys	0m2.280s

### data_smart: Cache the fact a variable accesses another even if its
unset

real	0m28.250s
user	1m36.132s
sys	0m2.340s

### data: Optimise flag exclusion list handling

real	0m28.584s
user	1m36.116s
sys	0m2.376s

### data: Optimise flag lookup in build_dependencies

real	0m26.662s
user	1m28.952s
sys	0m2.296s

### data: Optimise build_dependencies a little

Cheers,

Richard






More information about the bitbake-devel mailing list