rust-lang / rust-lang/rustc_codegen_cranelift
Tracking issue for linker performance
Open
Nobody has claimed this yet.
compile-time
- Dominant language
- Rust
- Stars
- 2.1k
- Forks
- 157
- Avg merge
- 1d 19h
- Merged PRs (30d)
- 3
Description
cg_llvm
simple-raytracer $ for i in 0 1 2 3 4 5 6 7 8 9; do rm -r target/debug/{deps/libraytracer-*,incremental}; cargo rustc --bin main -- -Ztime-passes 2>/dev/null | grep linking; done
time: 0.792; rss: 202MB linking
time: 0.789; rss: 202MB linking
time: 0.793; rss: 202MB linking
time: 0.789; rss: 203MB linking
time: 0.795; rss: 202MB linking
time: 0.788; rss: 203MB linking
time: 0.786; rss: 206MB linking
time: 0.796; rss: 204MB linking
time: 0.790; rss: 201MB linking
time: 0.795; rss: 203MB linking
cg_clif
simple-raytracer $ for i in 0 1 2 3 4 5 6 7 8 9; do rm -r target/x86_64-unknown-linux-gnu/debug/{deps/libraytracer-*,incremental}; CHANNEL=release ../cargo.sh rustc --bin main -- -Ztime-passes 2>/dev/null | grep linking; done
time: 0.923; rss: 150MB linking
time: 0.924; rss: 150MB linking
time: 0.915; rss: 151MB linking
time: 0.925; rss: 151MB linking
time: 0.915; rss: 152MB linking
time: 0.920; rss: 151MB linking
time: 0.923; rss: 150MB linking
time: 0.913; rss: 150MB linking
time: 0.922; rss: 150MB linking
time: 0.922; rss: 151MB linking
The linker is responsible for more than half of the compilation time of simple-raytracer's lib and bin combined when using cg_clif.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by running the simple-raytracer benchmark commands shown for cg_llvm and cg_clif, and compare the reported linking times and memory use. No source files or tests are identified; done would require locating the relevant linker path and demonstrating a measurable improvement in the linking portion of compilation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- compilers, performance
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100