-
Notifications
You must be signed in to change notification settings - Fork 4.1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
A build's or test's critical path run time was surpassing the executi…
…on run time, which is impossible. The root cause was that within the same critical path, multiple actions were run in parallel. Therefore the total run time is the union of all those actions instead of the aggregate (which was the original implementation). For example, there are some cases where an action's dependency can run and complete during the time it's dependent action is in its discover inputs phase. In this scenario the total run time would be the "dependent's finish - start time" rather than: "dependent's finish - start time" + "dependency's finish - start time". The solution to get the current component's aggregate run time is to 1. Get the dep's aggregate run time 2. Add the current component's run time 3. If the dep run time and current component run time intersect, remove the delta - if depFinish > currentStart then total -= depFinish - currentStart RELNOTES: Critical path run time should not have a longer run time than total execution run time. PiperOrigin-RevId: 286383098
- Loading branch information
1 parent
9c0cab4
commit db32f86
Showing
2 changed files
with
26 additions
and
18 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters