在 Debian 上“测 Rust 性能”可以有几种不同层面的含义,下面按常见使用场景给你一个清晰指南。
cargo bench(基准测试)适合测函数级性能。
# Cargo.toml
[dev-dependencies]
criterion = "0.5"
// benches/my_bench.rs
use criterion::{criterion_group, criterion_main, Criterion};
fn fib(n: u64) -> u64 {
if n < 2 { n } else { fib(n - 1) + fib(n - 2) }
}
fn bench(c: &mut Criterion) {
c.bench_function("fib 20", |b| b.iter(|| fib(20)));
}
criterion_group!(benches, bench);
criterion_main!(benches);
运行:
cargo bench
✅ 优点:科学、可重复
❌ 不适合测整体系统性能
hyperfine(命令行程序对比)非常适合测不同版本/不同参数的运行时间。
sudo apt install hyperfine
hyperfine ./target/release/myapp
对比:
hyperfine 'old_app' 'new_app'
rustc --version
cargo --version
Debian 自带版本通常偏旧,建议用:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
time cargo build --release
对比:
[profile.release]
opt-level = 3
lto = true
codegen-units = 1
sysbench(系统性能)sudo apt install sysbench
sysbench cpu run
ripgrep(测 IO + CPU)tokio 并发测试rayon 并行计算测试sudo apt install linux-perf
cargo build --release
perf record ./target/release/myapp
perf report
cargo install flamegraph
cargo flamegraph
| 目的 | 方法 |
|---|---|
| 函数性能 | cargo bench |
| 命令行程序 | hyperfine |
| 编译速度 | time cargo build |
| CPU/系统 | sysbench |
| 热点分析 | perf / flamegraph |
如果你能说清楚:
我可以直接给你一套可复制的命令模板。