summaryrefslogtreecommitdiff
path: root/examples/allnoconfig.py
diff options
context:
space:
mode:
authorUlf Magnusson <ulfalizer@gmail.com>2017-11-01 02:02:45 +0100
committerUlf Magnusson <ulfalizer@gmail.com>2017-11-01 06:04:10 +0100
commit70a9eb0668b51934f8d79f0c037d65aeb440bcef (patch)
tree11cd7c6bced43852446e37e7f18b4dc555f1debb /examples/allnoconfig.py
parent49a8303ca6e73419a3e26b963f78c61c6ab26d3b (diff)
Switch to a much faster invalidation algorithm
_cached_vis is always calculated as a side effect of calculating any other cached value, and so doubles as a flag for whether an item (symbol or choice) has any cached values. If _cached_vis is None for some item, it also indirectly means that no other item can have any cached values that (actually) depend on the item, because _cached_vis would have gotten calculated as a side effect of calculating any such cached value. Therefore, it's safe to stop recursive invalidation at an item that has _cached_vis None. Huge speedup for the allyes/noconfig*.py scripts. allnoconfig_simpler.py went from 2.671 seconds to 1.067 seconds. The dependency selftests need to be updated too now that _get_dependent() is gone. The kernel defconfig tests pass even if all global invalidation is disabled at least (except for the few defconfigs that don't set MODULES=y), and that's a huge invalidation test. Seems pretty speedy too, even though there's some redundant work, so maybe things could be simplified a bit...
Diffstat (limited to 'examples/allnoconfig.py')
-rw-r--r--examples/allnoconfig.py4
1 files changed, 2 insertions, 2 deletions
diff --git a/examples/allnoconfig.py b/examples/allnoconfig.py
index be36b47..3b7fd31 100644
--- a/examples/allnoconfig.py
+++ b/examples/allnoconfig.py
@@ -1,8 +1,8 @@
# Works like 'make allnoconfig'. Verified by the test suite to generate
# identical output to 'make allnoconfig' for all ARCHes.
#
-# See allnoconfig_simpler.py for a much simpler version. This version
-# demonstrates some tree walking and value processing.
+# See allnoconfig_simpler.py for a much simpler version. This more roundabout
+# version demonstrates some tree walking and value processing.
#
# Usage:
#