bench: split to separate package
Unfortunately cargo doesn't allow optional dev dependencies (see rust-lang/cargo#1596) so this is the workaround. Previously, running `cargo test` triggered the build of all dev dependencies, including criterion, which in turn pulls in a lot of stuff. Running tests should be faster, hence this change.
This commit is contained in:
parent
99f599e910
commit
8d11c817f3
14 changed files with 98 additions and 47 deletions
17
aoc2019/aoc2019_bench/Cargo.toml
Normal file
17
aoc2019/aoc2019_bench/Cargo.toml
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
[package]
|
||||
name = "aoc2019_bench"
|
||||
version = "0.1.0"
|
||||
authors = ["Antoine Martin <antoine97.martin@gmail.com>"]
|
||||
edition = "2018"
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[dependencies]
|
||||
aoc2019 = { path = "../" }
|
||||
|
||||
[dev-dependencies]
|
||||
criterion = "0.3"
|
||||
|
||||
[[bench]]
|
||||
name = "aoc2019_bench"
|
||||
harness = false
|
||||
40
aoc2019/aoc2019_bench/benches/aoc2019_bench.rs
Normal file
40
aoc2019/aoc2019_bench/benches/aoc2019_bench.rs
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
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;
|
||||
use aoc2019::day07;
|
||||
use aoc2019::day08;
|
||||
use aoc2019::day09;
|
||||
use aoc2019::day10;
|
||||
use aoc2019::day11;
|
||||
use aoc2019::day12;
|
||||
use aoc2019::day13;
|
||||
use aoc2019::day14;
|
||||
|
||||
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()));
|
||||
c.bench_function("day07", |b| b.iter(|| day07::run().unwrap()));
|
||||
c.bench_function("day08", |b| b.iter(|| day08::run().unwrap()));
|
||||
c.bench_function("day09", |b| b.iter(|| day09::run().unwrap()));
|
||||
c.bench_function("day10", |b| b.iter(|| day10::run().unwrap()));
|
||||
c.bench_function("day11", |b| b.iter(|| day11::run().unwrap()));
|
||||
c.bench_function("day12", |b| b.iter(|| day12::run().unwrap()));
|
||||
c.bench_function("day13", |b| b.iter(|| day13::run().unwrap()));
|
||||
c.bench_function("day14", |b| b.iter(|| day14::run().unwrap()));
|
||||
}
|
||||
|
||||
criterion_group! {
|
||||
name = all_days;
|
||||
config = Criterion::default().sample_size(30);
|
||||
targets = aoc2019_all
|
||||
}
|
||||
criterion_main!(all_days);
|
||||
Loading…
Add table
Add a link
Reference in a new issue