边界检查
默认情况下,在 Rust 中对切片和向量等容器类型的访问会涉及边界检查。这些检查可能会 影响性能,例如在热循环中,尽管这种情况比你想象的更少见。
有几种安全的方法可以修改代码,让编译器知道容器的长度,从而优化掉边界检查。
让这些方法生效可能有些棘手。Bounds Check Cookbook 对此主题有更详细的讨论。
作为最后的手段,可以使用不安全的 get_unchecked 和 get_unchecked_mut 方法。
Press ← or → to navigate between chapters
Press S or / to search in the book
Press ? to show this help
Press Esc to hide this help
默认情况下,在 Rust 中对切片和向量等容器类型的访问会涉及边界检查。这些检查可能会 影响性能,例如在热循环中,尽管这种情况比你想象的更少见。
有几种安全的方法可以修改代码,让编译器知道容器的长度,从而优化掉边界检查。
让这些方法生效可能有些棘手。Bounds Check Cookbook 对此主题有更详细的讨论。
作为最后的手段,可以使用不安全的 get_unchecked 和 get_unchecked_mut 方法。