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.
15
15
## Background
16
16
17
17
When 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
22
22
spends time generating code for the entire crate, and the linker then ends up
23
23
throwing most of that code away as unused.
24
24
25
- [ ^ 1 ] : Roughly, everything that isn't generic and isn't inlined.
26
-
27
25
This can waste a substantial amount of compile time. Some large crates can take
28
26
minutes to compile, and when you use these large crates as dependencies, they
29
27
can take a disproportionate amount of the entire compilation time of your
You can’t perform that action at this time.
0 commit comments