Bazel 9's no-op builds now take 3.5s
- Dominant language
- Java
- Stars
- 25.8k
- Forks
- 4.6k
- Avg merge
- 2d 20h
- Merged PRs (30d)
- 72
Description
### Description of the bug:
Previously, on Bazel 8.5.1, my no-op builds (as executed repeatedly and locally) would take about 500 milliseconds. Now, under Bazel 9, they take 3.5 seconds. Eyeballing the UI, most of the time is taken "checking cached actions", but when looking at the profile, I see a mix of delays, which vary per build. Sometimes it's `doExtendLeases` / `findMissingDigests`, other times it's `BazelWorkspaceStatusAction stable-status.txt` / `Action execute` / `actuallyCompleteAction` / `outputService.finalizeAction`. The common denomentator is slowness. My builds use remote execution and caching, but appears to repro. without those features (which makes sense, as everything should be cached locally).
Contributor guide
Research direction
Reproduce repeated no-op builds under Bazel 8.5.1 and Bazel 9, with and without remote execution and caching, then compare profiles. Start with the reported UI phase and operations such as checking cached actions, doExtendLeases, findMissingDigests, and outputService.finalizeAction. Done means the Bazel 9 regression is isolated and the no-op build time is validated after the fix.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- build-system, performance
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 45/100