summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2005-04-04 03:45:45 (GMT)
committerSteven Knight <knight@baldmt.com>2005-04-04 03:45:45 (GMT)
commitffec76ae5f25f15c28e4f173582e8799c89635af (patch)
tree6c9abefdc4c296ba08751937e4c785306b10c1fe
parent13dcf8c4ebad065d6296e7a3da24b21a1666a974 (diff)
downloadSCons-ffec76ae5f25f15c28e4f173582e8799c89635af.zip
SCons-ffec76ae5f25f15c28e4f173582e8799c89635af.tar.gz
SCons-ffec76ae5f25f15c28e4f173582e8799c89635af.tar.bz2
Performance optimization in the last patch: eliminate implicit_factory() entirely.
-rw-r--r--src/engine/SCons/Node/__init__.py13
1 files changed, 2 insertions, 11 deletions
diff --git a/src/engine/SCons/Node/__init__.py b/src/engine/SCons/Node/__init__.py
index bc10e21..8754c7d 100644
--- a/src/engine/SCons/Node/__init__.py
+++ b/src/engine/SCons/Node/__init__.py
@@ -417,16 +417,6 @@ class Node:
return deps
- def implicit_factory(self, path):
- """
- Turn a cache implicit dependency path into a node.
- This is called so many times that doing caching
- here is a significant performance boost.
- __cacheable__
- """
- env = self.get_build_env()
- return env.get_factory(self.builder.source_factory)(path)
-
def get_scanner(self, env, kw={}):
return env.get_scanner(self.scanner_key())
@@ -482,7 +472,8 @@ class Node:
if implicit_cache and not implicit_deps_changed:
implicit = self.get_stored_implicit()
if implicit:
- implicit = map(self.implicit_factory, implicit)
+ factory = build_env.get_factory(self.builder.source_factory)
+ implicit = map(factory, implicit)
self._add_child(self.implicit, self.implicit_dict, implicit)
calc = build_env.get_calculator()
if implicit_deps_unchanged or self.current(calc):