use criterion::black_box; use criterion::criterion_group; use criterion::criterion_main; use criterion::Criterion; use unic_langid_impl::canonicalize; fn langid_canonicalize_bench(c: &mut Criterion) { let strings = &[ "En_uS", "EN-GB", "ES-aR", "iT", "zH_HaNs_cN", "dE-aT", "Pl", "FR-FR", "de_AT", "sR-CyrL_sr", "NB-NO", "fr_fr", "Mk", "uK", "en-us", "en_gb", "ES-AR", "tH", "DE", "ZH_cyrl_hN", "eN-lAtN-uS", ]; c.bench_function("langid_canonicalize", |b| { b.iter(|| { for s in strings { let _ = canonicalize(black_box(s)); } }) }); c.bench_function("langid_canonicalize_from_bytes", |b| { let slices: Vec<&[u8]> = strings.iter().map(|s| s.as_bytes()).collect(); b.iter(|| { for s in &slices { let _ = canonicalize(black_box(s)); } }) }); } criterion_group!(benches, langid_canonicalize_bench,); criterion_main!(benches);