1 use std::collections::HashSet; 2 use test::Bencher; 3 4 #[bench] set_difference(b: &mut Bencher)5fn set_difference(b: &mut Bencher) { 6 let small: HashSet<_> = (0..10).collect(); 7 let large: HashSet<_> = (0..100).collect(); 8 9 b.iter(|| small.difference(&large).count()); 10 } 11 12 #[bench] set_is_subset(b: &mut Bencher)13fn set_is_subset(b: &mut Bencher) { 14 let small: HashSet<_> = (0..10).collect(); 15 let large: HashSet<_> = (0..100).collect(); 16 17 b.iter(|| small.is_subset(&large)); 18 } 19 20 #[bench] set_intersection(b: &mut Bencher)21fn set_intersection(b: &mut Bencher) { 22 let small: HashSet<_> = (0..10).collect(); 23 let large: HashSet<_> = (0..100).collect(); 24 25 b.iter(|| small.intersection(&large).count()); 26 } 27 28 #[bench] set_symmetric_difference(b: &mut Bencher)29fn set_symmetric_difference(b: &mut Bencher) { 30 let small: HashSet<_> = (0..10).collect(); 31 let large: HashSet<_> = (0..100).collect(); 32 33 b.iter(|| small.symmetric_difference(&large).count()); 34 } 35 36 #[bench] set_union(b: &mut Bencher)37fn set_union(b: &mut Bencher) { 38 let small: HashSet<_> = (0..10).collect(); 39 let large: HashSet<_> = (0..100).collect(); 40 41 b.iter(|| small.union(&large).count()); 42 } 43