add criterion benchmark

This commit is contained in:
Crispy 2023-07-21 17:34:05 +02:00
parent 7ae61d8ca7
commit 366c78766d
5 changed files with 499 additions and 3 deletions

17
benches/large_grid.rs Normal file
View file

@ -0,0 +1,17 @@
use criterion::{black_box, criterion_group, criterion_main, Criterion};
use gol_bitwise::region::Region;
fn large_grid(c: &mut Criterion) {
const SIZE: usize = 2048 / gol_bitwise::tile::WIDTH; // same number of cells regardless of tile size
let mut region = black_box(Region::new(SIZE, SIZE));
region.randomise();
c.bench_function("large grid", |b| {
b.iter(|| {
region.step();
})
});
}
criterion_group!(benches, large_grid);
criterion_main!(benches);