20 lines
670 B
Rust
20 lines
670 B
Rust
use criterion::{black_box, criterion_group, criterion_main, Criterion};
|
|
use day01::{parse_input, part1, part2};
|
|
|
|
pub fn criterion_benchmark(c: &mut Criterion) {
|
|
let input = include_str!("../../input/day01.txt");
|
|
c.bench_function("day01 parse_input", |b| {
|
|
b.iter(|| parse_input(black_box(input)))
|
|
});
|
|
let input = parse_input(input);
|
|
c.bench_function("day01 part1", |b| b.iter(|| part1(black_box(&input))));
|
|
c.bench_function("day01 part2", |b| b.iter(|| part2(black_box(&input))));
|
|
}
|
|
|
|
criterion_group! {
|
|
name = benches;
|
|
config = Criterion::default().sample_size(1000);
|
|
targets = criterion_benchmark
|
|
}
|
|
criterion_main!(benches);
|