Commit Graph

53 Commits

Author SHA1 Message Date
d5d5f97432 Unoptimized implementation day 25 2020-12-25 08:21:19 +01:00
11ceb0b316 Implementation day 24. 2020-12-24 18:58:28 +01:00
d5f35db4ed Implementation day 23 part 2. 2020-12-24 18:21:25 +01:00
3cbc401841 Improve day 22 with Brent's cycle finding 2020-12-23 20:19:49 +01:00
339be73efc Implementation day 23 part 1 2020-12-23 09:25:48 +01:00
5a055b3fb1 Implementation day 22. 2020-12-22 09:12:33 +01:00
e06e77dbad Implement clippy warnings. 2020-12-21 09:35:28 +01:00
74e089cecc Implementation day 21. 2020-12-21 09:30:24 +01:00
3a993419fc Day 20: faster monster finding by looking upside down 2020-12-20 19:58:51 +01:00
68c8b1915d Finally a correct implementation 2020-12-20 19:51:45 +01:00
b443ea7064 Implementation day 20 part 1 2020-12-20 13:08:29 +01:00
cae6b0ed2c Add criterion benchmarks 2020-12-19 12:46:01 +01:00
821ba4089c Implementation day 19. 2020-12-19 10:44:00 +01:00
8ca3018837 Improve code reuse 2020-12-18 19:45:22 +01:00
2d076ff5b9 Fix clippy warnings 2020-12-18 18:52:08 +01:00
9d5019501a Implementation day 18 2020-12-18 18:48:11 +01:00
c666b1f78d Implementation day 17 part 2. 2020-12-17 19:39:22 +01:00
9b064d51ca Implementation day 17 part 1. 2020-12-17 08:52:29 +01:00
308fbc503f Fix misc clippy warnings
Why does it want me to use bytecount? It's not even faster
2020-12-16 20:05:08 +01:00
bd8d525d13 Even more bitsets 2020-12-16 19:43:41 +01:00
b934a268fe Use bitsets for tracking what fits. 2020-12-16 19:13:53 +01:00
54d61e11f1 Optimizations for day 16.
Don't use checks that are idempotent more than once, and reduce hashmap
use.
2020-12-16 19:04:52 +01:00
796d854838 Implementation day 16.
This was a pain.
2020-12-16 09:53:43 +01:00
859034b09d Improve performance day 15
Using 32 bit integers is significantly faster due to better memory
locality, although it requires a bit of casting to move between indices
and values as needed.
2020-12-15 09:10:33 +01:00
3ab0f9711d Implementation day 15 2020-12-15 09:06:17 +01:00
eff0cb9f8c Implement day 14. 2020-12-14 20:06:02 +01:00
fe9dfd163c Implementation day 13 2020-12-13 08:22:35 +01:00
ea839af850 Implementation day 12 2020-12-12 08:00:35 +01:00
7649d628e7 Implemention day 11 2020-12-11 08:20:27 +01:00
190a7e7423 Prepare remaining days. 2020-12-10 21:10:14 +01:00
e05cb5c9f0 Implementation day 10 2020-12-10 09:15:32 +01:00
e2bf38ceee Avoid copying in part 2 2020-12-09 19:48:05 +01:00
033a3ef512 Implementation day 9. 2020-12-09 09:08:42 +01:00
e5edecba46 Implementation day 8 2020-12-08 20:30:31 +01:00
10f123bf04 Implementation day 7 2020-12-07 09:35:41 +01:00
0bf021045c Rewrite using iterators
This improves codegen for part 1 considerably.
2020-12-06 09:26:17 +01:00
ecade93f0f Implementation day 6 2020-12-06 08:57:22 +01:00
5348e92f8a Add instrumentation for profiling 2020-12-05 14:25:52 +01:00
26c7d67077 Avoid allocations when parsing strings by line 2020-12-05 13:48:10 +01:00
b38a1ddff9 Prepare day 6 2020-12-05 13:16:14 +01:00
77f20fb368 Off-by-one error 2020-12-05 11:05:41 +01:00
a382477008 Implementation day 5 2020-12-05 08:19:24 +01:00
711caf2ed0 Implementation day 3 2020-12-04 09:19:05 +01:00
fa54d448ed Prepare day 4 2020-12-03 19:55:55 +01:00
fc0a1a43af Simplify read_char_grid 2020-12-03 19:39:45 +01:00
eedbe874bd Implementation day 3 2020-12-03 08:53:49 +01:00
1df2a6f54d Prepare day 3 2020-12-02 22:39:40 +01:00
b25a4bc1ba Use macros for tests 2020-12-02 22:37:19 +01:00
877bf933d0 Add automated download script 2020-12-02 21:20:12 +01:00
2d58f0eb23 Rewrite day 2 with fewer allocations 2020-12-02 18:38:47 +01:00