bazelbuild / bazelbuild/bazel

cache_computed_file_digests is a useful performance option that should be documented

Open
#14,401 12 comments 1 reaction 0 assignees View on GitHub
not stale P3 team-Documentation team-Performance type: documentation (cleanup)
Dominant language
Java
Stars
25.8k
Forks
4.6k
Avg merge
2d 20h
Merged PRs (30d)
72

Description

### Description of the problem / feature request:

`cache_computed_file_digests` is a useful performance option that should be documented.

### Feature requests: what underlying problem are you trying to solve with this feature?

This option is useful for improving incremental build speed on large codebases.

### Bugs: what's the simplest, easiest way to reproduce this bug? Please provide a minimal example if possible.

Immediately following a full build, do a no-op incremental build on our codebase containing ~400,000 input files. It takes about 15 minutes.

Immediately following a full build, do a no-op incremental build with `--cache_computed_file_digests=400000`. It takes about 15 _seconds._

### What operating system are you running Bazel on?

Windows 10

### What's the output of `bazel info release`?

```
Starting local Bazel server and connecting to it...
release 4.2.1
```

### If `bazel info release` returns "development version" or "(@non-git)", tell us how you built Bazel.

n/a

### What's the output of `git remote get-url origin ; git rev-parse master ; git rev-parse HEAD` ?

`fatal: not a git repository (or any of the parent directories): .git`

Our codebase is stored in a company-internal Perforce server, not in Git.

### Have you found anything relevant by searching the web?

No.

### Any other information, logs, or outputs that you want to share?

n/a

Contributor guide

Open the contributing guide

Research direction

Search the Bazel repository and documentation for `cache_computed_file_digests` and identify where command-line options are described. Document its effect on no-op incremental builds, including the large-codebase example from this issue, and consider the supported usage and limits. Done means users can find the option and understand when it helps.

Written by the indexing model from the issue text.

Assessment

Domain
build-system, documentation
Issue type
Documentation
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.