Rust 高性能编程
Rust 高性能编程
简介:
引言
《Rust 高性能编程》(作者 Iban Eguia Moraza,2018 年出版,共 366 页)是一本关于用 Rust 语言编写极致快速高效代码的实用指南。与许多入门资料不同,本书专注于性能:从基本原则到使用 unsafe 和 SIMD 的低级技巧。它适合已经熟悉 Rust 基础并希望榨干其所有潜力的开发者。
本书内容
本书结构如同一次循序渐进的优化探索之旅。作者从通用概念(执行时间、算法复杂度)开始,逐步深入到 Rust 特有的主题:内存管理、性能分析、并行处理、unsafe 代码的使用、SIMD 指令以及与 C 语言的交互。每一章不仅包含理论,还包含可运行和测试的代码实践示例。
主要主题
- 性能分析与基准测试(cargo bench、perf、flamegraph)。
- 内存操作优化:栈、堆、分配器、缓存未命中。
- 并行与并发:线程、async/await、通道、无锁结构。
- 安全与非安全代码:何时以及如何使用 unsafe。
- 用于向量操作的 SIMD(单指令多数据流)。
- FFI(外部函数接口)——调用 C 库并优化接口。
- 编译器优化:编译标志、LTO、链接时优化。
目标读者
本书面向已经熟悉 Rust 的开发者(语法、所有权、借用)。如果您刚开始学习该语言,最好先阅读《The Rust Programming Language》或《Rust in Action》。但如果您已经完成几个项目并希望了解如何让它们运行得更快,那么这本书就是为您准备的。
读者将学到什么
- 如何正确地对 Rust 应用程序进行性能分析并找到瓶颈。
- 如何编写基准测试并解读其结果。
- Rust 中的内存结构以及如何最小化内存分配。
- 如何安全地使用 unsafe 来提升性能。
- 如何应用 SIMD 指令进行数据处理。
- 如何组织无数据竞争的并行计算。
- 如何优化与 C 库的交互。
- 哪些编译器标志和 Cargo 设置会影响运行速度。
优点
- 实践导向。几乎每章都包含可直接尝试的现成代码。
- 深入探讨 unsafe。许多书籍回避此主题,而本书用一整章篇幅通过示例进行讲解。
- 注重工具。详细介绍了 perf、Valgrind、cachegrind、flamegraph——这些都是专业人士实际使用的工具。
- (出版时)内容新颖。本书涵盖了 Rust 2018 版本及当时流行的 crate。
缺点
- 内容过时。自 2018 年以来,Rust 发生了巨大变化:async/await(于 2019 年稳定)出现,新的性能分析工具也已问世。部分示例可能需要进行调整才能编译。
- async 覆盖不足。本书出版于 async/await 稳定之前,因此该主题仅做了浅显介绍。
- 对新手有难度。如前所述,需要扎实掌握 Rust 基础知识。
推荐人群
- 希望从“仅仅能运行的代码”进阶到“快速代码”的 Rust 开发者。
- 从事高负载系统、游戏、数据库、网络服务开发的工程师。
- 对底层优化感兴趣并愿意使用 unsafe 的人。
- 系统编程课程的学生和教师。
结论
《Rust 高性能编程》是一本质量上乘的书籍,尽管内容略显过时