• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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)10 fn 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