9 个版本
使用旧的 Rust 2015
0.2.2 | 2019年5月7日 |
---|---|
0.2.1 | 2018年3月19日 |
0.1.6 | 2017年8月18日 |
0.1.4 | 2017年7月22日 |
#72 在 开发工具
1,993,896 每月下载量
在 8,587 个包中(53 个直接使用)
11KB
241 代码行
Crunchy
Crunchy 展开器 - 确定性地展开常数循环。用于数字“crunching”。
Rust 优化器将展开不使用循环变量的常数循环,如下所示
for _ in 0..100 {
println!("Hello!");
}
但是,使用循环变量将导致它不会展开循环。这是不幸的,因为它意味着你不能常数折叠循环变量,如果你最终踩到寄存器上,它将不得不对每个迭代进行加载。这个包确保你的代码被展开和常数折叠。遗憾的是,它只适用于文字,但有一个解决方案
debug_assert_eq!(MY_CONSTANT, 100);
unroll! {
for i in 0..100 {
println!("Iteration {}", i);
}
}
这意味着你的测试将捕获你重新定义常量的情况。
默认最大展开循环次数为 64
,但可以使用 cargo 功能轻松增加
limit_128
limit_256
limit_512
limit_1024
limit_2048