Commit Graph

368 Commits

Author SHA1 Message Date
48a392325f
Day 8: more optimizations
This is getting ridiculous, but I couldn’t sleep
2021-12-09 00:47:30 +01:00
30c8e0e1ff
Add unchecked string parsing
Saves ~5-10% in parsing benchmarks
2021-12-09 00:26:00 +01:00
9db1906760
Day 8: No longer brute force anything 2021-12-08 20:49:05 +01:00
188dd576a9
Bitmagic 2021-12-08 20:10:16 +01:00
a1f6eb888c Day 8 Refactoring III
Completely remove SevenSegmentDisplay type
2021-12-08 16:54:07 +01:00
83419cbdf3 Day 8 Refactoring II
Unbloating the parsed type
2021-12-08 14:07:44 +01:00
0b77540d9d Day 8 Refactoring I
Parsing and variable names
2021-12-08 14:07:14 +01:00
2ba51b2208 Add day 8 2021-12-08 13:42:35 +01:00
cfb1e87465
Make 7/1 faster 2021-12-07 19:43:24 +01:00
744aa2fc72 Simplify day 7 2021-12-07 14:06:09 +01:00
413339cdb8 Add day 7 2021-12-07 11:57:45 +01:00
728b95b9e1 Death to imperative programming! 2021-12-06 14:10:46 +01:00
fcab7acc74 Slightly optimize input parsing 2021-12-06 13:46:34 +01:00
c073e2f906 Make day 6 better 2021-12-06 13:05:57 +01:00
fc60409b42 Add day 6 part 2 2021-12-06 12:26:12 +01:00
0256625608 Add day 6 part 1 2021-12-06 11:01:23 +01:00
78de4f1d46
Add macro for static day 5 parsing 2021-12-05 23:38:23 +01:00
d0a72cb04e
Remove fnv dependency 2021-12-05 22:56:22 +01:00
6ae2840f80
Replace HashMap with Vec
again much faster
2021-12-05 22:10:29 +01:00
fcfb68ea33
Preallocate day 5 hashmaps 2021-12-05 22:00:14 +01:00
45600f5dd1
Optimize day 5 2021-12-05 21:27:52 +01:00
bcddb22135
Add day 5 2021-12-05 20:48:20 +01:00
df68a385d8
Const-ify winning indices 2021-12-04 16:00:05 +01:00
ea1339f018
Replace HashSet with Vec for more brrrrr 2021-12-04 13:38:17 +01:00
f7efb54d21
Remove useless type alias 2021-12-04 13:31:26 +01:00
5b71f0740c
Enable benchmarks 2021-12-04 13:09:10 +01:00
6b868de832
Add day 4 2021-12-04 12:49:48 +01:00
964a84df45
Enable lto in benchmarks 2021-12-03 20:28:39 +01:00
70450dbcdc
Vec::retain does not go brrrr 2021-12-03 18:02:18 +01:00
9a03a4f499 Generalize input bench macro 2021-12-03 17:05:53 +01:00
5d90f44f2b Don’t use log2 to get around bit count 2021-12-03 15:24:26 +01:00
312f526345 Make day 3 not awful 2021-12-03 12:00:58 +01:00
8a60ce83f9
Add missing semicolon in day template 2021-12-03 07:02:58 +01:00
61ec05955a
Add day 3 (bad) 2021-12-03 07:01:36 +01:00
e9a3ead7c2 Add DAY constant to each file for input reading 2021-12-02 10:31:23 +01:00
329be3f1c1
Add day 2 2021-12-02 06:13:01 +01:00
b734f0c5af
Get alternative input file via env variable instead 2021-12-01 23:12:39 +01:00
731d7f5e33 Move imports into macros 2021-12-01 14:16:29 +01:00
250bad526c Revert "Remove env stuff from input reading"
I remember now. This was so I can `cargo run bigboy_input` without code changes
2021-12-01 14:12:36 +01:00
63c695608e Remove env stuff from input reading
No idea what last year me was thinking
2021-12-01 13:30:10 +01:00
85370a3b3b Use aocd to get daily input
see https://pypi.org/project/advent-of-code-data/
2021-12-01 09:54:28 +01:00
a044e4cf1b
Refactor day 1
tuple_windows is terribly slow, wtf
2021-12-01 06:26:45 +01:00
94bf221efd
Add day 1
Part 2 is ugly. Better solution later when it’s not 6AM anymore
2021-12-01 06:19:33 +01:00
1c3ae8ec96 Minor rustfmt changes 2021-11-22 16:34:19 +01:00
111a56880f Make 2020 compile again 2021-11-22 14:34:40 +01:00
a65c137864 Set up everything for 2021 2021-11-22 14:30:40 +01:00
adb0e84858
caching meme for D17 to save time 2021-07-09 00:21:34 +02:00
a570cf6fda
Remove hardcoded neighbors implementation
Not that this one is much better, but after hours of trying,
it’s all I got to compile. :(
2021-07-08 22:23:48 +02:00
4b4f4fbf80
Add tests and clean up add/sub/mul for positions 2021-07-08 19:58:30 +02:00
123d9bd1fb
Get rid of Position2D, 3D, 4D 2021-07-08 19:35:31 +02:00