< 返回版块

lipincheng 发表于 2021-09-20 17:08

我看到书里面说到

Rust 知道这里会迭代 12 次,所以它“展开”(unroll)了循环。展开是一种移除循环控制代码的开销并替换为每个迭代中的重复代码的优化。 所有的系数都被储存在了寄存器中,这意味着访问他们非常快。这里也没有运行时数组访问边界检查。所有这些 Rust 能够提供的优化使得结果代码极为高效。

这是基于已知长度的优化,那么未知长度呢,举个例子,用户可以输入一个n,n就是vec的长度,然后我用迭代器遍历这个vec,rust会怎么优化它呢? 或者说哪里有这些资料

评论区

写评论

还没有评论

1 共 0 条评论, 1 页