diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2019-12-11 23:11:50 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2019-12-12 13:07:44 +0000 |
commit | c4b8440f730c33eaf9f818b856ae81b2f1017fec (patch) | |
tree | ed3aff6329bac02c52fdaa13c08dc5c9c2133206 /bin/bitbake-hashclient | |
parent | db033a8f8a276d864bdb2e1eef159ab5794a0658 (diff) | |
download | bitbake-c4b8440f730c33eaf9f818b856ae81b2f1017fec.tar.gz |
siggen: Fix hashequiv performance issues
We're seeing huge slowdowns on large builds on the autobuilder. A qemux86 world
build was running really slowly, a primary feature was lots of rehashing going on
due to an sstate change which caused a rebuild when all output should be identical.
This was traced to the hundreds of thousands of calls to get_unihash() from
get_taskash(). If we simplify the unitaskhashes data structure, we can bypass
the function call and access the data directly. In local profile charts,
this significanly sped up process_possible_migrations(), both on profiles
and visually.
Whilst this change doesn't aid readability, it does solve an otherwise
huge performance issue.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bin/bitbake-hashclient')
0 files changed, 0 insertions, 0 deletions