summaryrefslogtreecommitdiffstats
path: root/library/std/benches/hash/set_ops.rs
diff options
context:
space:
mode:
Diffstat (limited to 'library/std/benches/hash/set_ops.rs')
-rw-r--r--library/std/benches/hash/set_ops.rs42
1 files changed, 42 insertions, 0 deletions
diff --git a/library/std/benches/hash/set_ops.rs b/library/std/benches/hash/set_ops.rs
new file mode 100644
index 000000000..1a4c4a66e
--- /dev/null
+++ b/library/std/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());
+}