mod shared;
use {
broot::{
command::CommandParts,
pattern::*,
},
glassbench::*,
};
static PATTERNS: &[&str] = &[
"réveil",
"r&!e",
"(!e&!b)|c",
];
fn bench_score_of_composite(gb: &mut Bench) {
let search_modes = SearchModeMap::default();
for pattern in PATTERNS {
let name = format!("Composite({:?})::score_of", &pattern);
gb.task(name, |b| {
let parts = CommandParts::from(pattern.to_string());
let cp = Pattern::new(&parts.pattern, &search_modes).unwrap();
b.iter(|| {
for name in shared::NAMES {
pretend_used(cp.score_of_string(name));
}
});
});
}
}
glassbench!(
"Composite Patterns",
bench_score_of_composite,
);