diff options
author | Daniel Bratell <bratell@opera.com> | 2014-04-14 11:52:02 (GMT) |
---|---|---|
committer | Daniel Bratell <bratell@opera.com> | 2014-04-14 11:52:02 (GMT) |
commit | cc533ecb298191eceb95a4edf8f1f6ac110e1f07 (patch) | |
tree | 48e92076f1331866b95fc06a4c347c67f471da90 /misc | |
parent | 6ecfd261701511ce71dbb7e1b7938e6007084f88 (diff) | |
download | Ninja-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.py | 9 |
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) |