diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2019-12-13 16:07:28 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2019-12-16 23:27:14 +0000 |
commit | 884463c8d1518d6bf1884e9526b4a50384290fe7 (patch) | |
tree | 538be6559af8c48b67d406a2c937f523ef139d25 /bitbake/lib/bb/runqueue.py | |
parent | 73896a7a0e0b7fa1c6ee8a72940aefdba641ea5e (diff) | |
download | poky-884463c8d1518d6bf1884e9526b4a50384290fe7.tar.gz |
bitbake: siggen: Split get_tashhash for performance
There are two operations happening in get_taskhash, the building of the
underlying data and the calculation of the hash.
Split these into two funtions since the preparation part doesn't need
to rerun when unihash changes, only the calculation does.
This split allows sigificant performance improvements for hashequiv
in builds where many hashes are equivalent and many hashes are changing.
(Bitbake rev: 6a32af2808d748819f4af55c443578c8a63062b3)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb/runqueue.py')
-rw-r--r-- | bitbake/lib/bb/runqueue.py | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py index b3648ddb54..515e9d4314 100644 --- a/bitbake/lib/bb/runqueue.py +++ b/bitbake/lib/bb/runqueue.py | |||
@@ -1185,6 +1185,7 @@ class RunQueueData: | |||
1185 | procdep = [] | 1185 | procdep = [] |
1186 | for dep in self.runtaskentries[tid].depends: | 1186 | for dep in self.runtaskentries[tid].depends: |
1187 | procdep.append(dep) | 1187 | procdep.append(dep) |
1188 | bb.parse.siggen.prep_taskhash(tid, procdep, self.dataCaches[mc_from_tid(tid)]) | ||
1188 | self.runtaskentries[tid].hash = bb.parse.siggen.get_taskhash(tid, procdep, self.dataCaches[mc_from_tid(tid)]) | 1189 | self.runtaskentries[tid].hash = bb.parse.siggen.get_taskhash(tid, procdep, self.dataCaches[mc_from_tid(tid)]) |
1189 | self.runtaskentries[tid].unihash = bb.parse.siggen.get_unihash(tid) | 1190 | self.runtaskentries[tid].unihash = bb.parse.siggen.get_unihash(tid) |
1190 | 1191 | ||