diff options
| author | Ulf Magnusson <ulfalizer@gmail.com> | 2017-11-11 10:27:48 +0100 |
|---|---|---|
| committer | Ulf Magnusson <ulfalizer@gmail.com> | 2017-11-11 10:42:23 +0100 |
| commit | d890343fda6249db5a75efae3b7fddc11f9ace4d (patch) | |
| tree | a88fb0b343686e9d7c29f6c4cdad1fa9bc882b8b | |
| parent | 9789cb3598f2b745405f8a3c5c54ee924427bb92 (diff) | |
Micro-optimize write_config() a bit
Shaves a few % in line_profiler with no loss in readability.
Menus and comments are rare relatively speaking (~10% of all items
written out for alldefconfig), so optimize for the symbol case.
| -rw-r--r-- | kconfiglib.py | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/kconfiglib.py b/kconfiglib.py index c7480bd..2a351ca 100644 --- a/kconfiglib.py +++ b/kconfiglib.py @@ -859,17 +859,17 @@ class Kconfig(object): return while 1: - if isinstance(node.item, Symbol): - sym = node.item - if not sym._written: - config_string = sym.config_string + item = node.item + if isinstance(item, Symbol): + if not item._written: + config_string = item.config_string if config_string: write(config_string) - sym._written = True + item._written = True elif expr_value(node.dep) and \ - ((node.item == MENU and expr_value(node.visibility)) or - node.item == COMMENT): + ((item == MENU and expr_value(node.visibility)) or + item == COMMENT): write("\n#\n# {}\n#\n".format(node.prompt[0])) |
