aoc2022
advent-of-code
Our great sponsors
aoc2022 | advent-of-code | |
---|---|---|
22 | 28 | |
2 | 7 | |
- | - | |
10.0 | 0.0 | |
8 months ago | over 1 year ago | |
C | Haskell | |
MIT License | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
aoc2022
-
[2022 Day 9] "Rope Bridge". A particularly efficient implementation idea (for people who understand C++, but applicable to C/Java/Go/Rust as well)
It may be a nifty hash table (no, it is!:)) but the whole program runs about 12x slower on an M1 than my version where I first determine the max dimensions and simply allocate a grid of booleans... So I wonder how much the 8x8 bitset breakup could improve. But bitsets are a C++ feature. In C, like NRK: https://github.com/ednl/aoc2022/blob/main/09.c (my "startstoptimer.c" and .h are in the same repo)
-
[2022 Day 15 (Part 2)] [Python] I wrote a really fast solution for day 15 part 2 (less than 1ms). What do you think of the algorithm I came up with?
I also checked lines but only after doing a rotation by 45 degrees, so the lines are straight. Compiled in C, fastest run time on M1 was 26 ยตs: https://github.com/ednl/aoc2022/blob/main/15.c
-
-๐- 2022 Day 15 Solutions -๐-
Same code but with preprocessed input to make it all fit into memory, runs in 7 ms on an Arduino Uno! https://github.com/ednl/aoc2022/blob/main/aoc22-15/aoc22-15.ino
-
-๐- 2022 Day 13 Solutions -๐-
Complete program runs in 463 ยตs on Apple M1, 2.61 ms on Pi 4. See comments at the top of the source file for how I measured. My comparison function:
- -๐- 2022 Day 12 Solutions -๐-
-
[2022 day 11][C] Benching Monkeys
Not 100% sure this is Upping-The-Ante, maybe just Other. I wanted to share some benchmark results of my solution for today, day 11 with the 10,000 monkeys, and how I got there. I think the easiest way to compare performance is to use the same hardware, and nowadays fairly common & standardised hardware might be the Raspberry Pi 4. Although, you can't buy any for years now... Best score I got when running my solution on my Pi 4 home server is 15.6 ms.
-
-๐- 2022 Day 11 Solutions -๐-
I quickly saw that I could do "item = item modulo (product of all div-test numbers)" but the implementation took me a while in C without queues or circular buffers. But that's all part of the fun for me! I didn't look for further clever optimisations because the compiled program runs in 20 ms on a Raspberry Pi 4. That was fast enough for today, I thought. Source code: https://github.com/ednl/aoc2022/blob/main/11.c
-
-๐- 2022 Day 10 Solutions -๐-
Yay, embedded software engineering!! :) Short, fast & almost no memory needed in C: https://github.com/ednl/aoc2022/blob/main/10.c or the relevant bits:
-
-๐- 2022 Day 9 Solutions -๐-
That's great, but on what hardware? My solution in C runs in 0.8 ms average (0.6 ms minimum) using hyperfine to measure 1000 runs in a Mac Mini M1. Same on a Pi 4 in performance mode: 3.6 - 3.8 ms.
-
-๐- 2022 Day 8 Solutions -๐-
Well, it took me a while to realise that in part 1 you always have to check the whole row or column because a higher tree can come at any point ... And except for skipping the borders, I couldn't come up with any sort of clever optimisation that would help reduce the O(N^2) complexity. It still runs in under 1 ms on a Mac Mini M1 according to hyperfine. Full code 52 lines without space/comments: https://github.com/ednl/aoc2022/blob/main/08.c
advent-of-code
- -๐- 2022 Day 16 Solutions -๐-
- -๐- 2022 Day 15 Solutions -๐-
- -๐- 2022 Day 14 Solutions -๐-
- -๐- 2022 Day 13 Solutions -๐-
- -๐- 2022 Day 12 Solutions -๐-
- -๐- 2022 Day 11 Solutions -๐-
- -๐- 2022 Day 10 Solutions -๐-
- -๐- 2022 Day 9 Solutions -๐-
- -๐- 2022 Day 8 Solutions -๐-
- -๐- 2022 Day 7 Solutions -๐-
What are some alternatives?
rust-mos - Empowering everyone to build reliable and efficient software.
aoc-2021 - AOC challenge in Haskell
AdventOfCode2022
ghc - Mirror of the Glasgow Haskell Compiler. Please submit issues and patches to GHC's Gitlab instance (https://gitlab.haskell.org/ghc/ghc). First time contributors are encouraged to get started with the newcomers info (https://gitlab.haskell.org/ghc/ghc/wikis/contributing).
AdventOfCode - My solutions to Advent of Code
advent-of-code-2022 - ๐ My Advent of Code solutions in Rust. http://adventofcode.com/2022
aoc - KlongPy Advent of Code (AoC) solutions
adventofcode - :christmas_tree: Advent of Code (2015-2023) in C#
AOC2022 - Advent of Code 2022, solved in Haskell
advent-of-code-2022-rust
aoc-go - A Golang tool for generating code for Advent of Code
AdventOfCode2022 - Repository for advent of code code to find solutions. This year in Go.