mod common;
use criterion::{Criterion, criterion_group, criterion_main};
use std::time::Duration;
fn bench_graph(c: &mut Criterion) {
let mut group = c.benchmark_group("graph");
group.sample_size(10);
group.measurement_time(Duration::from_secs(15));
group.bench_function("insert", |b| {
b.iter_custom(|iters| {
let n = iters.to_string();
let out = common::run_inkhaven_bare_capture(&["_bench-graph", "--edges", &n, "--queries", "0"]);
common::parse_micros(&out, "edge_insert_total_us:")
});
});
group.bench_function("neighbor_query", |b| {
b.iter_custom(|iters| {
let q = iters.to_string();
let out = common::run_inkhaven_bare_capture(&["_bench-graph", "--edges", "5000", "--queries", &q]);
common::parse_micros(&out, "edge_query_total_us:")
});
});
group.finish();
}
criterion_group!(benches, bench_graph);
criterion_main!(benches);