aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/compilers/cuda.py
diff options
context:
space:
mode:
authorMarcel Hollerbach <mail@marcel-hollerbach.de>2020-05-12 10:26:21 +0200
committerMarcel Hollerbach <mail@marcel-hollerbach.de>2020-06-05 09:21:23 +0200
commit032ab3606d7bbb4b40da7871f6193be0dee126a8 (patch)
tree2595cf49293c4dd7261b3ba63702139778f46d00 /mesonbuild/compilers/cuda.py
parentba8e838dcffa2b7a82afc9a75afae8a2c27d8883 (diff)
downloadmeson-032ab3606d7bbb4b40da7871f6193be0dee126a8.zip
meson-032ab3606d7bbb4b40da7871f6193be0dee126a8.tar.gz
meson-032ab3606d7bbb4b40da7871f6193be0dee126a8.tar.bz2
CompilerArgs: refactor __iadd__
the previous optimizations from 4524088d386d2e2315d8fef6ffedc11d8e9a394a were not relaly good, and not really scaleable, since only the lookup was improved. However, the really heavy calls to remove have not been improved. With this commit we are refactoring CompilerArgs into a data structure which does not use remove at all. This works that we are building a pre and post list, which gets flushed into __container at some point. However, we build pre and post by deduplicating forward. Later on, when we are flushing pre and post into __container, we are deduplicating backwards the list, so we are not changing behaviour here. This overall cuts off 10s of the efl configuration time. Further more this improves configure times on arm devices a lot more, since remove does seem to be a lot slower there. In general this results in the fact that __iadd__ is not within the top 5 of costly functions in generate_single_complie.
Diffstat (limited to 'mesonbuild/compilers/cuda.py')
0 files changed, 0 insertions, 0 deletions