mirror of
https://codeberg.org/icewind/sourcenav.git
synced 2026-06-03 10:14:11 +02:00
finish binrw rework
This commit is contained in:
parent
3adbbe761c
commit
048a2e7dbe
7 changed files with 703 additions and 271 deletions
|
|
@ -1,38 +1,39 @@
|
|||
#![feature(test)]
|
||||
|
||||
extern crate test;
|
||||
|
||||
use bitbuffer::{BitReadBuffer, BitReadStream, LittleEndian};
|
||||
use std::hint::black_box;
|
||||
use criterion::{criterion_group, criterion_main, Criterion};
|
||||
use sourcenav::{get_quad_tree, read_areas};
|
||||
use std::fs::read;
|
||||
use test::Bencher;
|
||||
use std::io::Cursor;
|
||||
|
||||
#[bench]
|
||||
fn bench_badwater_areas(b: &mut Bencher) {
|
||||
fn bench_badwater_areas(c: &mut Criterion) {
|
||||
let file = read("data/pl_badwater.nav").unwrap();
|
||||
let data = BitReadStream::new(BitReadBuffer::new(file, LittleEndian));
|
||||
|
||||
b.iter(|| {
|
||||
let _ = test::black_box(read_areas(data.clone()));
|
||||
})
|
||||
c.bench_function("badwater areas", |b| {
|
||||
b.iter(|| {
|
||||
let _ = black_box(read_areas(black_box(&mut Cursor::new(&file))));
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
#[bench]
|
||||
fn bench_badwater_quads(b: &mut Bencher) {
|
||||
fn bench_badwater_quads(c: &mut Criterion) {
|
||||
let file = read("data/pl_badwater.nav").unwrap();
|
||||
let data = BitReadStream::new(BitReadBuffer::new(file, LittleEndian));
|
||||
|
||||
b.iter(|| {
|
||||
let _ = test::black_box(get_quad_tree(data.clone()));
|
||||
})
|
||||
c.bench_function("badwater areas", |b| {
|
||||
b.iter(|| {
|
||||
let _ = black_box(get_quad_tree(black_box(&mut Cursor::new(&file))));
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
#[bench]
|
||||
fn bench_tree_query(b: &mut Bencher) {
|
||||
fn bench_tree_query(c: &mut Criterion) {
|
||||
let file = read("data/pl_badwater.nav").unwrap();
|
||||
let tree = get_quad_tree(file).unwrap();
|
||||
let tree = get_quad_tree(&mut Cursor::new(&file)).unwrap();
|
||||
|
||||
b.iter(|| {
|
||||
test::black_box(tree.find_best_height(320.0, -1030.0, 0.0));
|
||||
})
|
||||
c.bench_function("badwater areas", |b| {
|
||||
b.iter(|| {
|
||||
let _ = black_box(tree.find_best_height(black_box(320.0), black_box(-1030.0), black_box(0.0)));
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
criterion_group!(benches, bench_badwater_areas, bench_badwater_quads, bench_tree_query);
|
||||
criterion_main!(benches);
|
||||
Loading…
Add table
Add a link
Reference in a new issue