Avoid expensive setup
This commit is contained in:
parent
b1c7fe8c04
commit
24afca5d32
|
@ -80,41 +80,46 @@ pub fn bench_ser_encoder(c: &mut Criterion) {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn large_testdata_decoder_with_ann(c: &mut Criterion) {
|
pub fn large_testdata_decoder_with_ann(c: &mut Criterion) {
|
||||||
let mut fh = std::fs::File::open("benches/testdata.bin").unwrap();
|
c.bench_function("decode testdata.bin with annotations", |b| {
|
||||||
let mut bs = vec![];
|
let mut fh = std::fs::File::open("benches/testdata.bin").unwrap();
|
||||||
fh.read_to_end(&mut bs).ok();
|
let mut bs = vec![];
|
||||||
c.bench_function("decode testdata.bin with annotations", |b| b.iter(|| {
|
fh.read_to_end(&mut bs).ok();
|
||||||
let mut r = reader::from_bytes(&bs[..]);
|
b.iter(|| {
|
||||||
while let Some(_) = r.next(true).unwrap() {}
|
let mut r = reader::from_bytes(&bs[..]);
|
||||||
}));
|
while let Some(_) = r.next(true).unwrap() {}
|
||||||
|
})
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn large_testdata_decoder_without_ann(c: &mut Criterion) {
|
pub fn large_testdata_decoder_without_ann(c: &mut Criterion) {
|
||||||
let mut fh = std::fs::File::open("benches/testdata.bin").unwrap();
|
c.bench_function("decode testdata.bin without annotations", |b| {
|
||||||
let mut bs = vec![];
|
let mut fh = std::fs::File::open("benches/testdata.bin").unwrap();
|
||||||
fh.read_to_end(&mut bs).ok();
|
let mut bs = vec![];
|
||||||
c.bench_function("decode testdata.bin without annotations", |b| b.iter(|| {
|
fh.read_to_end(&mut bs).ok();
|
||||||
let mut r = reader::from_bytes(&bs[..]);
|
b.iter(|| {
|
||||||
while let Some(_) = r.next(false).unwrap() {}
|
let mut r = reader::from_bytes(&bs[..]);
|
||||||
}));
|
while let Some(_) = r.next(false).unwrap() {}
|
||||||
|
})
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn large_testdata_encoder(c: &mut Criterion) {
|
pub fn large_testdata_encoder(c: &mut Criterion) {
|
||||||
let mut fh = std::fs::File::open("benches/testdata.bin").unwrap();
|
c.bench_function("encode testdata.bin", |b| {
|
||||||
let mut vs = vec![];
|
let mut fh = BufReader::new(std::fs::File::open("benches/testdata.bin").unwrap());
|
||||||
let mut r = reader::from_read(&mut fh);
|
let mut vs = vec![];
|
||||||
while let Some(v) = r.next(true).unwrap() {
|
let mut r = reader::from_read(&mut fh);
|
||||||
vs.push(v);
|
while let Some(v) = r.next(true).unwrap() {
|
||||||
}
|
vs.push(v);
|
||||||
|
|
||||||
c.bench_function("encode testdata.bin", |b| b.iter_with_large_drop(|| {
|
|
||||||
let mut bs = vec![];
|
|
||||||
let mut e = encoder::Encoder::new(&mut bs);
|
|
||||||
for v in &vs {
|
|
||||||
e.write(&v).unwrap();
|
|
||||||
}
|
}
|
||||||
bs
|
b.iter_with_large_drop(|| {
|
||||||
}));
|
let mut bs = vec![];
|
||||||
|
let mut e = encoder::Encoder::new(&mut bs);
|
||||||
|
for v in &vs {
|
||||||
|
e.write(&v).unwrap();
|
||||||
|
}
|
||||||
|
bs
|
||||||
|
})
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
criterion_group!(codec,
|
criterion_group!(codec,
|
||||||
|
|
Loading…
Reference in New Issue