Advent of Code is an Advent calendar of small programming puzzles for a variety of skill sets and skill levels that can be solved in any programming language you like. People use them as interview prep, company training, university coursework, practice problems, a speed contest, or to challenge each other.
All necessary Cargo commands are wrapped in a convenient Makefile. During the event, the make command is especially handy for quickly testing and solving each day's puzzle.
make # Test and solve today's puzzle automatically
make new # Create boilerplate files for today's DAY and YEAR
make 03 # Test + solve Day 03 (for current year)
make test DAY=05 # Run only tests for Day 05 (for current year)
make solve YEAR=2023 DAY=14 # Solve Day 14 for Year 2023
make bench YEAR=2024 # Benchmark entire Year
make checks # Run clippy and fmt with cargoInput files are downloaded automatically. To enable this, create a file named
adventofcode.session in the project root containing your Advent of Code session
cookie. Timings are cargo bench averages measured on an Intel Core i9-13900K.
2024 — 50 ⭐
| Day | Day | Day |
|---|---|---|
| Day 01 [37.42 µs] | Day 02 [331.92 µs] | Day 03 [387.15 µs] |
| Day 04 [707.99 µs] | Day 05 [502.97 µs] | Day 06 [4.00 s] |
| Day 07 [1.36 ms] | Day 08 [153.71 µs] | Day 09 [29.94 ms] |
| Day 10 [446.78 µs] | Day 11 [245.31 ns] | Day 12 [112.75 ms] |
| Day 13 [68.61 µs] | Day 14 [62.28 µs] | Day 15 [3.74 ms] |
| Day 16 [1.50 ns] | Day 17 [1.99 µs] | Day 18 [42.21 ms] |
| Day 19 [29.82 ms] | Day 20 [1.29 ns] | Day 21 [16.51 µs] |
| Day 22 [41.99 ms] | Day 23 [5.21 µs] | Day 24 [18.34 µs] |
| Day 25 [1.34 ms] |
2015 — 50 ⭐
| Day | Day | Day |
|---|---|---|
| Day 01 [12.58 µs] | Day 02 [91.58 µs] | Day 03 [602.51 µs] |
| Day 04 [1.02 s] | Day 05 [1.37 ns] | Day 06 [42.49 ms] |
| Day 07 [256.92 µs] | Day 08 [172.80 µs] | Day 09 [11.84 ms] |
| Day 10 [251.81 ms] | Day 11 [12.75 ms] | Day 12 [2.35 ms] |
| Day 13 [282.87 ms] | Day 14 [30.92 µs] | Day 15 [231.61 ms] |
| Day 16 [33.49 µs] | Day 17 [13.66 ms] | Day 18 [270.21 ms] |
| Day 19 [501.76 µs] | Day 20 [50.88 ms] | Day 21 [14.78 µs] |
| Day 22 [7.67 ms] | Day 23 [4.39 µs] | Day 24 [7.53 ms] |
| Day 25 [50.10 ms] |