1
0
Fork 0
mirror of https://codeberg.org/icewind/bitbuffer.git synced 2026-06-03 16:44:06 +02:00

more benches to it's proper location

This commit is contained in:
Robin Appelman 2019-03-05 16:02:07 +01:00
commit f1d1737cd9
2 changed files with 33 additions and 63 deletions

33
benches/bench.rs Normal file
View file

@ -0,0 +1,33 @@
#![feature(test)]
extern crate test;
use std::fs;
use test::Bencher;
use bitstream_reader::{BitBuffer, LittleEndian};
fn read_perf(buffer: &BitBuffer<LittleEndian>) -> u16 {
let size = 5;
let mut pos = 0;
let len = buffer.bit_len();
let mut result: u16 = 0;
loop {
if pos + size > len {
return result;
}
let data = buffer.read_int::<u16>(pos, size).unwrap();
result = result.wrapping_add(data);
pos += size;
}
}
#[bench]
fn perf_non_padded(b: &mut Bencher) {
let file = fs::read("/bulk/tmp/test.dem").expect("Unable to read file");
let buffer = BitBuffer::new(file, LittleEndian);
b.iter(|| {
let data = read_perf(&buffer);
assert_eq!(data, 43943);
test::black_box(data);
});
}