1 #![feature(test)]
2 
3 extern crate test;
4 
5 use once_cell::sync::Lazy;
6 use ucd_trie::TrieSetOwned;
7 
8 #[bench]
bench_trie_set(b: &mut test::Bencher)9 fn bench_trie_set(b: &mut test::Bencher) {
10     const CHARS: &'static [char] = &['a', 'β', '☃', '��'];
11     // const CHARS: &'static [char] = &['a'];
12     static SET: Lazy<TrieSetOwned> =
13         Lazy::new(|| TrieSetOwned::from_scalars(CHARS).unwrap());
14 
15     let set = Lazy::force(&SET);
16     let mut i = 0;
17     b.iter(|| {
18         let c = CHARS[i];
19         i = (i + 1) % CHARS.len();
20 
21         for _ in 0..10000 {
22             assert!(set.contains_char(c));
23         }
24     });
25 }
26