#[macro_use] extern crate criterion; extern crate byte_ngram; use criterion::{Benchmark, Criterion, Throughput}; use byte_ngram::*; fn criterion_benchmark(c: &mut Criterion) { let data = "Blackmail is such an ugly word. I prefer extortion. The 'x' makes it sound cool."; c.bench( "parse", Benchmark::new("from_slice", move |b| { b.iter(|| from_slice(&data[..]).len()) }).with_function("Ngrams::from", move |b| { b.iter(|| Ngrams::from(&data).count()) }).throughput(Throughput::Bytes(data.len() as u32)), ); } criterion_group!(benches, criterion_benchmark); criterion_main!(benches);