From cd6b89230823707c3c9bb9e6883bf5a971916581 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Thu, 26 Sep 2019 14:37:01 +0100 Subject: 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 --- lib/bb/runqueue.py | 2 ++ 1 file changed, 2 insertions(+) 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) -- cgit 1.2.3-korg