编译器优化:改进Lemire算法的无除法随机数生成
2025-03-09
作者改进了一种近似无除法的有界随机数生成算法(Lemire算法)。之前的版本通过内联快速路径来减少代码膨胀,但编译器优化受限。作者发现,当限制为常量时,拒绝阈值可在编译时计算,且无需避免除法。新的实现只有一个对随机数生成器的调用,并且当限制为2的幂时,编译器会自动消除循环。这比去年的版本更有效率,并且作者探讨了如何在Rust中使用类似的编译时优化技术。
(dotat.at)
开发
Lemire算法