What problem does it solve?
Helps developers and CI engineers diagnose and reduce slow Rust compilation and linking times by identifying crate-level bottlenecks, inefficient linker choices, and suboptimal build configurations.
Core Features & Use Cases
- Profiling with cargo-timings: Generate and interpret timing reports to find long sequential chains, slow crates, and proc-macro blockers.
- Compilation caching with sccache: Configure sccache as the rustc wrapper for local development and CI to reuse previous compilations.
- Faster dev codegen with Cranelift: Use the Cranelift backend for much faster development builds while keeping LLVM for release builds.
- Workspace splitting and parallelism: Restructure monolithic crates into workspace members to increase parallel compilation.
- LTO and codegen tuning: Balance thin LTO, fat LTO, and codegen-units for tradeoffs between link time and runtime performance.
- Fast linkers: Recommend mold, lld, or cargo-zigbuild to dramatically reduce link time on large projects.
- Quick example: For a CI-heavy repository, combine sccache, workspace splitting, and lto thin in release to minimize rebuilds while retaining good runtime performance.
Quick Start
Run cargo build --timings and open the generated timing HTML report to identify the slow crates and linking bottlenecks.