43 lines
1.0 KiB
Rust
43 lines
1.0 KiB
Rust
|
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());
|
||
|
}
|