about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/liballoc/benches/btree/set.rs8
-rw-r--r--src/libstd/benches/hash/map.rs (renamed from src/libstd/collections/hash/bench.rs)15
-rw-r--r--src/libstd/benches/hash/mod.rs2
-rw-r--r--src/libstd/benches/hash/set_ops.rs42
-rw-r--r--src/libstd/benches/lib.rs5
-rw-r--r--src/libstd/collections/hash/mod.rs1
6 files changed, 52 insertions, 21 deletions
diff --git a/src/liballoc/benches/btree/set.rs b/src/liballoc/benches/btree/set.rs
index 6357ea3ea11..18502ded308 100644
--- a/src/liballoc/benches/btree/set.rs
+++ b/src/liballoc/benches/btree/set.rs
@@ -1,7 +1,7 @@
 use std::collections::BTreeSet;
 
 use rand::{thread_rng, Rng};
-use test::{black_box, Bencher};
+use test::Bencher;
 
 fn random(n: usize) -> BTreeSet<usize> {
     let mut rng = thread_rng();
@@ -31,7 +31,6 @@ fn pos(n: usize) -> BTreeSet<i32> {
     set
 }
 
-
 fn stagger(n1: usize, factor: usize) -> [BTreeSet<u32>; 2] {
     let n2 = n1 * factor;
     let mut sets = [BTreeSet::new(), BTreeSet::new()];
@@ -52,10 +51,7 @@ macro_rules! set_bench {
             let sets = $sets;
 
             // measure
-            b.iter(|| {
-                let x = sets[0].$set_func(&sets[1]).$result_func();
-                black_box(x);
-            })
+            b.iter(|| sets[0].$set_func(&sets[1]).$result_func())
         }
     };
 }
diff --git a/src/libstd/collections/hash/bench.rs b/src/libstd/benches/hash/map.rs
index 7f5add05436..25425c5968e 100644
--- a/src/libstd/collections/hash/bench.rs
+++ b/src/libstd/benches/hash/map.rs
@@ -1,11 +1,10 @@
 #![cfg(test)]
 
 use test::Bencher;
+use std::collections::HashMap;
 
 #[bench]
 fn new_drop(b: &mut Bencher) {
-    use super::map::HashMap;
-
     b.iter(|| {
         let m: HashMap<i32, i32> = HashMap::new();
         assert_eq!(m.len(), 0);
@@ -14,8 +13,6 @@ fn new_drop(b: &mut Bencher) {
 
 #[bench]
 fn new_insert_drop(b: &mut Bencher) {
-    use super::map::HashMap;
-
     b.iter(|| {
         let mut m = HashMap::new();
         m.insert(0, 0);
@@ -25,8 +22,6 @@ fn new_insert_drop(b: &mut Bencher) {
 
 #[bench]
 fn grow_by_insertion(b: &mut Bencher) {
-    use super::map::HashMap;
-
     let mut m = HashMap::new();
 
     for i in 1..1001 {
@@ -43,8 +38,6 @@ fn grow_by_insertion(b: &mut Bencher) {
 
 #[bench]
 fn find_existing(b: &mut Bencher) {
-    use super::map::HashMap;
-
     let mut m = HashMap::new();
 
     for i in 1..1001 {
@@ -60,8 +53,6 @@ fn find_existing(b: &mut Bencher) {
 
 #[bench]
 fn find_nonexisting(b: &mut Bencher) {
-    use super::map::HashMap;
-
     let mut m = HashMap::new();
 
     for i in 1..1001 {
@@ -77,8 +68,6 @@ fn find_nonexisting(b: &mut Bencher) {
 
 #[bench]
 fn hashmap_as_queue(b: &mut Bencher) {
-    use super::map::HashMap;
-
     let mut m = HashMap::new();
 
     for i in 1..1001 {
@@ -96,8 +85,6 @@ fn hashmap_as_queue(b: &mut Bencher) {
 
 #[bench]
 fn get_remove_insert(b: &mut Bencher) {
-    use super::map::HashMap;
-
     let mut m = HashMap::new();
 
     for i in 1..1001 {
diff --git a/src/libstd/benches/hash/mod.rs b/src/libstd/benches/hash/mod.rs
new file mode 100644
index 00000000000..42401a21b76
--- /dev/null
+++ b/src/libstd/benches/hash/mod.rs
@@ -0,0 +1,2 @@
+mod map;
+mod set_ops;
diff --git a/src/libstd/benches/hash/set_ops.rs b/src/libstd/benches/hash/set_ops.rs
new file mode 100644
index 00000000000..1a4c4a66ee9
--- /dev/null
+++ b/src/libstd/benches/hash/set_ops.rs
@@ -0,0 +1,42 @@
+use std::collections::HashSet;
+use test::Bencher;
+
+#[bench]
+fn set_difference(b: &mut Bencher) {
+    let small: HashSet<_> = (0..10).collect();
+    let large: HashSet<_> = (0..100).collect();
+
+    b.iter(|| small.difference(&large).count());
+}
+
+#[bench]
+fn set_is_subset(b: &mut Bencher) {
+    let small: HashSet<_> = (0..10).collect();
+    let large: HashSet<_> = (0..100).collect();
+
+    b.iter(|| small.is_subset(&large));
+}
+
+#[bench]
+fn set_intersection(b: &mut Bencher) {
+    let small: HashSet<_> = (0..10).collect();
+    let large: HashSet<_> = (0..100).collect();
+
+    b.iter(|| small.intersection(&large).count());
+}
+
+#[bench]
+fn set_symmetric_difference(b: &mut Bencher) {
+    let small: HashSet<_> = (0..10).collect();
+    let large: HashSet<_> = (0..100).collect();
+
+    b.iter(|| small.symmetric_difference(&large).count());
+}
+
+#[bench]
+fn set_union(b: &mut Bencher) {
+    let small: HashSet<_> = (0..10).collect();
+    let large: HashSet<_> = (0..100).collect();
+
+    b.iter(|| small.union(&large).count());
+}
diff --git a/src/libstd/benches/lib.rs b/src/libstd/benches/lib.rs
new file mode 100644
index 00000000000..4d1cf7fab7b
--- /dev/null
+++ b/src/libstd/benches/lib.rs
@@ -0,0 +1,5 @@
+#![feature(test)]
+
+extern crate test;
+
+mod hash;
diff --git a/src/libstd/collections/hash/mod.rs b/src/libstd/collections/hash/mod.rs
index a6d89a4d32a..348820af54b 100644
--- a/src/libstd/collections/hash/mod.rs
+++ b/src/libstd/collections/hash/mod.rs
@@ -1,5 +1,4 @@
 //! Unordered containers, implemented as hash-tables
 
-mod bench;
 pub mod map;
 pub mod set;