第4章 应用
应用指南 — Pragmatic Rust Guidelines
2 分钟阅读
译文 · 基于 Pragmatic Rust Guidelines
原文链接: https://microsoft.github.io/rust-guidelines/guidelines/apps/index.html
应用
应用使用 mimalloc (M-MIMALLOC-APPS)
本条守护:零成本下的显著性能提升。
应用应当将 mimalloc 设为全局分配器。这通常会沿分配热点路径带来明显的性能提升;我们见过高达 25% 的基准改进。
更换分配器只需几行代码。像这样将 mimalloc 加入你的 Cargo.toml:
| |
然后在 main.rs 中使用:
| |
应用可以使用 Anyhow 或其衍生库 (M-APP-ERROR)
本条守护:简洁的应用级错误处理。
注意,本指南主要是对 M-ERRORS-CANONICAL-STRUCTS 的放宽与澄清。
应用,以及仓库中仅由你的应用使用的 crate,可以使用 ohno::AppError、anyhow、 eyre 或类似的应用级错误 crate,而不必自行实现类型。
例如,在你的应用 crate 中,你可以仅重新导出并使用 eyre 的通用 Result 类型,它应当能自动
处理所有第三方库错误,尤其是遵循
M-ERRORS-CANONICAL-STRUCTS 的那些。
| |
一旦选定应用错误 crate,就应当将所有应用级错误切换为该类型,且不应混用多种 应用级错误类型。
库(被多个 crate 使用的 crate)则应始终遵循 M-ERRORS-CANONICAL-STRUCTS。
应用面向可行的最高 target-cpu (M-TARGET-CPU)
本条守护:机群性能。
服务端应用应当针对部署环境保证支持的最高 target-cpu 编译,而不是默认使用通用基线。
例如,可通过在 .cargo/config.toml 中设置实现:
| |
注意本指南仅适用于应用,因为库会忽略目标设置。