Outside Context Problem
2022 - Summary

So, 2022 is now done and dusted. I was really enjoying the puzzles. Always feels a bit empty when done.

I made a rod for my own back again this year when well into Advent, I noticed all my solutions were all running in around a few milliseconds.

So, personal challenge... Can I get the runtime of all puzzles combined to be less than one second? I also mentioned this in the Just Eat Takeaway AoC Slack channel, like a muppet.

I started getting worried when the puzzles got more complicated and the times crept up quickly. I think at one point the longest running was around the 8 - 10 minute mark!

Anyway, some determined optimisation later and these are the current statistics. Not quite there, but not far off.

I will cover optimisations in future blog posts.

Hardware

2020 16" Intel MacBook Pro with TouchBar

Results

 2022  1.1: 0ms     Calorie counting
 2022  1.2: 1ms
 2022  2.1: 0ms     Rock paper scissors
 2022  2.2: 0ms
 2022  3.1: 0ms     Rucksack reorganization
 2022  3.2: 0ms
 2022  4.1: 0ms     Camp cleanup
 2022  4.2: 0ms
 2022  5.1: 0ms     Supply stacks
 2022  5.2: 0ms
 2022  6.1: 0ms     Tuning trouble
 2022  6.2: 0ms
 2022  7.1: 2ms     No space left on device
 2022  7.2: 1ms
 2022  8.1: 1ms     Treetop tree house
 2022  8.2: 1ms
 2022  9.1: 2ms     Rope bridge
 2022  9.2: 3ms
 2022 10.1: 0ms     Cathode-Ray tube
 2022 10.2: 0ms
 2022 11.1: 1ms     Monkey in the middle
 2022 11.2: 8ms
 2022 12.1: 8ms     Hill climbing algorithm
 2022 12.2: 5ms
 2022 13.1: 0ms     Distress signal
 2022 13.2: 1ms
 2022 14.1: 3ms     Regolith reservoir
 2022 14.2: 10ms
 2022 15.1: 0ms     Beacon exclusion zone
 2022 15.2: 24ms
 2022 16.1: 39ms    Proboscidea volcanium
 2022 16.2: 624ms
 2022 17.1: 2ms     Pyroclastic flow
 2022 17.2: 3ms
 2022 18.1: 1ms     Boiling boulders
 2022 18.2: 3ms
 2022 19.1: 81ms    Not enough minerals
 2022 19.2: 18ms
 2022 20.1: 56ms    Grove positioning system
 2022 20.2: 258ms
 2022 21.1: 1ms     Monkey math
 2022 21.2: 0ms
 2022 22.1: 2ms     Monkey map
 2022 22.2: 2ms
 2022 23.1: 11ms    Unstable diffusion
 2022 23.2: 758ms
 2022 24.1: 64ms    Blizzard basin
 2022 24.2: 164ms
 2022 25.1: 0ms     Full of hot air
            -------
            2158ms

I could always throw them at a beefy AWS instance, but that's not the spirit of my challenge. Has to be on my personal laptop.

I'll still try to eke some more performance out, aiming for the magical 1 second, but as this year's AoC is finished now... in my view... challenge failed.

As usual, the source code is in my GitHub repo.

Anyway, stick around and I'll add some posts about optimisations, some other things I did during the challenge, and problems I found particularly tricky.