summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/Node/__init__.py
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2005-03-05 15:50:59 (GMT)
committerSteven Knight <knight@baldmt.com>2005-03-05 15:50:59 (GMT)
commitf7230b12d84220342c2671276beec9a9d590ce22 (patch)
treeb79cffeaf872e0fe23c37fd6dd0b670e8e14e953 /src/engine/SCons/Node/__init__.py
parent81e49da9da4df0dab0041dbc2d499048f38ed4f4 (diff)
downloadSCons-f7230b12d84220342c2671276beec9a9d590ce22.zip
SCons-f7230b12d84220342c2671276beec9a9d590ce22.tar.gz
SCons-f7230b12d84220342c2671276beec9a9d590ce22.tar.bz2
Reduce gen_binfo() time for very long source lists.
Diffstat (limited to 'src/engine/SCons/Node/__init__.py')
-rw-r--r--src/engine/SCons/Node/__init__.py6
1 files changed, 2 insertions, 4 deletions
diff --git a/src/engine/SCons/Node/__init__.py b/src/engine/SCons/Node/__init__.py
index 825e132..9c15659 100644
--- a/src/engine/SCons/Node/__init__.py
+++ b/src/engine/SCons/Node/__init__.py
@@ -578,18 +578,16 @@ class Node:
executor = self.get_executor()
- sourcelist = executor.get_source_binfo(calc)
+ sourcelist, sourcesigs, bsources = executor.get_source_binfo(calc, self.ignore)
depends = self.depends
implicit = self.implicit or []
if self.ignore:
- sourcelist = filter(lambda t, s=self: s.do_not_ignore(t[0]), sourcelist)
depends = filter(self.do_not_ignore, depends)
implicit = filter(self.do_not_ignore, implicit)
def calc_signature(node, calc=calc):
return node.calc_signature(calc)
- sourcesigs = map(lambda t: t[1], sourcelist)
dependsigs = map(calc_signature, depends)
implicitsigs = map(calc_signature, implicit)
@@ -600,7 +598,7 @@ class Node:
binfo.bactsig = calc.module.signature(executor)
sigs.append(binfo.bactsig)
- binfo.bsources = map(lambda t: t[2], sourcelist)
+ binfo.bsources = bsources
binfo.bdepends = map(str, depends)
binfo.bimplicit = map(str, implicit)