diff options
Diffstat (limited to 'vendor/ucd-trie/benches')
-rw-r--r-- | vendor/ucd-trie/benches/bench.rs | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/vendor/ucd-trie/benches/bench.rs b/vendor/ucd-trie/benches/bench.rs new file mode 100644 index 000000000..53c04b9d0 --- /dev/null +++ b/vendor/ucd-trie/benches/bench.rs @@ -0,0 +1,28 @@ +#![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)); + } + }); +} |