bazelbuild / bazelbuild/bazel

Bazel 9's no-op builds now take 3.5s

Open
#28,373 14 comments 0 reactions 0 assignees View on GitHub
team-ExternalDeps type: bug under investigation
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.