summaryrefslogtreecommitdiff
path: root/buildstream/_loader/loadelement.py
Commit message (Collapse)AuthorAgeFilesLines
* loadelement.py: Switch from roaringbitmap to pyroaringDaniel Silverstone2019-02-061-3/+3
| | | | | | | | The licence for roaringbitmap was not compatible. pyroaring is a similar project which is MIT licensed and is slightly better on memory too. Signed-off-by: Daniel Silverstone <daniel.silverstone@codethink.co.uk>
* loadelement.py: Use roaring bitmaps in dep cacheDaniel Silverstone2019-02-051-3/+12
| | | | | | | | | | | The dependency cache in LoadElement causes the peak RAM consumption of the loader to be exceedingly large, upwards of 25GB for a test of a Debian stack. By switching from the old dict cache to a roaring bitmap based cache, we reduce the cost of the loader cache in RAM terms to around 5.5GB for the same stack, which makes it plausible for the short term. Signed-off-by: Daniel Silverstone <daniel.silverstone@codethink.co.uk>
* Add LoadElement in dependency list for LoadElement idrectlyBenjamin Schubert2019-01-311-4/+21
| | | | | | This removes the need for the 'Dependency' list to then be matched with the corresponding LoadElement and will allow iterating the graph more easily
* _loader/loadelement.py: Use enumerate() in dependency extractiondanielsilverstone-ct/use-enumerateDaniel Silverstone2018-10-261-5/+3
| | | | | | | | | In cases where elements end up with large numbers of dependencies, the n-squared performance in `_extract_depends_from_node` can produce significant delays during project load. This patch corrects that. In addition we were double-retrieving provenance which was unnecessary. Signed-off-by: Daniel Silverstone <daniel.silverstone@codethink.co.uk>
* Fix python warnings: Use collections.abc instead collectionsjjardon/warnings_collectionsJavier Jardón2018-10-181-1/+1
| | | | | | | | Since python 3.3, collections has been moved to collections.abc module. For backwards compatibility, they continue to be visible in this module through Python 3.7. Subsequently, they will be removed entirely. See https://docs.python.org/3/library/collections.html
* loader: Add 'build-depends' and 'runtime-depends' fields to elementsJonathan Maw2018-08-141-18/+37
|
* Remove shebangs from python filesGökçen Nurlu2018-06-191-1/+0
| | | | Fixes #424
* _loader package: Splitting up the loader code into separate piecesTristan Van Berkom2018-04-171-0/+172
This also refactors the loader code to honor private symbol naming policy. This is a part of issue #285