An open API service indexing awesome lists of open source software.

https://github.com/racinmat/advent_of_code_2021

My Advent od Code repository, in Julia this year
https://github.com/racinmat/advent_of_code_2021

Last synced: about 2 months ago
JSON representation

My Advent od Code repository, in Julia this year

Awesome Lists containing this project

README

        

# Advent of Code 2020 in Julia

Solutions of annual coding challenge https://adventofcode.com/ written in Julia.

Benchmarks

on my laptop when powered:

| ∘ | part1_time | part2_time | part1_memory | part2_memory |
| ---:| ----------:| ----------:| ------------:| ------------:|
| 1 | 260.500 μs | 222.900 μs | 192.53 KiB | 176.78 KiB |
| 2 | 369.800 μs | 388.200 μs | 361.81 KiB | 361.81 KiB |
| 3 | 327.100 μs | 414.500 μs | 286.22 KiB | 411.45 KiB |
| 4 | 692.500 μs | 2.281 ms | 398.90 KiB | 898.84 KiB |
| 5 | 15.180 ms | 26.643 ms | 24.87 MiB | 42.25 MiB |
| 6 | 50.700 μs | 49.800 μs | 173.62 KiB | 194.84 KiB |
| 7 | 141.500 μs | 744.700 μs | 77.03 KiB | 67.03 KiB |
| 8 | 1.213 ms | 5.928 ms | 882.02 KiB | 7.12 MiB |
| 9 | 1.457 ms | 10.350 ms | 1.21 MiB | 7.44 MiB |
| 10 | 236.700 μs | 424.300 μs | 403.48 KiB | 605.75 KiB |
| 11 | 737.200 μs | 2.149 ms | 425.30 KiB | 1.08 MiB |
| 12 | 18.544 ms | 938.647 ms | 12.30 MiB | 380.07 MiB |
| 13 | 1.066 ms | 2.203 ms | 650.61 KiB | 1.02 MiB |
| 14 | 875.800 μs | 3.908 ms | 584.67 KiB | 2.48 MiB |
| 15 | 66.056 ms | 3.892 s | 71.29 MiB | 1.79 GiB |
| 16 | 396.200 μs | 385.100 μs | 370.19 KiB | 370.19 KiB |
| 17 | 134.972 ms | 284.773 ms | 22.27 MiB | 69.13 MiB |
| 18 | 115.751 ms | 1.238 s | 18.19 MiB | 286.90 MiB |
| 19 | 783.274 ms | 783.647 ms | 638.62 MiB | 638.63 MiB |
| 20 | 2.833 ms | 150.502 ms | 1.90 MiB | 126.58 MiB |
| 21 | 38.600 μs | 893.485 ms | 28.84 KiB | 1.19 KiB |

on server: `~/julia-1.7.0/bin/julia benchmark.jl`

| ∘ | part1_time | part2_time | part1_memory | part2_memory |
| ---:| ----------:| ----------:| ------------:| ------------:|
| 1 | 223.001 μs | 225.162 μs | 192.53 KiB | 176.78 KiB |
| 2 | 357.692 μs | 360.488 μs | 361.81 KiB | 361.81 KiB |
| 3 | 341.626 μs | 398.994 μs | 286.22 KiB | 411.45 KiB |
| 4 | 721.525 μs | 2.246 ms | 398.90 KiB | 898.84 KiB |
| 5 | 16.035 ms | 27.767 ms | 24.87 MiB | 42.25 MiB |
| 6 | 43.990 μs | 42.068 μs | 173.62 KiB | 194.84 KiB |
| 7 | 126.906 μs | 849.646 μs | 77.03 KiB | 67.03 KiB |
| 8 | 976.151 μs | 6.092 ms | 882.02 KiB | 7.12 MiB |
| 9 | 1.444 ms | 10.428 ms | 1.21 MiB | 7.44 MiB |
| 10 | 200.359 μs | 325.867 μs | 403.48 KiB | 605.75 KiB |
| 11 | 792.696 μs | 2.333 ms | 425.30 KiB | 1.08 MiB |
| 12 | 16.302 ms | 661.940 ms | 12.30 MiB | 380.07 MiB |
| 13 | 980.855 μs | 1.518 ms | 650.61 KiB | 1.02 MiB |
| 14 | 769.565 μs | 3.205 ms | 584.67 KiB | 2.48 MiB |
| 15 | 77.785 ms | 4.328 s | 71.29 MiB | 1.79 GiB |
| 16 | 427.188 μs | 429.911 μs | 370.19 KiB | 370.19 KiB |
| 17 | 112.855 ms | 277.408 ms | 22.27 MiB | 69.13 MiB |

## Initialization

Run `python init.py` to generate base parts of the code base for each day.

In order to download the input data programatically, log in to adventofcode.com, and then grab the cookie token and put it to `secret.yaml`.

Make sure you update the `advent-of-code-data` python package using `pip install --upgrade advent-of-code-data`.

Run benchmark using `benchmark.jl`