use std::hint::black_box; use azalea_core::position::ChunkBlockPos; use azalea_world::{BitStorage, Chunk}; use criterion::{criterion_group, criterion_main, Criterion}; fn bench_chunks(c: &mut Criterion) { c.bench_function("Chunk::set", |b| { b.iter(|| { let mut chunk = Chunk::default(); for x in 0..16 { for z in 0..16 { chunk.set( &ChunkBlockPos::new(x, 1, z), azalea_registry::Block::Bedrock.into(), 0, ); } } black_box(chunk); }); }); } fn bench_bitstorage(c: &mut Criterion) { c.bench_function("BitStorage::set", |b| { let mut storage = BitStorage::new(1, 4096, None).unwrap(); b.iter(|| { storage.set(136, 1); }); black_box(storage); }); } criterion_group!(benches, bench_chunks, bench_bitstorage); criterion_main!(benches);