mirror of https://gitlab.com/ita1024/waf.git
Runtime improvements in Runner.py by using deques by default (python >= 2.4)
This commit is contained in:
parent
5fc835639e
commit
2f7d561cb0
|
@ -114,10 +114,10 @@ class Parallel(object):
|
|||
Instance of :py:class:`waflib.Build.BuildContext`
|
||||
"""
|
||||
|
||||
self.outstanding = []
|
||||
self.outstanding = Utils.deque()
|
||||
"""List of :py:class:`waflib.Task.TaskBase` that may be ready to be executed"""
|
||||
|
||||
self.frozen = []
|
||||
self.frozen = Utils.deque()
|
||||
"""List of :py:class:`waflib.Task.TaskBase` that cannot be executed immediately"""
|
||||
|
||||
self.out = Queue(0)
|
||||
|
@ -149,7 +149,7 @@ class Parallel(object):
|
|||
"""
|
||||
if not self.outstanding:
|
||||
return None
|
||||
return self.outstanding.pop(0)
|
||||
return self.outstanding.popleft()
|
||||
|
||||
def postpone(self, tsk):
|
||||
"""
|
||||
|
@ -159,7 +159,7 @@ class Parallel(object):
|
|||
:type tsk: :py:class:`waflib.Task.TaskBase`
|
||||
"""
|
||||
if random.randint(0, 1):
|
||||
self.frozen.insert(0, tsk)
|
||||
self.frozen.appendleft(tsk)
|
||||
else:
|
||||
self.frozen.append(tsk)
|
||||
|
||||
|
@ -193,7 +193,7 @@ class Parallel(object):
|
|||
|
||||
if self.frozen:
|
||||
self.outstanding += self.frozen
|
||||
self.frozen = []
|
||||
self.frozen = Utils.deque()
|
||||
elif not self.count:
|
||||
self.outstanding.extend(next(self.biter))
|
||||
self.total = self.bld.total()
|
||||
|
|
|
@ -19,6 +19,8 @@ except ImportError:
|
|||
"""A deque for Python 2.3 which does not have one"""
|
||||
def popleft(self):
|
||||
return self.pop(0)
|
||||
def appendleft(self, x):
|
||||
sefl.insert(0, x)
|
||||
try:
|
||||
import _winreg as winreg
|
||||
except ImportError:
|
||||
|
|
Loading…
Reference in New Issue