]> code.ossystems Code Review - openembedded-core.git/commit
sstate.bbclass: Optimize the generation and install path fixups
authorMark Hatle <mark.hatle@windriver.com>
Fri, 11 May 2012 17:17:54 +0000 (12:17 -0500)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 15 May 2012 18:05:54 +0000 (19:05 +0100)
commit46067264bedeff8248a2b2441733420fe6651f84
treeb28cdf10568787f4f1b63c5dd841d99a1bd360cf
parent8d49d92fc2e581820e410c6a4dceb30911d949e0
sstate.bbclass: Optimize the generation and install path fixups

The fixmepath file that is generated contains a list of all of the files
that need their paths fixed.  In the previous version the fixmepath was
generated to include all of the files that sed may have changed.  In the
new version, we first grep the files to see if they contain a path that
needs to be changed, only then do we perform the sed operation on those files.

This results in a modest performance increate in the creation of the sstate
file.  The following numbers include the do_package and do_populate_sysroot
tasks on the perl recipe.

Before the change:
real    4m23.018s
user    1m57.067s
sys     1m33.327s

After the change:
real    4m13.083s
user    1m54.062s
sys     1m26.064s

However, a more significnt performance gain is felt during the
extraction/install of sstate cache files, as the fixmepaths file now has a
significantly smaller list of files to modify.

Before the change:
real    0m39.798s
user    0m11.158s
sys     0m12.642s

After the change:
real    0m25.511s
user    0m8.408s
sys     0m5.077s

(All numbers above were recorded with a cold filesystem cache on a machine
with 12 GB of ram.)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/sstate.bbclass