23 lines
731 B
Rust
23 lines
731 B
Rust
#[macro_use]
|
|
extern crate criterion;
|
|
|
|
extern crate byte_ngram;
|
|
|
|
use criterion::{Criterion, Fun};
|
|
|
|
use byte_ngram::{ByteNgramReader, from_slice};
|
|
|
|
fn criterion_benchmark(c: &mut Criterion) {
|
|
let data = String::from("Blackmail is such an ugly word. I prefer extortion. The 'x' makes it sound cool.");
|
|
|
|
let fn_from_slice = Fun::new("from_slice", |b, i: &String| b.iter(|| for _ in from_slice(i.as_bytes()) {}));
|
|
let fn_from_reader = Fun::new("ByteNgramReader", |b, i: &String| b.iter(|| for _ in ByteNgramReader::new(i.as_bytes()) {}));
|
|
|
|
let functions = vec![fn_from_slice, fn_from_reader];
|
|
|
|
c.bench_functions("Read", functions, &data);
|
|
}
|
|
|
|
criterion_group!(benches, criterion_benchmark);
|
|
criterion_main!(benches);
|