diff options
| author | Ulf Magnusson <ulfalizer@gmail.com> | 2017-11-01 02:02:45 +0100 |
|---|---|---|
| committer | Ulf Magnusson <ulfalizer@gmail.com> | 2017-11-01 06:04:10 +0100 |
| commit | 70a9eb0668b51934f8d79f0c037d65aeb440bcef (patch) | |
| tree | 11cd7c6bced43852446e37e7f18b4dc555f1debb /examples/allnoconfig.py | |
| parent | 49a8303ca6e73419a3e26b963f78c61c6ab26d3b (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.py | 4 |
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: # |
