summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2022-12-12 05:26:51 -0500
committerJesse Luehrs <doy@tozt.net>2022-12-12 05:26:51 -0500
commit0192b90ef99e937b10bc81ba20497467409869e2 (patch)
treeb04feec84b8c7708bfdb5ba89883771e64d96b05
parent43d0b602061b8cafde559d3bb4955b73bce16ea8 (diff)
downloadadvent-of-code-0192b90ef99e937b10bc81ba20497467409869e2.tar.gz
advent-of-code-0192b90ef99e937b10bc81ba20497467409869e2.zip
add combined benchmark
-rw-r--r--benches/2020.rs19
-rw-r--r--benches/2021.rs35
-rw-r--r--benches/2022.rs22
-rw-r--r--benches/helpers/mod.rs15
-rwxr-xr-xbin/stub-code1
5 files changed, 92 insertions, 0 deletions
diff --git a/benches/2020.rs b/benches/2020.rs
index 5135e5a..471ea4c 100644
--- a/benches/2020.rs
+++ b/benches/2020.rs
@@ -32,7 +32,26 @@ day!(2020, 8, day8);
day!(2020, 9, day9);
// NEXT DAY
+fn bench_2020(c: &mut criterion::Criterion) {
+ c.bench_function("2020", |b| {
+ b.iter(|| {
+ day_combined!(2020, 1, day1);
+ day_combined!(2020, 2, day2);
+ day_combined!(2020, 3, day3);
+ day_combined!(2020, 4, day4);
+ day_combined!(2020, 5, day5);
+ day_combined!(2020, 6, day6);
+ day_combined!(2020, 7, day7);
+ day_combined!(2020, 8, day8);
+ day_combined!(2020, 9, day9);
+ // NEXT DAY COMBINED
+ })
+ });
+}
+criterion::criterion_group!(benches_2020, bench_2020);
+
criterion::criterion_main!(
+ benches_2020,
bench_2020day1,
bench_2020day2,
bench_2020day3,
diff --git a/benches/2021.rs b/benches/2021.rs
index a5e0cc8..a1a8b55 100644
--- a/benches/2021.rs
+++ b/benches/2021.rs
@@ -80,7 +80,42 @@ day!(2021, 24, day24);
day!(2021, 25, day25);
// NEXT DAY
+fn bench_2021(c: &mut criterion::Criterion) {
+ c.bench_function("2021", |b| {
+ b.iter(|| {
+ day_combined!(2021, 1, day1);
+ day_combined!(2021, 2, day2);
+ day_combined!(2021, 3, day3);
+ day_combined!(2021, 4, day4);
+ day_combined!(2021, 5, day5);
+ day_combined!(2021, 6, day6);
+ day_combined!(2021, 7, day7);
+ day_combined!(2021, 8, day8);
+ day_combined!(2021, 9, day9);
+ day_combined!(2021, 10, day10);
+ day_combined!(2021, 11, day11);
+ day_combined!(2021, 12, day12);
+ day_combined!(2021, 13, day13);
+ day_combined!(2021, 14, day14);
+ day_combined!(2021, 15, day15);
+ day_combined!(2021, 16, day16);
+ day_combined!(2021, 17, day17);
+ day_combined!(2021, 18, day18);
+ day_combined!(2021, 19, day19);
+ day_combined!(2021, 20, day20);
+ day_combined!(2021, 21, day21);
+ day_combined!(2021, 22, day22);
+ day_combined!(2021, 23, day23);
+ day_combined!(2021, 24, day24);
+ day_combined!(2021, 25, day25);
+ // NEXT DAY COMBINED
+ })
+ });
+}
+criterion::criterion_group!(benches_2021, bench_2021);
+
criterion::criterion_main!(
+ benches_2021,
bench_2021day1,
bench_2021day2,
bench_2021day3,
diff --git a/benches/2022.rs b/benches/2022.rs
index b6ee3df..4838721 100644
--- a/benches/2022.rs
+++ b/benches/2022.rs
@@ -41,7 +41,29 @@ day!(2022, 11, day11);
day!(2022, 12, day12);
// NEXT DAY
+fn bench_2022(c: &mut criterion::Criterion) {
+ c.bench_function("2022", |b| {
+ b.iter(|| {
+ day_combined!(2022, 1, day1);
+ day_combined!(2022, 2, day2);
+ day_combined!(2022, 3, day3);
+ day_combined!(2022, 4, day4);
+ day_combined!(2022, 5, day5);
+ day_combined!(2022, 6, day6);
+ day_combined!(2022, 7, day7);
+ day_combined!(2022, 8, day8);
+ day_combined!(2022, 9, day9);
+ day_combined!(2022, 10, day10);
+ day_combined!(2022, 11, day11);
+ day_combined!(2022, 12, day12);
+ // NEXT DAY COMBINED
+ })
+ });
+}
+criterion::criterion_group!(benches_2022, bench_2022);
+
criterion::criterion_main!(
+ benches_2022,
bench_2022day1,
bench_2022day2,
bench_2022day3,
diff --git a/benches/helpers/mod.rs b/benches/helpers/mod.rs
index 7303ebf..aec8690 100644
--- a/benches/helpers/mod.rs
+++ b/benches/helpers/mod.rs
@@ -70,3 +70,18 @@ macro_rules! day {
}
};
}
+
+macro_rules! day_combined {
+ ($year:expr, $day:expr, $mod:ident) => {{
+ $mod::part1(
+ $mod::parse(advent_of_code::parse::data($year, $day).unwrap())
+ .unwrap(),
+ )
+ .unwrap();
+ $mod::part2(
+ $mod::parse(advent_of_code::parse::data($year, $day).unwrap())
+ .unwrap(),
+ )
+ .unwrap();
+ }};
+}
diff --git a/bin/stub-code b/bin/stub-code
index 73d17eb..d3f218f 100755
--- a/bin/stub-code
+++ b/bin/stub-code
@@ -42,4 +42,5 @@ perl -pi -E"\$seen_part = 1 if /day!.*day$day\)/; if (!\$seen_part && /NEXT PART
perl -pi -E"\$seen_mod = 1 if /mod day$day;/; if (!\$seen_mod && /NEXT MOD/) { say '#[path = \"../src/bin/$year/day${day}.rs\"]'; say 'mod day$day;'; }" benches/"$year".rs
perl -pi -E"\$seen_day = 1 if /day!.*day$day\)/; if (!\$seen_day && /NEXT DAY/) { say 'day!($year, $day, day$day);'; }" benches/"$year".rs
+perl -pi -E"\$seen_day_combined = 1 if /day_combined!.*day$day\)/; if (!\$seen_day_combined && /NEXT DAY COMBINED/) { say ' day_combined!($year, $day, day$day);'; }" benches/"$year".rs
perl -pi -E"\$seen_group = 1 if /bench_${year}day${day},/; if (!\$seen_group && /NEXT GROUP/) { say ' bench_${year}day$day,'; }" benches/"$year".rs