2个稳定版本
2.0.0 | 2024年6月14日 |
---|---|
1.0.0 | 2024年1月5日 |
#438 在 开发工具
每月 30 次下载
175KB
4K SLoC
pessimize - 更高效的Rust编译器优化屏障
微基准测试一开始是一项微妙的练习,而稳定版Rust上轻量级优化屏障的缺乏使得这更加困难。这个crate旨在通过提供对std::hint::black_box
的替代方案来改善现状,它...
- 尽可能轻量,如基于库的方法
- 细粒度,允许精确的意图声明,从而降低开销
- 可靠(不再有“在某些编译器目标上可能什么都不做”的情况,如果编译成功,则应该按广告宣传的方式工作)。
然而,代价是...
- 微基准测试的可移植性降低(目前仅限于ARM、x86和RISC-V的32位和64位版本,nightly/future stable Rust上可以设想更多)
- 实现中有很多不安全代码(我们经常需要将具有安全不变量的
std
类型转换为具有较少安全不变量的简单数据结构,然后通过一个什么都不做的优化屏障传递该数据结构的成员,最后将其转换回原始类型)。