Add benchmarks for analysis passes
This commit is contained in:
49
Cargo.lock
generated
49
Cargo.lock
generated
@@ -38,6 +38,7 @@ version = "0.1.0"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"colors-transform",
|
"colors-transform",
|
||||||
"csdemo",
|
"csdemo",
|
||||||
|
"divan",
|
||||||
"image",
|
"image",
|
||||||
"phf",
|
"phf",
|
||||||
"pretty_assertions",
|
"pretty_assertions",
|
||||||
@@ -554,6 +555,7 @@ dependencies = [
|
|||||||
"anstyle",
|
"anstyle",
|
||||||
"clap_lex",
|
"clap_lex",
|
||||||
"strsim",
|
"strsim",
|
||||||
|
"terminal_size",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@@ -606,6 +608,12 @@ dependencies = [
|
|||||||
"serde",
|
"serde",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "condtype"
|
||||||
|
version = "1.3.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "baf0a07a401f374238ab8e2f11a104d2851bf9ce711ec69804834de8af45c7af"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "config"
|
name = "config"
|
||||||
version = "0.14.1"
|
version = "0.14.1"
|
||||||
@@ -927,6 +935,31 @@ dependencies = [
|
|||||||
"subtle",
|
"subtle",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "divan"
|
||||||
|
version = "0.1.15"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "6e05d17bd4ff1c1e7998ed4623d2efd91f72f1e24141ac33aac9377974270e1f"
|
||||||
|
dependencies = [
|
||||||
|
"cfg-if",
|
||||||
|
"clap",
|
||||||
|
"condtype",
|
||||||
|
"divan-macros",
|
||||||
|
"libc",
|
||||||
|
"regex-lite",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "divan-macros"
|
||||||
|
version = "0.1.15"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "1b4464d46ce68bfc7cb76389248c7c254def7baca8bece0693b02b83842c4c88"
|
||||||
|
dependencies = [
|
||||||
|
"proc-macro2",
|
||||||
|
"quote",
|
||||||
|
"syn",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "dlv-list"
|
name = "dlv-list"
|
||||||
version = "0.5.2"
|
version = "0.5.2"
|
||||||
@@ -2933,6 +2966,12 @@ dependencies = [
|
|||||||
"regex-syntax 0.8.5",
|
"regex-syntax 0.8.5",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "regex-lite"
|
||||||
|
version = "0.1.6"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "53a49587ad06b26609c52e423de037e7f57f20d53535d66e08c695f347df952a"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "regex-syntax"
|
name = "regex-syntax"
|
||||||
version = "0.6.29"
|
version = "0.6.29"
|
||||||
@@ -3709,6 +3748,16 @@ dependencies = [
|
|||||||
"windows-sys 0.59.0",
|
"windows-sys 0.59.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "terminal_size"
|
||||||
|
version = "0.4.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "4f599bd7ca042cfdf8f4512b277c02ba102247820f9d9d4a9f521f496751a6ef"
|
||||||
|
dependencies = [
|
||||||
|
"rustix",
|
||||||
|
"windows-sys 0.59.0",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "thiserror"
|
name = "thiserror"
|
||||||
version = "1.0.66"
|
version = "1.0.66"
|
||||||
|
|||||||
@@ -17,3 +17,9 @@ phf = { version = "0.11" }
|
|||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
pretty_assertions = { version = "1.4" }
|
pretty_assertions = { version = "1.4" }
|
||||||
tracing-test = { version = "0.2", features = ["no-env-filter"] }
|
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