边界检查
在 Rust 中,默认情况下,对切片(slices)和向量(vectors)等容器类型的访问涉及边界检查。这些检查可能会影响性能,在热循环(hot loop, 经常执行的循环代码)内,尽管不太频繁,但仍然存在。
有几种安全的方法可以更改代码,以便编译器了解容器长度并优化掉边界检查。
让这些方法起作用可能有些棘手。边界检查指南 对这个主题进行了更详细的讨论。
作为最后的手段,还有不安全的方法 get_unchecked
和 get_unchecked_mut
。
在 Rust 中,默认情况下,对切片(slices)和向量(vectors)等容器类型的访问涉及边界检查。这些检查可能会影响性能,在热循环(hot loop, 经常执行的循环代码)内,尽管不太频繁,但仍然存在。
有几种安全的方法可以更改代码,以便编译器了解容器长度并优化掉边界检查。
让这些方法起作用可能有些棘手。边界检查指南 对这个主题进行了更详细的讨论。
作为最后的手段,还有不安全的方法 get_unchecked
和 get_unchecked_mut
。