26 lines
582 B
Rust
26 lines
582 B
Rust
#![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<TrieSetOwned> =
|
|
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));
|
|
}
|
|
});
|
|
}
|