summaryrefslogtreecommitdiffstats
path: root/misc
diff options
context:
space:
mode:
authorDaniel Bratell <bratell@opera.com>2014-04-14 11:52:02 (GMT)
committerDaniel Bratell <bratell@opera.com>2014-04-14 11:52:02 (GMT)
commitcc533ecb298191eceb95a4edf8f1f6ac110e1f07 (patch)
tree48e92076f1331866b95fc06a4c347c67f471da90 /misc
parent6ecfd261701511ce71dbb7e1b7938e6007084f88 (diff)
downloadNinja-cc533ecb298191eceb95a4edf8f1f6ac110e1f07.zip
Ninja-cc533ecb298191eceb95a4edf8f1f6ac110e1f07.tar.gz
Ninja-cc533ecb298191eceb95a4edf8f1f6ac110e1f07.tar.bz2
performance: Writer.build should copy less.
The build method copies the input lists several times. That cost about 0.1s in the gyp generation for the Chromium project for no gain.
Diffstat (limited to 'misc')
-rw-r--r--misc/ninja_syntax.py9
1 files changed, 4 insertions, 5 deletions
diff --git a/misc/ninja_syntax.py b/misc/ninja_syntax.py
index d69e3e4..4b9b547 100644
--- a/misc/ninja_syntax.py
+++ b/misc/ninja_syntax.py
@@ -61,16 +61,15 @@ class Writer(object):
def build(self, outputs, rule, inputs=None, implicit=None, order_only=None,
variables=None):
outputs = self._as_list(outputs)
- all_inputs = self._as_list(inputs)[:]
- out_outputs = list(map(escape_path, outputs))
- all_inputs = list(map(escape_path, all_inputs))
+ out_outputs = [escape_path(x) for x in outputs]
+ all_inputs = [escape_path(x) for x in self._as_list(inputs)]
if implicit:
- implicit = map(escape_path, self._as_list(implicit))
+ implicit = [escape_path(x) for x in self._as_list(implicit)]
all_inputs.append('|')
all_inputs.extend(implicit)
if order_only:
- order_only = map(escape_path, self._as_list(order_only))
+ order_only = [escape_path(x) for x in self._as_list(order_only)]
all_inputs.append('||')
all_inputs.extend(order_only)