summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlf Magnusson <ulfalizer@gmail.com>2017-11-11 10:27:48 +0100
committerUlf Magnusson <ulfalizer@gmail.com>2017-11-11 10:42:23 +0100
commitd890343fda6249db5a75efae3b7fddc11f9ace4d (patch)
treea88fb0b343686e9d7c29f6c4cdad1fa9bc882b8b
parent9789cb3598f2b745405f8a3c5c54ee924427bb92 (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.py14
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]))