36 lines
1.2 KiB
Rust
36 lines
1.2 KiB
Rust
use aoc2025::aoc::aoc_2;
|
|
use criterion::{Criterion, criterion_group, criterion_main};
|
|
use std::hint::black_box;
|
|
|
|
fn bench_aoc_2_part1(c: &mut Criterion) {
|
|
let input = black_box(include_str!("../src/aoc/input/full_input_aoc2.txt"));
|
|
c.bench_function("bench_aoc2 part 1", |b| b.iter(|| aoc_2::solve_p1(input)));
|
|
}
|
|
|
|
fn bench_aoc_2_part1_f(c: &mut Criterion) {
|
|
let input = black_box(include_str!("../src/aoc/input/full_input_aoc2.txt"));
|
|
c.bench_function("bench_aoc2 part 1 fast", |b| {
|
|
b.iter(|| aoc_2::solve_p1_unsafe(input))
|
|
});
|
|
}
|
|
fn bench_aoc_2_part1_faster(c: &mut Criterion) {
|
|
let input = black_box(include_bytes!("../src/aoc/input/full_input_aoc2.txt"));
|
|
c.bench_function("bench_aoc2 part 1 faster", |b| {
|
|
b.iter(|| aoc_2::solve_p1_bytes(input))
|
|
});
|
|
}
|
|
|
|
fn bench_aoc_2_part2(c: &mut Criterion) {
|
|
let input = black_box(include_str!("../src/aoc/input/full_input_aoc2.txt"));
|
|
c.bench_function("bench_aoc2 part 1", |b| b.iter(|| aoc_2::solve_p2(input)));
|
|
}
|
|
|
|
criterion_group!(
|
|
benches_p2,
|
|
bench_aoc_2_part1,
|
|
bench_aoc_2_part1_f,
|
|
bench_aoc_2_part1_faster,
|
|
bench_aoc_2_part2
|
|
);
|
|
criterion_main!(benches_p2);
|