25 lines
657 B
Rust
25 lines
657 B
Rust
#[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);
|