use base85::*;
use criterion::{black_box, criterion_group, criterion_main, Criterion};
use rand::RngCore;
fn encode_benchmark(c: &mut Criterion) {
let mut testdata = vec![0; 0x100000];
rand::thread_rng().fill_bytes(&mut testdata);
let encoded = encode(&testdata);
c.bench_function("encoder", |b| {
b.iter(|| {
let _ = encode(black_box(&testdata));
})
});
c.bench_function("encoder_prime", |b| {
b.iter(|| {
let _ = encode(black_box(&testdata[..100003]));
})
});
c.bench_function("encoder_short", |b| {
b.iter(|| {
let _ = encode(black_box(&testdata[..11]));
})
});
c.bench_function("decoder", |b| {
b.iter(|| {
let _ = decode(black_box(&encoded));
})
});
}
criterion_group!(benches, encode_benchmark);
criterion_main!(benches);