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