Home

Awesome

Advent of Code 2023

Tests Stars: 41

Plan for This Year

This year I am going to try a couple of new things. First, I am going to try to use the delve go debugger rather than put in print statements while I debug. My hope is that by the end of December I will be much more familiar with the debugger. Second, I want to try asking some generative AIs for helpful functions to see how it improves my speed. I was considering Github copilot, but I just can't give up my current editor, helix, to use vscode, and I don't really want to go down that neovim plugin rabbit hole anymore.

I may use codespaces a bit. I've added some permissions so that I can clone my private inputs submodule just in case, but it's hard to beat the setup I use to write code every day.

This year I also created a new Advent of Code template in the devries/aoc_template repository. It compiles everything into a single executable and times how long it takes to run each problem, as well as generates a template for each day. It was also an opportunity to experiment a bit with code generation.

Efficiency

Although at times I have not found it, there should be a "solution that completes in at most 15 seconds on ten-year-old hardware."

I am hoping this year to find solutions that will run in a reasonable amount of time on a Raspberry Pi 4 Model B with 4 Gigabytes of RAM and a Cortex A72 processor. The Pi-4 is roughly 500-600 times faster than the first computer I purchased in the late 90s (200 MHz Pentium MMX with 64 Megabytes of RAM). Below I have the time it takes for the problem to finish on the third run of my solution after compilation on my Raspberry Pi.

DayPartTime Elapsed
11558.698µs
123.230152ms
211.847944ms
221.950147ms
313.929274ms
324.738173ms
414.211679ms
423.712758ms
513.235819ms
521.154803ms
6131.777µs
6230.13µs
714.545508ms
725.002041ms
813.015281ms
8223.987541ms
912.51753ms
922.292069ms
10159.225004ms
102119.835531ms
111919.568362ms
112908.9021ms
1217.49596ms
122129.23797ms
131708.271µs
132711.826µs
1413.185616ms
1421.734193401s
151460.069µs
1523.105932ms
16147.589642ms
1629.03134853s
1714.215648433s
17213.861613972s
172b1.055163261s
181294.590182ms
1823.934349ms
1913.561334ms
1924.006922ms
20125.246853ms
2022.752046ms

Solutions