mod shared; use { broot::{ command::CommandParts, pattern::*, }, glassbench::*, }; // this file benches composite patterns on file names so don't // use file content sub patterns here 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, );