Mostly written in Go and Rust
| 2015 | 2016 | 2017 | 2018 | 2019 | 2020 | 2021 | 2022 | 2023 | 2024 | |
|---|---|---|---|---|---|---|---|---|---|---|
| 01 | ![]() |
🦀 | 🦀 |
🦀 |
![]() |
![]() |
![]() |
|||
| 02 | ![]() |
🦀 | 🦀 | 🦀 |
![]() |
![]() |
![]() |
|||
| 03 | ![]() |
🦀 | 🦀 | 🦀 | ![]() |
![]() |
![]() |
|||
| 04 | ![]() |
🦀 | 🦀 | 🦀 | ![]() |
![]() |
![]() |
|||
| 05 | ![]() |
🦀 | 🦀 | 🦀 | ![]() |
![]() |
![]() |
|||
| 06 | ![]() |
🦀 | 🦀 | 🦀 |
![]() |
![]() |
![]() |
|||
| 07 | ![]() |
🦀 | ![]() |
🦀 |
![]() |
![]() |
![]() |
|||
| 08 | ![]() |
🦀 | ![]() |
🦀 | ![]() |
![]() |
![]() |
|||
| 09 | ![]() |
🦀 | ![]() |
![]() |
![]() |
![]() |
![]() |
|||
| 10 | ![]() |
🦀 | ![]() |
🦀 |
![]() |
![]() |
![]() |
|||
| 11 | ![]() |
🦀 | ![]() |
🦀 |
![]() |
![]() |
![]() |
|||
| 12 | ![]() |
🦀 | 🦀 | ![]() |
![]() |
![]() |
![]() |
|||
| 13 | ![]() |
🦀 | 🦀 | 🦀 |
![]() |
![]() |
![]() |
|||
| 14 | ![]() |
🦀 | 🦀 | ![]() |
![]() |
![]() |
![]() |
|||
| 15 | ![]() |
🦀 | 🦀 | ![]() |
![]() |
![]() |
![]() |
|||
| 16 | ![]() |
🦀 | 🦀 | ![]() |
![]() |
![]() |
![]() |
|||
| 17 | ![]() |
🦀 | 🦀 | ![]() |
![]() |
![]() |
![]() |
|||
| 18 | ![]() |
🦀 | 🦀 | ![]() |
![]() |
![]() |
![]() |
|||
| 19 | ![]() |
🦀 | ![]() |
![]() |
![]() |
![]() |
![]() |
|||
| 20 | ![]() |
🦀 | ![]() |
![]() |
![]() |
![]() |
![]() |
|||
| 21 | ![]() |
🦀 | ![]() |
![]() |
![]() |
![]() |
![]() |
|||
| 22 | ![]() |
🦀 | ![]() |
![]() |
![]() |
![]() |
![]() |
|||
| 23 | ![]() |
🦀 | ![]() |
![]() |
![]() |
![]() |
![]() |
|||
| 24 | ![]() |
🦀 | ![]() |
![]() |
![]() |
![]() |
![]() |
|||
| 25 | ![]() |
🦀 | ![]() |
![]() |
![]() |
![]() |
![]() |
cd go/<n>andgo run .go testto run unit testsgo test -bench .to run benchmarksgo test ./...to run unit tests in all subdirectories
cd rust/<n>andcargo runcargo run --releaseto run the puzzle in release modecargo testto run unit testscargo benchto run benchmarks
Execution time on an MacBook Air M2
| Go | part A | part B |
|---|---|---|
| day 01 | 0.052 ms |
0.074 ms |
| day 02 | 1.676 ms |
1.946 ms |
| day 03 | 0.037 ms |
0.062 ms |
| day 04 | 2.976 ms |
3.370 ms |
| day 05 | 0.192 ms |
0.457 ms |
| day 06 | 0.712 ms |
405.7 ms |
| day 07 | 0.300 ms |
0.443 ms |
| day 08 | 0.027 ms |
0.095 ms |
| day 09 | 0.943 ms |
0.752 ms |
| day 10 | 0.240 ms |
0.240 ms |
| day 11 | 0.230 ms |
12.38 ms |
| day 12 | 10.15 ms |
19.84 ms |
| day 13 | 0.722 ms |
0.730 ms |
| day 14 | 0.380 ms |
85.94 ms |
| day 15 | 4.978 ms |
5.852 ms |
| day 16 | 11.89 ms |
52.57 ms |
| day 17 | 0.002 ms |
0.119 ms |
| day 18 | 3.392 ms |
3.399 ms |
| day 19 | 17.81 ms |
17.98 ms |
| day 20 | 32.25 ms |
33.66 ms |
| day 21 | 0.034 ms |
0.158 ms |
| day 22 | 21.20 ms |
374.5 ms |
| day 23 | 2.933 ms |
200.6 ms |
| day 24 | 0.412 ms |
1.226 ms |
| day 24 | 0.324 ms |
Comments: Here
Execution time on an MacBook Air M2
| Go | part A | part B |
|---|---|---|
| day 01 | 0.056 ms |
0.045 ms |
| day 02 | 0.096 ms |
0.096 ms |
| day 03 | 1.800 ms |
2.200 ms |
| day 04 | 0.169 ms |
0.173 ms |
| day 05 | 0.214 ms |
0.253 ms |
| day 06 | 0.000 ms |
25.10 ms |
| day 07 | 0.539 ms |
0.531 ms |
| day 08 | 0.288 ms |
1.700 ms |
| day 09 | 0.172 ms |
0.172 ms |
| day 10 | 0.924 ms |
1.400 ms |
| day 11 | 0.136 ms |
0.136 ms |
| day 12 | 16.90 ms |
30.60 ms |
| day 13 | 0.144 ms |
1.210 ms |
| day 14 | 0.049 ms |
44.00 ms |
| day 15 | 0.076 ms |
0.158 ms |
| day 16 | 1.250 ms |
353.0 ms |
| day 17 | 8.100 ms |
181.0 ms |
| day 18 | 0.017 ms |
0.018 ms |
| day 19 | 0.280 ms |
0.657 ms |
| day 20 | 2.500 ms |
10.30 ms |
| day 21 | 8200 ms |
2480 ms |
| day 22 | 6700 ms |
6.700 ms |
| day 23 | 4.100 ms |
1120 ms |
| day 24 | 2.500 ms |
37.00 ms |
| day 25 | graphviz |
Comments: Here
Execution time on an MacBook Air M2
| Go | part A | part B |
|---|---|---|
| day 01 | 0.092 ms |
0.098 ms |
| day 02 | 0.038 ms |
0.038 ms |
| day 03 | 0.009 ms |
0.013 ms |
| day 04 | 0.127 ms |
0.122 ms |
| day 05 | 0.024 ms |
0.022 ms |
| day 06 | 0.002 ms |
0.014 ms |
| day 07 | 0.228 ms |
0.238 ms |
| day 08 | 0.156 ms |
0.236 ms |
| day 09 | 1.075 ms |
1.151 ms |
| day 10 | 0.033 ms |
0.039 ms |
| day 11 | 0.007 ms |
3.742 ms |
| day 12 | 3.200 ms |
3.490 ms |
| day 13 | 0.428 ms |
0.543 ms |
| day 14 | 1.295 ms |
50.13 ms |
| day 15 | 0.057 ms |
195.0 ms |
| day 16 | 161.7 ms |
786.8 ms |
| day 17 | 7.463 ms |
931.7 ms |
| day 18 | 1.436 ms |
6.030 ms |
| day 19 | 66.49 ms |
11.19 ms |
| day 20 | 57.38 ms |
738.6 ms |
| day 21 | 0.517 ms |
0.794 ms |
| day 22 | 2.065 ms |
1.681 ms |
| day 23 | 13.67 ms |
1024 ms |
| day 24 | 21.77 ms |
88.03 ms |
| day 25 | 0.029 ms |
Comments: Here
Execution time on an old Mac Pro (Late 2013), 3,7 GHz Quad-Core Intel Xeon E5
| Rust | part A | part B | Go | part A | part B |
|---|---|---|---|---|---|
| day 01 | 0.089 ms |
0.067 ms |
day 01 | 0.047 ms |
0.048 ms |
| day 02 | 0.092 ms |
0.063 ms |
day 02 | 0.102 ms |
0.103 ms |
| day 03 | 0.157 ms |
0.084 ms |
|||
| day 04 | 1.048 ms |
0.841 ms |
|||
| day 05 | 45.94 ms |
46.03 ms |
|||
| day 06 | 0.010 ms |
0.008 ms |
day 06 | 0.007 ms |
0.008 ms |
| day 07 | 0.274 ms |
0.795 ms |
day 07 | 1.711 ms |
2.841 ms |
| day 08 | 0.198 ms |
1.786 ms |
|||
| day 09 | 0.146 ms |
0.670 ms |
|||
| day 10 | 0.137 ms |
0.134 ms |
day 10 | 0.158 ms |
0.160 ms |
| day 11 | 0.186 ms |
0.420 ms |
day 11 | 0.152 ms |
0.432 ms |
| day 12 | 0.161 ms |
3.944 ms |
|||
| day 13 | 0.156 ms |
0.118 ms |
day 13 | 0.441 ms |
0.706 ms |
| day 14 | 0.023 ms |
0.052 ms |
|||
| day 15 | 9.858 ms |
342.6 ms |
|||
| day 16 | 0.052 ms |
0.049 ms |
|||
| day 17 | 0.133 ms |
0.424 ms |
|||
| day 18 | 1.685 ms |
25.18 ms |
|||
| day 19 | 20.20 ms |
20.88 ms |
|||
| day 20 | 9.035 ms |
491.5 ms |
|||
| day 21 | 0.002 ms |
137.1 ms |
|||
| day 22 | 2.237 ms |
56.16 ms |
|||
| day 23 | 7.806 ms |
76.21 ms |
|||
| day 24 | 660.4 ms |
0.003 ms |
|||
| day 25 | 98.00 ms |
0.003 ms |
Comments: Here
Execution time on an old Mac Pro (Late 2013), 3,7 GHz Quad-Core Intel Xeon E5
| Rust | part A | part B | Go | part A | part B |
|---|---|---|---|---|---|
| day 01 | 0.034 ms |
9.541 ms |
day 01 | 0.049 ms |
5.399 ms |
| day 02 | 0.331 ms |
0.266 ms |
|||
| day 03 | 0.199 ms |
1.040 ms |
|||
| day 04 | 0.712 ms |
0.750 ms |
|||
| day 05 | 0.036 ms |
0.036 ms |
|||
| day 06 | 0.114 ms |
0.100 ms |
|||
| day 07 | 6.542 ms |
0.934 ms |
|||
| day 08 | 0.188 ms |
2.751 ms |
|||
| day 09 | 0.087 ms |
0.279 ms |
|||
| day 10 | 0.027 ms |
0.016 ms |
|||
| day 11 | 22.47 ms |
52.57 ms |
|||
| day 12 | 0.102 ms |
0.093 ms |
|||
| day 13 | 0.016 ms |
0.007 ms |
|||
| day 14 | 0.340 ms |
51.97 ms |
|||
| day 15 | 0.096 ms |
1798. ms |
|||
| day 16 | 0.464 ms |
0.706 ms |
|||
| day 17 | 17.52 ms |
768.0 ms |
|||
| day 18 | 4.187 ms |
4.134 ms |
|||
| day 19 | 4.766 ms |
9.456 ms |
|||
| day 20 | 36.66 ms |
44.65 ms |
|||
| day 21 | 0.802 ms |
0.718 ms |
|||
| day 22 | 0.008 ms |
173.1 ms |
|||
| day 23 | 0.003 ms |
1986 ms |
|||
| day 24 | 1.120 ms |
164.1 ms |
|||
| day 25 | 164.4 ms |
| Rust | part A | part B |
|---|---|---|
| day 01 | ||
| day 02 | ||
| day 03 | ||
| day 04 | ||
| day 05 | ||
| day 06 | ||
| day 07 | ||
| day 08 | ||
| day 09 | ||
| day 10 | ||
| day 11 | ||
| day 12 | ||
| day 13 | ||
| day 14 | ||
| day 15 | ||
| day 16 | ||
| day 17 | ||
| day 18 | ||
| day 19 | ||
| day 20 | ||
| day 21 | ||
| day 22 | ||
| day 23 | ||
| day 24 | ||
| day 25 |
| Rust | part A | part B |
|---|---|---|
| day 01 | ||
| day 02 | ||
| day 03 | ||
| day 04 | ||
| day 05 | ||
| day 06 | ||
| day 07 | ||
| day 08 | ||
| day 09 | ||
| day 10 | ||
| day 11 | ||
| day 12 | ||
| day 13 | ||
| day 14 | ||
| day 15 | ||
| day 16 | ||
| day 17 | ||
| day 18 | ||
| day 19 | ||
| day 20 | ||
| day 21 | ||
| day 22 | ||
| day 23 | ||
| day 24 | ||
| day 25 |




