From ad36fb43ada8b4b31a10f6a7e1bade9f00aaa661 Mon Sep 17 00:00:00 2001 From: eldritch horrors Date: Sat, 20 Jul 2024 21:05:19 +0200 Subject: [PATCH] libstore: remove addToWeakGoals under owner_less it's equivalent to insert(), only sometimes a little bit faster because it does not construct a weak_ptr if the goal is in the set already. this small difference in performance does not matter here and c++23 will make insert transparent anyway, so we can drop it Change-Id: I7cbd7d6e0daa95d67145ec58183162f6c4743b15 --- src/libstore/build/goal.cc | 10 +--------- src/libstore/build/goal.hh | 2 -- src/libstore/build/worker.cc | 6 +++--- 3 files changed, 4 insertions(+), 14 deletions(-) diff --git a/src/libstore/build/goal.cc b/src/libstore/build/goal.cc index 2704fc6ab..8f190cede 100644 --- a/src/libstore/build/goal.cc +++ b/src/libstore/build/goal.cc @@ -34,18 +34,10 @@ BuildResult Goal::getBuildResult(const DerivedPath & req) const { } -void addToWeakGoals(WeakGoals & goals, GoalPtr p) -{ - if (goals.find(p) != goals.end()) - return; - goals.insert(p); -} - - void Goal::addWaitee(GoalPtr waitee) { waitees.insert(waitee); - addToWeakGoals(waitee->waiters, shared_from_this()); + waitee->waiters.insert(shared_from_this()); } diff --git a/src/libstore/build/goal.hh b/src/libstore/build/goal.hh index 058c8add8..930fe90da 100644 --- a/src/libstore/build/goal.hh +++ b/src/libstore/build/goal.hh @@ -175,6 +175,4 @@ public: virtual JobCategory jobCategory() const = 0; }; -void addToWeakGoals(WeakGoals & goals, GoalPtr p); - } diff --git a/src/libstore/build/worker.cc b/src/libstore/build/worker.cc index f1f024ff6..873993e0d 100644 --- a/src/libstore/build/worker.cc +++ b/src/libstore/build/worker.cc @@ -163,7 +163,7 @@ void Worker::removeGoal(GoalPtr goal) void Worker::wakeUp(GoalPtr goal) { goal->trace("woken up"); - addToWeakGoals(awake, goal); + awake.insert(goal); } @@ -249,14 +249,14 @@ void Worker::waitForBuildSlot(GoalPtr goal) (isSubstitutionGoal && getNrSubstitutions() < settings.maxSubstitutionJobs)) wakeUp(goal); /* we can do it right away */ else - addToWeakGoals(wantingToBuild, goal); + wantingToBuild.insert(goal); } void Worker::waitForAWhile(GoalPtr goal) { debug("wait for a while"); - addToWeakGoals(waitingForAWhile, goal); + waitingForAWhile.insert(goal); }