#[macro_use] extern crate criterion; extern crate rand; extern crate bit_set; use std::iter::FromIterator; use criterion::Criterion; use rand::{Rng, SeedableRng, XorShiftRng}; use bit_set::BitSet; fn default_set>(n: usize) -> C { let mut rng = XorShiftRng::from_seed([0, 1, 2, 3]); (0..n).map(|_| rng.next_u64()).collect() } fn criterion_benchmark(c: &mut Criterion) { let data: Vec<_> = default_set(1000); c.bench_function("insert", |b| b.iter(|| { let mut set = BitSet::new(); for v in &data { set.insert(*v); } })); } criterion_group!(benches, criterion_benchmark); criterion_main!(benches);