1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
#[macro_use]
extern crate criterion;
extern crate mime_guess;
use self::criterion::Criterion;
use mime_guess::from_ext;
include!("../src/mime_types.rs");
/// WARNING: this may take a while!
fn bench_mime_str(c: &mut Criterion) {
c.bench_function("from_ext", |b| {
for (mime_ext, _) in MIME_TYPES {
b.iter(|| from_ext(mime_ext).first_raw());
}
});
}
fn bench_mime_str_uppercase(c: &mut Criterion) {
c.bench_function("from_ext uppercased", |b| {
let uppercased = MIME_TYPES.into_iter().map(|(s, _)| s.to_uppercase());
for mime_ext in uppercased {
b.iter(|| from_ext(&mime_ext).first_raw());
}
});
}
criterion_group!(benches, bench_mime_str, bench_mime_str_uppercase);
criterion_main!(benches);
|