自动向量化
Rust 默认生成的二进制支持非常旧的 CPU,因此需要使用
-C target-cpu=native选项来生成更快地代码(比如使用 AVX512 指令集)。avx512 实际上会导致 CPU 频率降低,因此 LLVM 默认只会使用 128bit 指令集。
Rust 中的迭代器可以被优化成非常好的代码,可以被自动矢量化(甚至会更适合自动向量化)。
Vec::chunks_exact 每次生成一个包含固定元素数量的 chunk(无法被整除的部分会被删掉),因此可以帮助编译器生成更快的代码。