#![feature(test)] extern crate test; use once_cell::sync::Lazy; use ucd_trie::TrieSetOwned; #[bench] fn bench_trie_set(b: &mut test::Bencher) { const CHARS: &'static [char] = &['a', 'β', '☃', '😼']; // const CHARS: &'static [char] = &['a']; static SET: Lazy = Lazy::new(|| TrieSetOwned::from_scalars(CHARS).unwrap()); let set = Lazy::force(&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)); } }); }