11 边界检查
减少边界检查开销
1分钟内可阅读完
译文 · 基于 The Rust Performance Book
边界检查
原文链接: https://nnethercote.github.io/perf-book/bounds-checks.html
默认情况下,Rust 中对切片、向量等容器类型的访问会进行边界检查。这可能影响性能,例如在热点循环中,不过往往没有想象中那么频繁。
有几种安全方式可以改写代码,让编译器了解容器长度并优化掉边界检查。
要让这些技巧生效可能比较棘手。Bounds Check Cookbook 对此有更详细的说明。
作为最后手段,还有不安全的 get_unchecked 和 get_unchecked_mut 方法。