1 个不稳定版本
0.1.2 | 2021 年 3 月 9 日 |
---|---|
0.1.1 |
|
0.1.0 |
|
#410 在 无标准库 中
每月 7,137 次下载
用于 5 个包 (直接使用 4 个)
29KB
675 行
此包将 likely 和 unlikely 分支预测提示引入到稳定 Rust 中
use likely_stable::{likely,unlikely};
use rand::random;
if likely(random::<i32>() > 10) {
println!("likely!")
} else {
println!("unlikely!")
}
它还提供了 if_likely
和 if_unlikely
用于 if let
语句的分支预测。
use likely_stable::if_likely;
use rand::random;
let v = Some(random()).filter(|v:&i32| *v > 10);
if_likely!{let Some(v) = v => {
println!("likely!")
} else {
println!("unlikely!")
}};
此外,特质 LikelyBool
、LikelyOption
和 LikelyResult
为类型 bool
、Option
和 Result
常用的方法提供了 likely 和 unlikely 版本。
use likely_stable::LikelyOption;
use rand::random;
let v = Some(random()).filter(|v:&i32| *v > 10);
v.map_or_else_likely(
|| println!("unlikely"),
|v| println!("likely {}",v));
用法
将此添加到您的 Cargo.toml
[dependencies]
likely_stable = "0.1"
依赖项
~200KB