e9870a1f18
Create timing plots
2020-12-25 11:46:40 +01:00
601d6fdd48
Don't compute unnecessary info.
2020-12-25 10:42:41 +01:00
40a9cb63ff
Reimplement test macro as a generic function.
2020-12-25 09:31:44 +01:00
4c3640e994
Fix benchmarks for completed 2020
2020-12-25 09:19:28 +01:00
261628b120
Optimize day 25 with baby-step giant-step
2020-12-25 08:38:21 +01:00
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
4cb74e742b
Fix Travis caching build artifacts
2020-12-06 09:30:48 +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