diff options
Diffstat (limited to 'library/std/benches/hash/set_ops.rs')
-rw-r--r-- | library/std/benches/hash/set_ops.rs | 42 |
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()); +} |