You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Cargo Bench运行时Criterion基准测试函数被忽略的问题求助

Cargo Bench运行时Criterion基准测试函数被忽略的问题求助

大家好,我最近在用Criterion做Rust基准测试的时候碰到了一个棘手的问题:运行cargo bench之后,明明写好的基准测试函数好像被完全忽略了,根本没有执行测量逻辑。下面是我的具体情况,麻烦各位帮忙排查下问题:

项目结构

project_root
├── benches
│   └── my_benchmark.rs

基准测试代码(my_benchmark.rs)

use criterion::{criterion_group, criterion_main, Criterion};

fn factorial(n: u64) -> u64 {
    (1..=n).product()
}

fn my_benchmark(c: &mut Criterion) {
    c.bench_function("factorial 20", |b| b.iter(|| factorial(20)));
}

criterion_group!(benches, my_benchmark);
criterion_main!(benches);

运行cargo bench的输出结果

Finished `bench` profile [optimized] target(s) in 0.07s
     Running unittests src/main.rs (target/release/deps/fwaas-cbcff0a631d9e180)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running benches/my_benchmark.rs (target/release/deps/my_benchmark-eddc0eabec0786a7)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

从输出能看到,不管是主程序的单元测试还是bench目录下的基准测试,都显示“running 0 tests”,完全没有执行我写的factorial 20基准测试。

其他相关信息

  • target目录内容:
ls target/
CACHEDIR.TAG  release  tmp
  • Cargo.toml中的依赖配置:
[dev-dependencies]
criterion = "0.5"
  • 使用的Cargo版本:cargo 1.82.0

有没有大佬能指点下,到底是哪里出问题了?为什么我的基准测试函数没有被识别和执行呢?

备注:内容来源于stack exchange,提问作者Alex Barysevich

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.15 10:37:58