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()); }