summaryrefslogtreecommitdiffstats
path: root/vendor/ucd-trie/benches/bench.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/ucd-trie/benches/bench.rs')
-rw-r--r--vendor/ucd-trie/benches/bench.rs28
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));
+ }
+ });
+}