My Advent of Code 2024 solutions in hand-crafted WebAssembly. No processing in JavaScript‒input is copied to WebAssembly and the answer is computed entirely in there.
node index.js <DAY> <PART>
For help info, try node index.js
.
When running with the input, the data reported includes:
npm install -g wat-wasm
wat2wasm <WAT_FILE> <FEATURES...>
For the list of required features, see below.
Day Part--simd
1 1 ✅ 1 2 2 1 3 1 3 2 4 1 4 2 Day Part Best runtime (μs) WASM mem usage (bytes) WASM file size (bytes) 1 1 311.006 8000 473 1 2 507.89 8000 317 2 1 41.836 0 247 3 1 28.495 0 645 3 2 43.931 0 915 4 1 242.491 19861 552 4 2 109.441 0 274 🍫 Data structures and algorithms
The table below lists non-trivial data structures and algorithms used in each solution.
Day Part Data structures Algorithms 1 1 Array Insertion sort 1 2 Array 2 1 3 1 Finite state automaton 3 2 Finite state automaton 4 1 Array Transposition 4 2i8x16.shuffle
syntax. It takes 2 v128
s (on the stack) and 16 0-based indices, which indexes into bytes stored in the two vectors. The returned vector is formed from the bytes pointed to by the indices.RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4