Add benchmarks for analysis passes

This commit is contained in:
Lol3rrr
2024-11-02 03:30:28 +01:00
parent e8843540a3
commit 7e50a627f6
3 changed files with 90 additions and 0 deletions

View File

@@ -17,3 +17,9 @@ phf = { version = "0.11" }
[dev-dependencies]
pretty_assertions = { version = "1.4" }
tracing-test = { version = "0.2", features = ["no-env-filter"] }
divan = "0.1.15"
[[bench]]
name = "analysis"
harness = false

View File

@@ -0,0 +1,35 @@
fn main() {
divan::main();
}
#[divan::bench(args = ["dust2.dem", "inferno.dem", "nuke.dem"])]
fn heatmap(bencher: divan::Bencher, file: &str) {
let path = std::path::Path::new(env!("CARGO_MANIFEST_DIR"))
.join("../testfiles/")
.join(file);
let data = std::fs::read(path).unwrap();
let config = analysis::heatmap::Config { cell_size: 2.0 };
bencher.bench(|| analysis::heatmap::parse(divan::black_box(&config), divan::black_box(&data)));
}
#[divan::bench(args = ["dust2.dem", "inferno.dem", "nuke.dem"])]
fn perround(bencher: divan::Bencher, file: &str) {
let path = std::path::Path::new(env!("CARGO_MANIFEST_DIR"))
.join("../testfiles/")
.join(file);
let data = std::fs::read(path).unwrap();
bencher.bench(|| analysis::perround::parse(divan::black_box(&data)));
}
#[divan::bench(args = ["dust2.dem", "inferno.dem", "nuke.dem"])]
fn endofgame(bencher: divan::Bencher, file: &str) {
let path = std::path::Path::new(env!("CARGO_MANIFEST_DIR"))
.join("../testfiles/")
.join(file);
let data = std::fs::read(path).unwrap();
bencher.bench(|| analysis::endofgame::parse(divan::black_box(&data)));
}