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:
parent
f54d8748ad
commit
f1d1737cd9
2 changed files with 33 additions and 63 deletions
33
benches/bench.rs
Normal file
33
benches/bench.rs
Normal 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);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
@ -1,12 +1,4 @@
|
||||||
//#![feature(test)]
|
|
||||||
|
|
||||||
// for bench on nightly
|
|
||||||
//extern crate test;
|
|
||||||
|
|
||||||
use std::collections::HashMap;
|
use std::collections::HashMap;
|
||||||
// for bench on nightly
|
|
||||||
//use std::fs;
|
|
||||||
//use test::Bencher;
|
|
||||||
|
|
||||||
use maplit::hashmap;
|
use maplit::hashmap;
|
||||||
|
|
||||||
|
|
@ -363,58 +355,3 @@ fn test_read_struct() {
|
||||||
stream.read().unwrap()
|
stream.read().unwrap()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
//0b1011_0101,
|
|
||||||
// 0b0110_1010,
|
|
||||||
// 0b1010_1100,
|
|
||||||
// 0b1001_1001,
|
|
||||||
// 0b1001_1001,
|
|
||||||
// 0b1001_1001,
|
|
||||||
// 0b1001_1001,
|
|
||||||
// 0b1110_0111,
|
|
||||||
// 0b1001_1001,
|
|
||||||
// 0b1001_1001,
|
|
||||||
// 0b1001_1001,
|
|
||||||
// 0b1110_0111,
|
|
||||||
|
|
||||||
// for bench on nightly
|
|
||||||
//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::<u16>(pos, size).unwrap();
|
|
||||||
// result = result.wrapping_add(data);
|
|
||||||
// pos += size;
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
|
|
||||||
//
|
|
||||||
//#[bench]
|
|
||||||
//fn perf_padded(b: &mut Bencher) {
|
|
||||||
// let mut file = fs::read("/bulk/tmp/test.dem").expect("Unable to read file");
|
|
||||||
// let len = file.len();
|
|
||||||
// file.extend_from_slice(&[0, 0, 0, 0, 0, 0, 0, 0]);
|
|
||||||
// let bytes = file.as_slice();
|
|
||||||
// b.iter(|| {
|
|
||||||
// let buffer = BitBuffer::from_padded_slice(&bytes, len, LittleEndian);
|
|
||||||
// let data = read_perf(buffer);
|
|
||||||
// assert_eq!(data, 43943);
|
|
||||||
// test::black_box(data);
|
|
||||||
// });
|
|
||||||
//}
|
|
||||||
//
|
|
||||||
//#[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);
|
|
||||||
// });
|
|
||||||
//}
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue