2022-05-12 23:12:06 +02:00
|
|
|
use criterion::{criterion_group, criterion_main, Criterion};
|
2022-05-12 15:34:02 +02:00
|
|
|
use freedesktop_icons::lookup;
|
2022-05-12 23:12:06 +02:00
|
|
|
use gtk4::{IconLookupFlags, IconTheme, TextDirection};
|
2022-05-12 15:34:02 +02:00
|
|
|
|
|
|
|
|
pub fn simple_lookup(c: &mut Criterion) {
|
2022-05-12 23:12:06 +02:00
|
|
|
c.bench_function("lookup firefox", |b| b.iter(|| lookup("firefox").find()));
|
2022-05-12 15:34:02 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
pub fn simple_lookup_linicon(c: &mut Criterion) {
|
|
|
|
|
c.bench_function("lookup firefox linicon", |b| {
|
|
|
|
|
b.iter(|| linicon::lookup_icon("firefox").next().unwrap().unwrap())
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
2022-05-12 23:12:06 +02:00
|
|
|
pub fn simple_lookup_gtk(c: &mut Criterion) {
|
|
|
|
|
c.bench_function("lookup firefox gkt", |b| {
|
|
|
|
|
gtk4::init().unwrap();
|
|
|
|
|
let theme = IconTheme::new();
|
|
|
|
|
b.iter(|| {
|
|
|
|
|
theme.lookup_icon(
|
|
|
|
|
"firefox",
|
|
|
|
|
&[],
|
|
|
|
|
24,
|
|
|
|
|
1,
|
|
|
|
|
TextDirection::None,
|
|
|
|
|
IconLookupFlags::empty(),
|
|
|
|
|
)
|
|
|
|
|
})
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
criterion_group!(
|
|
|
|
|
benches,
|
|
|
|
|
simple_lookup,
|
|
|
|
|
simple_lookup_linicon,
|
|
|
|
|
simple_lookup_gtk
|
|
|
|
|
);
|
2022-05-12 15:34:02 +02:00
|
|
|
criterion_main!(benches);
|