azalea/azalea-world/benches/chunks.rs
2023-10-02 00:20:20 -05:00

38 lines
1,005 B
Rust

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);