[bitbake-devel] bitbake-worker: Drop BBHASH variables

Submitted by Richard Purdie on April 13, 2014, 10:49 a.m.

Details

Message ID 1397386185.15843.51.camel@ted
State New
Headers show

Commit Message

Richard Purdie April 13, 2014, 10:49 a.m.
Iterating through and calling setVar on this number of variables has significant
overhead in the profiling data. By not setting this, we save 3,000 calls
to setVar which gives a noticeable improvement to the speed of task execution.

The BBHASH variables have since been replaced by accessing that data through
the siggen code and going forward, that is the preferred way work with it.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---

Patch hide | download patch | download mbox

diff --git a/bitbake/bin/bitbake-worker b/bitbake/bin/bitbake-worker
index 68e2bf4..05e0cf6 100755
--- a/bitbake/bin/bitbake-worker
+++ b/bitbake/bin/bitbake-worker
@@ -159,10 +159,6 @@  def fork_off_task(cfg, data, workerdata, fn, task, taskname, appends, taskdepdat
             try:
                 the_data = bb.cache.Cache.loadDataFull(fn, appends, data)
                 the_data.setVar('BB_TASKHASH', workerdata["runq_hash"][task])
-                for h in workerdata["hashes"]:
-                    the_data.setVar("BBHASH_%s" % h, workerdata["hashes"][h])
-                for h in workerdata["hash_deps"]:
-                    the_data.setVar("BBHASHDEPS_%s" % h, workerdata["hash_deps"][h])
 
                 # exported_vars() returns a generator which *cannot* be passed to os.environ.update() 
                 # successfully. We also need to unset anything from the environment which shouldn't be there