The Rust Performance Book

本书范围与读者

译文 · 基于 The Rust Performance Book

原文链接: https://nnethercote.github.io/perf-book/

性能对许多 Rust 程序都很重要。

本书包含可改善 Rust 程序性能相关特性的技术,例如运行时速度、内存占用和二进制体积。编译时间一节还包含可缩短 Rust 程序编译时间的技术。有些技术只需更改构建配置,但许多技术需要修改代码。

有些技术完全是 Rust 特有的,有些则涉及可(经修改后)应用于其他语言程序的想法。通用技巧一节还包含一些适用于任何编程语言的通用原则。尽管如此,本书主要关注 Rust 程序的性能,不能替代通用的性能分析与优化指南。

本书还侧重于实用且经过验证的技术:许多技术附有拉取请求或其他资源的链接,展示该技术如何应用于真实的 Rust 程序。本书反映了主要作者的背景,在编译器开发方面有所偏重,而在科学计算等其他领域则相对薄弱。

本书刻意保持简洁,以广度优先于深度,便于快速阅读。在适当时会链接到外部资料以提供更深入的内容。

本书面向中级和高级 Rust 用户。初学者 Rust 用户需要学习的内容已经很多,这些技术可能会分散他们的注意力,反而不利于学习。


1 基准测试

测量与比较性能

2 构建配置

编译器与链接器选项

3 Lint

Clippy 与性能相关 lint

4 性能分析

剖析与定位热点

5 内联

内联与代码体积

6 哈希

哈希算法与 Hasher

7 堆分配

减少堆分配

8 类型大小

缩小类型与内存布局

9 标准库类型

选用高效标准库类型

10 迭代器

迭代器与性能

11 边界检查

减少边界检查开销

12 I/O

输入输出性能

13 日志与调试

日志对性能的影响

14 包装类型

Newtype 与透明包装

15 机器码

查看生成的汇编

16 并行

并行与并发

17 通用技巧

跨语言通用原则

18 编译时间

缩短编译时间

最后修改 August 23, 2026: 更新 (499855b16)