diff options
| author | Ruben Beltran del Rio <jj@r.bdr.sh> | 2025-12-16 10:40:44 +0100 |
|---|---|---|
| committer | Ruben Beltran del Rio <jj@r.bdr.sh> | 2025-12-16 10:55:34 +0100 |
| commit | f08648e4b5a9f7855a2ed9068a386e2f3c596322 (patch) | |
| tree | 1f1567ea609a1f74aaeab3cbbfdb249c5c47d723 /benches/rendering.rs | |
Initial implementation
Diffstat (limited to 'benches/rendering.rs')
| -rw-r--r-- | benches/rendering.rs | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/benches/rendering.rs b/benches/rendering.rs new file mode 100644 index 0000000..549ad21 --- /dev/null +++ b/benches/rendering.rs @@ -0,0 +1,25 @@ +use criterion::{black_box, criterion_group, criterion_main, Criterion}; +use std::fs; +use wmap_renderer::{render_to_png, Configuration, StageType}; + +fn benchmark_rendering(c: &mut Criterion) { + // Read the huge.wmap file for realistic benchmarking + let source = fs::read_to_string("benches/huge.wmap").expect("Failed to read benches/huge.wmap"); + let map = wmap_parser::parse(&source); + let config = Configuration::default(); + + c.bench_function("render huge map", |b| { + b.iter(|| render_to_png(black_box(&map), StageType::default(), &config)) + }); + + // Also benchmark a simple map + let simple_source = "Tea (90, 50)\nCup (80, 40)\nTea -> Cup"; + let simple_map = wmap_parser::parse(simple_source); + + c.bench_function("render simple map", |b| { + b.iter(|| render_to_png(black_box(&simple_map), StageType::default(), &config)) + }); +} + +criterion_group!(benches, benchmark_rendering); +criterion_main!(benches); |