在 Rust 工作空間中,可以通過以下方法來減少編譯時間:
Cargo.toml
文件中的 [profile]
部分包含 incremental = true
配置。[profile.dev]
incremental = true
Cargo.toml
文件中的 codegen-units
配置來增加 CGUs 的數量。[profile.dev]
codegen-units = 16
Cargo.toml
文件中的 [profile]
部分啟用薄LTO。[profile.release]
lto = "thin"
RUSTC_WRAPPER
環境變量運行。# 安裝 sccache
sudo apt-get install sccache
# 運行 cargo build 使用 sccache
RUSTC_WRAPPER=sccache cargo build
使用更快的 CPU:雖然這不是一個實際的解決方案,但使用具有更高核心數和更高時鐘頻率的 CPU 可以顯著提高編譯速度。
將依賴項拆分為多個工作空間:如果你的項目有很多依賴項,可以考慮將它們拆分為多個工作空間。這樣,每個工作空間只需要編譯其直接依賴項,而不是整個項目的所有依賴項。
使用 cargo-udeps
檢查未使用的依賴項:cargo-udeps
是一個用于檢查 Rust 項目中未使用的依賴項的工具。刪除未使用的依賴項可以減少編譯時間。
cargo install cargo-udeps
cargo udeps
cargo-watch
加速開發:cargo-watch
是一個用于監視文件更改并自動重新編譯項目的工具。它可以顯著減少開發過程中的編譯時間。cargo install cargo-watch
cargo watch -x build
通過遵循這些建議,你應該能夠在 Rust 工作空間中減少編譯時間。