← 中文资源

简体中文版本

为吞吐调优 Rust release 配置

在 release 配置中启用 LTO 与代码生成调优,在牺牲构建时间的前提下提升运行时吞吐。

阅读英文原文

目标

计算密集的 Rust 服务在 release 下比预期慢,因为默认设置错过了跨 crate 优化。本配方在 Cargo.toml 的 release 配置里启用 fat LTO、限制代码生成单元并调整优化级别,使编译器跨 crate 链接并产出更优代码,再用基准对比吞吐与构建时间的取舍;提醒依赖 unwinding 时不能用 panic=abort。

步骤要点

  1. 在 release 配置启用 LTO 与代码生成调优。
  2. 用基准对比吞吐与构建时间。
  3. 构建时间过高时改用 thin LTO。
  4. 依赖 unwinding 时避免 panic=abort。
[profile.release]
lto = "fat"
codegen-units = 1
opt-level = 3
panic = "abort"

排错提示

  • 构建时间上升会拖慢迭代。
  • panic=abort 改变错误语义。
  • 配置需匹配实际负载。

适用边界

  • 构建时间显著增加。
  • panic 策略影响错误处理。