#[macro_use]
extern crate criterion;
extern crate pdatastructs;
use criterion::Criterion;
use pdatastructs::hyperloglog::HyperLogLog;
fn hyperloglog_add_single(c: &mut Criterion) {
c.bench_function("hyperloglog_add_single", |b| {
let address_bits = 4; let mut hll = HyperLogLog::<&str>::new(address_bits);
let obj = "foo bar";
b.iter(|| {
hll.add(&obj);
})
});
}
fn hyperloglog_count_empty(c: &mut Criterion) {
c.bench_function("hyperloglog_count_empty", |b| {
let address_bits = 4; let hll = HyperLogLog::<u64>::new(address_bits);
b.iter(|| {
hll.count();
})
});
}
criterion_group!(benches, hyperloglog_add_single, hyperloglog_count_empty);
criterion_main!(benches);