Improve scheduler performance with fewer calls to updateState
Building on !869 (merged)
Now that all schedule-able algorithms can be queued, there's no reason to call updateState() so many times. The PrecedenceSvc iterate() method can be called directly from promoteToExecuted(), and then updateState() need only be called when new algorithms need scheduling.
Again using the scheduler profiling test in !865 (merged) , you can see another significant performance improvement from this change:
Here comparing with !869 (merged) (queue) and Gaudi master.
I can't help noting that this is an MR on top of another unmerged MR, using a test from another unmerged MR...
Edited by Benjamin Michael Wynne