如何按文件单独执行`cargo bench`命令?
如何单独运行特定文件的基准测试(Rust + Project Euler)
嘿,刚好我熟悉这个场景!你的Project Euler目录结构很清晰,每个题目对应一个模块文件,要单独运行某个文件的基准测试,用cargo bench的过滤功能就可以轻松搞定,下面是具体方法:
1. 按模块名直接过滤
因为你的每个题目文件都是一个独立的Rust模块(比如p001对应p001.rs),直接用模块名作为过滤条件就能精准定位:
- 运行
p001.rs里的所有基准测试:cargo bench -- p001 - 如果想运行该文件里的某一个具体基准测试函数(比如
p001里的bench_brute_force),可以更精确地指定路径:cargo bench -- p001::bench_brute_force
2. 用通配符批量过滤
如果想批量运行某一类题目(比如前10道题),可以用通配符*:
cargo bench -- p00?
这个命令会运行p001到p009所有模块的基准测试。
3. 只运行基准测试(排除单元测试)
如果你的项目里还写了普通单元测试,不想让它们和基准测试一起执行,可以加上--benches参数,确保只跑基准测试:
cargo bench --benches -- p002
原理小说明
cargo bench后面的--是用来分隔cargo自身参数和测试过滤规则的,过滤规则支持模糊匹配,只要你的基准测试函数/模块名和过滤字符串匹配,就会被执行。
内容的提问来源于stack exchange,提问作者piercebot
相关产品推荐
相关产品推荐

