14 个稳定版本
2.6.0 | 2024 年 4 月 24 日 |
---|---|
2.4.0 | 2024 年 2 月 26 日 |
2.3.3 | 2023 年 11 月 20 日 |
2.1.0 | 2023 年 7 月 27 日 |
1.1.0 | 2023 年 3 月 3 日 |
#49 在 性能分析 中
每月下载量 108,255 次
在 36 个代码包 中使用
40KB
949 行
安装
cargo add --dev codspeed-criterion-compat
使用
让我们从 Criterion.rs 文档中的示例开始,创建一个 Fibonacci 函数的基准测试套件(在 benches/my_benchmark.rs
中)
use criterion::{black_box, criterion_group, criterion_main, Criterion};
fn fibonacci(n: u64) -> u64 {
match n {
0 => 1,
1 => 1,
n => fibonacci(n-1) + fibonacci(n-2),
}
}
pub fn criterion_benchmark(c: &mut Criterion) {
c.bench_function("fib 20", |b| b.iter(|| fibonacci(black_box(20))));
}
criterion_group!(benches, criterion_benchmark);
criterion_main!(benches);
创建 Criterion 基准测试的最后一个步骤是在你的 Cargo.toml
中添加新的基准目标
[[bench]]
name = "my_benchmark"
harness = false
连接 CodSpeed
为了允许 CodSpeed 与此套件交互,你只需要将 criterion
代码包的导入替换为 codspeed-criterion-compat
代码包
- use criterion::{black_box, criterion_group, criterion_main, Criterion};
+ use codspeed_criterion_compat::{black_box, criterion_group, criterion_main, Criterion};
就是这样!你现在可以使用 cargo-codspeed
运行你的基准测试套件了
$ cargo codspeed build
Finished release [optimized] target(s) in 0.12s
Finished built 1 benchmark suite(s)
$ cargo codspeed run
Collected 1 benchmark suite(s) to run
Running my_benchmark
Using codspeed-criterion-compat v1.0.0 compatibility layer
NOTICE: codspeed is enabled, but no performance measurement will be made since it's running in an unknown environment.
Checked: benches/bencher_example.rs::fib_20 (group: benches)
Done running bencher_example
Finished running 1 benchmark suite(s)
不支持
iter_custom
with_filter
依赖项
~6–24MB
~295K SLoC