base91 0.1.0

Encoding binary data as ASCII characters. Similar to base64, but more efficient.
Documentation
extern crate criterion;
extern crate base91;

use criterion::{black_box, criterion_group, criterion_main, Criterion};
use base91::{slice_encode, slice_decode};

pub fn criterion_benchmark(c: &mut Criterion) {
    let mut buf: [u8; 10240] = [0; 10240];
    let mut bytes = (0..=255).cycle();

    for i in 0..10240 {
        buf[i] = bytes.next().unwrap();
    }

    let encoded = slice_encode(&buf);

    c.bench_function("slice_encode", move |b| {
        b.iter(|| {
            slice_encode(black_box(&buf));
        })
    });

    c.bench_function("slice_decode", move |b| {
        b.iter(|| {
            slice_decode(black_box(&encoded));
        })
    });
}

criterion_group!(benches, criterion_benchmark);
criterion_main!(benches);