File tree Expand file tree Collapse file tree 1 file changed +4
-6
lines changed Expand file tree Collapse file tree 1 file changed +4
-6
lines changed Original file line number Diff line number Diff line change @@ -15,15 +15,13 @@ future.
1515## Background
1616
1717When building a Rust library crate, the compiler generates compiled code for as
18- much of the crate as it can[ ^ 1 ] , which
19- gets linked into later crates into the dependency graph. However, some crates
20- provide comprehensive APIs with a very large surface area, yet many of their
21- users need only a few entry points. In such cases, the compiler currently
18+ much of the crate as it can (everything that isn't generic and isn't inlined),
19+ which gets linked into later crates into the dependency graph. However, some
20+ crates provide comprehensive APIs with a very large surface area, yet many of
21+ their users need only a few entry points. In such cases, the compiler currently
2222spends time generating code for the entire crate, and the linker then ends up
2323throwing most of that code away as unused.
2424
25- [ ^ 1 ] : Roughly, everything that isn't generic and isn't inlined.
26-
2725This can waste a substantial amount of compile time. Some large crates can take
2826minutes to compile, and when you use these large crates as dependencies, they
2927can take a disproportionate amount of the entire compilation time of your
You can’t perform that action at this time.
0 commit comments