我是怎么改善 Rust 编译体验的

Rust 编译慢、target/ 目录大,这是老生常谈了。这篇记录一下我目前在用的几个改善手段,以我的项目 ClewdR(394 个 crate 依赖的异步 Web 服务)为例。 环境:Rust 1.94.1,CachyOS (Arch-based),NVMe SSD,Btrfs。 rust-lld 链接是 Rust 编译的最后一步,也是传统上最慢的一步。GNU ld 在这里表现很差,特别是开了 LTO 的时候。 以前的做法是手动装 lld 或 mold,然后在 .cargo/config.toml 里配: [target.x86_64-unknown-linux-gnu] linker = "clang" rustflags = ["-C", "link-arg=-fuse-ld=lld"] 但从 Rust 1.85(2025-02-20)开始,rust-lld 在 x86_64-unknown-linux-gnu 上已经是默认链接器了,不需要任何配置: $ readelf -p .comment target/release/clewdr String dump of section '.comment': [ 1] Linker: LLD 21.1.8 [ 5f] rustc version 1.94.1 (e408947bf 2026-03-25) 升级 Rust 就行,免费午餐。 顺带一提,社区里还有两个值得关注的替代链接器: mold:以速度为卖点的链接器,在非 LTO 场景下通常比 lld 更快,不过对 LTO 的支持有限。 wild:一个用 Rust 写的实验性链接器,目标是成为最快的 Linux ELF 链接器,做了大量多线程优化。目前还在活跃开发中,有兴趣可以关注。 对于大多数人来说,默认的 rust-lld 已经够用了。 ...

2026年4月6日 · 2 分钟