Skip to content

Add experimental_rustc_incremental flag#18

Open
walter-zeromatter wants to merge 2 commits intohermeticbuild:mainfrom
walter-zeromatter:user/wgray/incremental
Open

Add experimental_rustc_incremental flag#18
walter-zeromatter wants to merge 2 commits intohermeticbuild:mainfrom
walter-zeromatter:user/wgray/incremental

Conversation

@walter-zeromatter
Copy link
Copy Markdown

Inject -Cincremental=<output_base>/.rustc_incremental_cache/... into rustc via process_wrapper when the new //rust/settings:experimental_rustc_incremental flag is set.

Non-hermetic and local-only by design. The setting docstring documents the required --strategy=Rustc=local,
--strategy=RustcMetadata=local, and --remote_upload_local_results=false recipe, plus the codegen-units runtime-perf caveat.

Local benchmarking shows warm incremental rebuilds working & performing on-par with cargo

Inject -Cincremental=<output_base>/.rustc_incremental_cache/...
into rustc via process_wrapper when the new
//rust/settings:experimental_rustc_incremental flag is set. Cache
is keyed on rustc path, target, crate name, edition, action kind
(full vs hollow-metadata), and a stable hash of compilation-
relevant flags; argfiles are expanded at key-compute time so the
values survive Bazel's param-file rewrite.

Non-hermetic and local-only by design. The setting docstring
documents the required --strategy=Rustc=local,
--strategy=RustcMetadata=local, and
--remote_upload_local_results=false recipe, plus the
codegen-units runtime-perf caveat.

Local benchmarking shows warm incremental rebuilds working & performing
on-par with cargo
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant