aboutsummaryrefslogtreecommitdiff
path: root/benches/parse.rs
diff options
context:
space:
mode:
authorRuben Beltran del Rio <jj@r.bdr.sh>2025-12-12 14:30:45 +0100
committerRuben Beltran del Rio <jj@r.bdr.sh>2025-12-13 21:32:44 +0100
commit9163c3ae5b55abcb27f15dd39203143b8e1e443b (patch)
treeee7760a8e91110812e7e6c90e95fc23ccc443e0f /benches/parse.rs
Initial implementationHEAD1.0.0main
Diffstat (limited to 'benches/parse.rs')
-rw-r--r--benches/parse.rs21
1 files changed, 21 insertions, 0 deletions
diff --git a/benches/parse.rs b/benches/parse.rs
new file mode 100644
index 0000000..f7b7412
--- /dev/null
+++ b/benches/parse.rs
@@ -0,0 +1,21 @@
+use criterion::*;
+use std::fs::read_to_string;
+use std::hint::black_box;
+
+use wmap_parser::*;
+
+fn bench(c: &mut Criterion) {
+ let mut group = c.benchmark_group("Parsing");
+ let example_source = read_to_string("doc/example.wmap").unwrap();
+ let huge_source = read_to_string("doc/huge.wmap").unwrap();
+
+ group.sample_size(500);
+ group.bench_function("parse example", |b| {
+ b.iter(|| parse(black_box(&example_source)))
+ });
+ group.bench_function("parse huge", |b| b.iter(|| parse(black_box(&huge_source))));
+ group.finish();
+}
+
+criterion_group!(benches, bench);
+criterion_main!(benches);