summaryrefslogtreecommitdiff
path: root/.gitattributes
diff options
context:
space:
mode:
authorValentin David <valentin.david@codethink.co.uk>2020-05-28 15:34:15 +0200
committerValentin David <valentin.david@codethink.co.uk>2020-06-02 13:22:56 +0200
commita8f70a1ddbc751211eb5256bd514947b1199cf2d (patch)
treeffa4427c39b47a3c5211a4479664dd1ec1b66f6b /.gitattributes
parent2beaa288ba58fce651847d766de2112ba687a2e9 (diff)
downloadbuildstream-a8f70a1ddbc751211eb5256bd514947b1199cf2d.tar.gz
Optimize variable flatteningvalentindavid/optimize-variables
Verifying for variables (all used variables defined and no cycle) is much faster than flattening them. It also uses much less memory. Only `bst show -f "%{vars}"` requires to flatten all variables. For other cases we can improve performance by only checking rather than flattening. Also flattening very nested variables could lead to very long lists of empty strings. The memory usage for flattening could be a lot bigger than the resulting value. Force flattening and caching every variable definitions can improve intermediate memory consumption and only consume memory of the size of the result. Finally, an optimization allowed inifinite cycles leading to segmentation fault. This was solved by simplifying the code.
Diffstat (limited to '.gitattributes')
0 files changed, 0 insertions, 0 deletions