#![feature(test)] | |
#[macro_use] | |
extern crate lazy_static; | |
extern crate test; | |
use ucd_trie::TrieSetOwned; | |
#[bench] | |
fn bench_trie_set(b: &mut test::Bencher) { | |
const CHARS: &'static [char] = &['a', 'β', '☃', '😼']; | |
// const CHARS: &'static [char] = &['a']; | |
lazy_static! { | |
static ref SET: TrieSetOwned = | |
TrieSetOwned::from_scalars(CHARS).unwrap(); | |
} | |
let set = &*SET; | |
let mut i = 0; | |
b.iter(|| { | |
let c = CHARS[i]; | |
i = (i + 1) % CHARS.len(); | |
for _ in 0..10000 { | |
assert!(set.contains_char(c)); | |
} | |
}); | |
} |