在 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 工作空间中减少编译时间。