summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/Taskmaster.py
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2002-03-21 07:16:35 (GMT)
committerSteven Knight <knight@baldmt.com>2002-03-21 07:16:35 (GMT)
commitbb8376994ade0355161d82068d420dee2ff4bec3 (patch)
tree52483cef02bf7c5e55947bf1cb6ae60dfb51b875 /src/engine/SCons/Taskmaster.py
parenta9272652019c6d0cad2f20737e210f820ec9394d (diff)
downloadSCons-bb8376994ade0355161d82068d420dee2ff4bec3.zip
SCons-bb8376994ade0355161d82068d420dee2ff4bec3.tar.gz
SCons-bb8376994ade0355161d82068d420dee2ff4bec3.tar.bz2
Speed up SCons.Sig.Calculator.bsig() (second most time-consuming function) by 6%-12% by using the new Walker eval_func argument.
Diffstat (limited to 'src/engine/SCons/Taskmaster.py')
-rw-r--r--src/engine/SCons/Taskmaster.py8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/engine/SCons/Taskmaster.py b/src/engine/SCons/Taskmaster.py
index 404355e..c97d28c 100644
--- a/src/engine/SCons/Taskmaster.py
+++ b/src/engine/SCons/Taskmaster.py
@@ -117,11 +117,11 @@ class Task:
nodes = {}
for t in self.targets:
def get_parents(node, parent): return node.get_parents()
- walker = SCons.Node.Walker(t, get_parents)
- while 1:
+ def set_nodes(node, parent, nodes=nodes): nodes[node] = 1
+ walker = SCons.Node.Walker(t, get_parents, eval_func=set_nodes)
+ n = walker.next()
+ while n:
n = walker.next()
- if n == None: break
- nodes[n] = 1
pending = filter(lambda x: x.get_state() == SCons.Node.pending,
nodes.keys())
tasks = {}