Add benchmarks for analysis passes
This commit is contained in:
@@ -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
|
||||
|
||||
35
analysis/benches/analysis.rs
Normal file
35
analysis/benches/analysis.rs
Normal 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)));
|
||||
}
|
||||
Reference in New Issue
Block a user