Wasteful duplication between incremental build dirs and normal artifacts. #70823
Labels
A-incr-comp
Area: Incremental compilation
C-enhancement
Category: An issue proposing an enhancement or a PR with one.
I-heavy
Issue: Problems and improvements with respect to binary size of generated code.
T-compiler
Relevant to the compiler team, which will review and decide on the PR/issue.
Incremental compilation reuses object files by storing a copy of them in the incremental cache directory, which is then copied into the
rlib
.This results to build dirs which are twice as big as they need to be (which then gets multiplied by the number of stale artifacts that aren't removed by any tool AFAICT).
There are several ways we could resolve this, but they can be split into two categories:
rustc
to emit object files but only in the incremental cache and then downstreamrustc
to use that incremental cacherlib
s as the same time as the new system and we might unknowingly break them if Cargo doesn't use themrlib
doesn't have to be a real archive, we could have a different format that references the files in the incremental cache, or even make therlib
a directory full of hardlinks, or a hardlink itself etc.rlib
artifact holds the object filescc @rust-lang/compiler
The text was updated successfully, but these errors were encountered: