add benches for 2015 and 2018

This commit is contained in:
Antoine Martin 2019-12-07 03:02:35 +01:00
parent 8355f0dcd3
commit 7eca1339d7
5 changed files with 82 additions and 0 deletions

2
Cargo.lock generated
View file

@ -9,6 +9,7 @@ name = "aoc2015"
version = "0.1.0" version = "0.1.0"
dependencies = [ dependencies = [
"aoc 0.1.0", "aoc 0.1.0",
"criterion 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
"md-5 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "md-5 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
] ]
@ -17,6 +18,7 @@ name = "aoc2018"
version = "0.1.0" version = "0.1.0"
dependencies = [ dependencies = [
"aoc 0.1.0", "aoc 0.1.0",
"criterion 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
] ]
[[package]] [[package]]

View file

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

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

@ -0,0 +1,24 @@
use criterion::{criterion_group, criterion_main, Criterion};
use aoc2015::day01;
use aoc2015::day02;
use aoc2015::day03;
use aoc2015::day04;
use aoc2015::day05;
use aoc2015::day06;
fn aoc2015_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 = aoc2015_all
}
criterion_main!(all_days);

View file

@ -5,7 +5,24 @@ authors = ["Antoine Martin <antoine97.martin@gmail.com>"]
edition = "2018" edition = "2018"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
#
[dev-dependencies]
criterion = "0.3"
[dependencies] [dependencies]
aoc = { path = "../aoc" } aoc = { path = "../aoc" }
[lib]
path = "src/lib.rs"
bench = false
[[bin]]
name = "aoc2018"
path = "src/main.rs"
bench = false
[[bench]]
name = "bench"
harness = false

22
aoc2018/benches/bench.rs Normal file
View file

@ -0,0 +1,22 @@
use criterion::{criterion_group, criterion_main, Criterion};
use aoc2018::day01;
use aoc2018::day02;
use aoc2018::day03;
use aoc2018::day04;
use aoc2018::day05;
fn aoc2018_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()));
}
criterion_group! {
name = all_days;
config = Criterion::default().sample_size(10);
targets = aoc2018_all
}
criterion_main!(all_days);