diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2022-11-17 11:09:53 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2022-12-21 14:15:26 +0000 |
commit | 7d010055e2af3294e17db862f42664ca689a9356 (patch) | |
tree | 73e522b98f5c6aac0e1782e474af96e5959ea924 /bitbake/lib/bb/cooker.py | |
parent | 26f255da09e0f704af3d1535d3f8c5cd8b702a73 (diff) | |
download | poky-7d010055e2af3294e17db862f42664ca689a9356.tar.gz |
bitbake: cache: Allow compression of the data in SiggenRecipeInfo
The data in SiggenRecipeInfo is large and has a lot of duplication. The size
causes a few problems, impacting:
- bitbake's overall memory usage
- the amount of data sent over IPC between parsing processes and the server
- the size of the cache files on disk
- the size of "sigdata" hash information files on disk
The data consists of strings (some large) or frozenset lists of variables.
To reduce the impact we can:
a) deplicate the data
b) pass references to the object on the second usage
(e.g. over IPC or saving into pickle).
This patch does this for SiggenRecipeInfo mostly behind the scenes
but we do need a couple of reset points so that streamed data is written
correctly on the second usage.
(Bitbake rev: 9a2b13af483c20763d6559a823310954884f6ab1)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb/cooker.py')
-rw-r--r-- | bitbake/lib/bb/cooker.py | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py index d96afcc669..48c3002ce3 100644 --- a/bitbake/lib/bb/cooker.py +++ b/bitbake/lib/bb/cooker.py | |||
@@ -2263,6 +2263,7 @@ class CookerParser(object): | |||
2263 | 2263 | ||
2264 | 2264 | ||
2265 | bb.codeparser.parser_cache_savemerge() | 2265 | bb.codeparser.parser_cache_savemerge() |
2266 | bb.cache.SiggenRecipeInfo.reset() | ||
2266 | bb.fetch.fetcher_parse_done() | 2267 | bb.fetch.fetcher_parse_done() |
2267 | if self.cooker.configuration.profile: | 2268 | if self.cooker.configuration.profile: |
2268 | profiles = [] | 2269 | profiles = [] |