2019: add benchmarks

This commit is contained in:
Antoine Martin 2019-12-06 19:07:57 +01:00
parent 4bff689da0
commit 0c98050bc0
3 changed files with 535 additions and 0 deletions

View file

@ -6,6 +6,23 @@ edition = "2018"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dev-dependencies]
criterion = "0.3"
[dependencies]
aoc = { path = "../aoc" }
[lib]
path = "src/lib.rs"
bench = false
[[bin]]
name = "aoc2019"
path = "src/main.rs"
bench = false
[[bench]]
name = "bench"
harness = false

24
aoc2019/benches/bench.rs Normal file
View file

@ -0,0 +1,24 @@
use criterion::{criterion_group, criterion_main, Criterion};
use aoc2019::day01;
use aoc2019::day02;
use aoc2019::day03;
use aoc2019::day04;
use aoc2019::day05;
use aoc2019::day06;
fn aoc2019_all(c: &mut Criterion) {
c.bench_function("day01", |b| b.iter(|| day01::run().unwrap()));
c.bench_function("day02", |b| b.iter(|| day02::run().unwrap()));
c.bench_function("day03", |b| b.iter(|| day03::run().unwrap()));
c.bench_function("day04", |b| b.iter(|| day04::run().unwrap()));
c.bench_function("day05", |b| b.iter(|| day05::run().unwrap()));
c.bench_function("day06", |b| b.iter(|| day06::run().unwrap()));
}
criterion_group! {
name = all_days;
config = Criterion::default().sample_size(10);
targets = aoc2019_all
}
criterion_main!(all_days);