1 个不稳定版本
0.1.0 | 2020 年 12 月 22 日 |
---|
#380 在 性能分析
9KB
135 代码行
criterion-linux-perf
这是一个用于 Criterion.rs 的测量插件,使用 Linux 的 perf 接口进行测量。
支持的事件
criterion-linux-perf 使用 perf-event
crate,并支持该 crate 提供的事件子集。如果你需要比当前选择更多的事件,请 打开一个问题 请求添加。
示例
以下代码展示了如何创建一个空字符串时计算分支数量
use criterion::{criterion_group, criterion_main, Criterion};
use criterion_linux_perf::{PerfMeasurement, PerfMode};
fn timeit(crit: &mut Criterion<PerfMeasurement>) {
crit.bench_function("String::new", |b| b.iter(|| String::new()));
crit.bench_function("String::from", |b| b.iter(|| String::from("")));
}
criterion_group!(
name = benches;
config = Criterion::default().with_measurement(PerfMeasurement::new(PerfMode::Branches));
targets = timeit
);
criterion_main!(benches);
其他 Crates
我知道还有一个 crate 提供相同的功能,criterion-perf-events
。虽然它提供了更广泛的 perf 事件类型覆盖,但它依赖于 perfcnt
,这只能在 Rust nightly 上构建。这个 crate 依赖于 perf-event
,没有这个限制。
依赖项
~8–19MB
~254K SLoC