ncase 0.3.2

Enforce a case style
Documentation
mod util;

use criterion::*;

use ncase::Words;
use util::make_string;

pub fn split(c: &mut Criterion) {
    for num_words in [0, 100, 10000] {
        let mut group = c.benchmark_group("split");
        group.throughput(Throughput::Bytes(make_string(num_words, "").len() as u64));
        group.bench_with_input(
            BenchmarkId::new("whitespace", num_words),
            &make_string(num_words, " "),
            |b, s| b.iter(|| Words::from(s.as_str())),
        );
        group.bench_with_input(
            BenchmarkId::new("hyphen", num_words),
            &make_string(num_words, "-"),
            |b, s| b.iter(|| Words::from(s.as_str())),
        );
        group.bench_with_input(
            BenchmarkId::new("underscore", num_words),
            &make_string(num_words, "_"),
            |b, s| b.iter(|| Words::from(s.as_str())),
        );
        group.bench_with_input(
            BenchmarkId::new("case", num_words),
            &make_string(num_words, ""),
            |b, s| b.iter(|| Words::from(s.as_str())),
        );
        group.finish();
    }
}

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