aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2019-09-26 14:37:01 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2019-09-27 13:31:12 +0100
commitcd6b89230823707c3c9bb9e6883bf5a971916581 (patch)
tree16c44d3044527bb5904c19c3531f8fe88033b7ca
parent9eee0d36870c11dd303894a6151c33a83bd3a1bc (diff)
downloadbitbake-cd6b89230823707c3c9bb9e6883bf5a971916581.tar.gz
runqueue: Small performance optimisation
A minor performance optmisation to keep lists smaller when running large builds. We can do this since once a task has been built, we don't need to worry about it. This improves a major bottleneck that shows up on performance profile charts in dryruns. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--lib/bb/runqueue.py2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/bb/runqueue.py b/lib/bb/runqueue.py
index 31de3ed1c..18049436f 100644
--- a/lib/bb/runqueue.py
+++ b/lib/bb/runqueue.py
@@ -207,6 +207,8 @@ class RunQueueScheduler(object):
def newbuildable(self, task):
self.buildable.add(task)
+ # Once tasks are running we don't need to worry about them again
+ self.buildable.difference_update(self.rq.runq_running)
def removebuildable(self, task):
self.buildable.remove(task)