aoc2021

Advent of Code 2021 - my answers

View the Project on GitHub ephemient/aoc2021

Day 1

Command Mean [ms] Min [ms] Max [ms] Relative
Haskell 11.5 ± 0.2 11.3 12.7 7.82 ± 1.03
Kotlin/JVM 105.8 ± 5.7 98.2 115.3 71.81 ± 10.09
Kotlin/Native 5.5 ± 0.2 5.3 7.0 3.72 ± 0.50
Kotlin/GraalVM 3.4 ± 0.1 3.2 4.8 2.28 ± 0.31
Python 111.8 ± 0.9 110.5 113.8 75.88 ± 9.87
Rust 1.5 ± 0.2 1.3 6.0 1.00

Day 2

Command Mean [ms] Min [ms] Max [ms] Relative
Haskell 11.8 ± 0.2 11.3 13.1 7.41 ± 2.89
Kotlin/JVM 118.8 ± 5.9 103.3 129.4 74.85 ± 29.41
Kotlin/Native 5.9 ± 0.9 5.0 15.7 3.70 ± 1.55
Kotlin/GraalVM 3.6 ± 0.5 3.0 11.4 2.30 ± 0.94
Python 140.6 ± 2.2 136.4 144.2 88.59 ± 34.55
Rust 1.6 ± 0.6 1.2 13.4 1.00

Day 3

Command Mean [ms] Min [ms] Max [ms] Relative
Haskell 12.3 ± 2.5 11.0 22.9 5.38 ± 1.70
Kotlin/JVM 133.8 ± 9.5 119.7 151.9 58.32 ± 14.93
Kotlin/Native 7.8 ± 0.9 6.1 12.0 3.39 ± 0.92
Kotlin/GraalVM 3.9 ± 0.6 2.7 8.0 1.68 ± 0.50
Python 136.4 ± 7.0 123.2 148.7 59.46 ± 14.94
Rust 2.3 ± 0.6 1.5 7.3 1.00

Day 4

Command Mean [ms] Min [ms] Max [ms] Relative
Haskell 11.6 ± 0.8 11.3 22.8 6.74 ± 0.63
Kotlin/JVM 135.5 ± 5.7 125.7 142.5 78.49 ± 5.91
Kotlin/Native 8.7 ± 0.2 8.5 10.3 5.03 ± 0.33
Kotlin/GraalVM 3.9 ± 0.1 3.7 5.0 2.25 ± 0.15
Python 113.3 ± 1.3 111.5 115.7 65.64 ± 4.17
Rust 1.7 ± 0.1 1.6 2.7 1.00

Day 5

Command Mean [ms] Min [ms] Max [ms] Relative
Haskell 52.4 ± 1.5 51.6 62.9 6.58 ± 0.58
Kotlin/JVM 174.5 ± 10.5 154.8 197.7 21.94 ± 2.27
Kotlin/Native 32.6 ± 2.1 29.1 40.7 4.09 ± 0.44
Kotlin/GraalVM 17.5 ± 1.2 15.5 22.3 2.20 ± 0.24
Python 283.8 ± 12.8 272.9 316.2 35.69 ± 3.41
Rust 8.0 ± 0.7 7.2 14.4 1.00

Day 6

Command Mean [ms] Min [ms] Max [ms] Relative
Haskell 11.5 ± 0.3 11.2 14.9 8.37 ± 0.56
Kotlin/JVM 129.6 ± 46.1 101.1 246.3 94.18 ± 33.96
Kotlin/Native 3.3 ± 1.0 1.3 6.2 2.41 ± 0.77
Kotlin/GraalVM 2.6 ± 0.2 2.4 5.0 1.86 ± 0.16
Python 110.5 ± 1.5 108.8 113.8 80.32 ± 4.93
Rust 1.4 ± 0.1 1.3 2.2 1.00

Day 7

Command Mean [ms] Min [ms] Max [ms] Relative
Haskell 12.0 ± 0.8 11.4 18.0 6.57 ± 2.02
Kotlin/JVM 139.3 ± 6.1 129.9 152.5 76.37 ± 23.22
Kotlin/Native 3.7 ± 0.7 3.2 13.2 2.05 ± 0.74
Kotlin/GraalVM 3.6 ± 0.7 3.0 10.9 2.00 ± 0.71
Python 138.6 ± 4.8 131.6 149.1 76.01 ± 23.01
Rust 1.8 ± 0.5 1.4 7.5 1.00

Day 8

Command Mean [ms] Min [ms] Max [ms] Relative
Haskell 11.8 ± 0.5 11.3 18.1 5.36 ± 0.40
Kotlin/JVM 133.6 ± 5.2 125.4 141.0 60.65 ± 4.43
Kotlin/Native 8.0 ± 0.2 7.1 9.0 3.65 ± 0.25
Kotlin/GraalVM 4.5 ± 0.2 4.0 6.0 2.03 ± 0.15
Python 129.7 ± 1.9 126.1 132.9 58.92 ± 3.75
Rust 2.2 ± 0.1 1.9 3.6 1.00

Day 9

Command Mean [ms] Min [ms] Max [ms] Relative
Haskell 32.7 ± 2.5 31.5 42.3 15.90 ± 4.02
Kotlin/JVM 127.9 ± 4.3 121.2 136.9 62.26 ± 15.14
Kotlin/Native 7.2 ± 0.8 6.1 13.6 3.49 ± 0.93
Kotlin/GraalVM 4.5 ± 0.5 3.8 9.7 2.21 ± 0.58
Python 167.9 ± 5.4 160.9 179.4 81.68 ± 19.85
Rust 2.1 ± 0.5 1.5 11.7 1.00

Day 10

Command Mean [ms] Min [ms] Max [ms] Relative
Haskell 11.7 ± 0.4 11.2 14.5 7.20 ± 1.48
Kotlin/JVM 111.0 ± 8.3 97.9 125.9 68.14 ± 14.70
Kotlin/Native 4.3 ± 0.5 3.4 7.4 2.62 ± 0.60
Kotlin/GraalVM 3.1 ± 0.3 2.4 5.0 1.91 ± 0.44
Python 123.8 ± 5.9 110.4 135.7 75.99 ± 15.79
Rust 1.6 ± 0.3 1.0 6.7 1.00

Day 11

Command Mean [ms] Min [ms] Max [ms] Relative
Haskell 11.5 ± 0.2 11.3 13.0 6.41 ± 0.31
Kotlin/JVM 107.9 ± 5.1 101.5 119.9 59.94 ± 3.92
Kotlin/Native 1.8 ± 0.1 1.7 2.5 1.00
Kotlin/GraalVM 3.1 ± 0.1 2.9 4.5 1.71 ± 0.11
Python 138.3 ± 0.8 136.8 140.1 76.79 ± 3.49
Rust 1.9 ± 0.1 1.8 3.6 1.07 ± 0.08

Day 12

Command Mean [ms] Min [ms] Max [ms] Relative
Haskell 342.1 ± 0.2 341.9 342.6 59.56 ± 1.33
Kotlin/JVM 184.3 ± 7.2 177.0 204.5 32.09 ± 1.44
Kotlin/Native 260.0 ± 4.0 256.2 265.7 45.27 ± 1.23
Kotlin/GraalVM 97.5 ± 0.8 96.2 99.8 16.98 ± 0.41
Python 678.7 ± 5.1 671.2 682.3 118.18 ± 2.79
Rust 5.7 ± 0.1 5.5 6.8 1.00

Day 13

Command Mean [ms] Min [ms] Max [ms] Relative
Haskell 11.6 ± 0.7 11.2 21.6 6.28 ± 1.03
Kotlin/JVM 122.6 ± 4.9 113.5 134.8 66.40 ± 10.47
Kotlin/Native 5.4 ± 0.5 4.8 12.3 2.94 ± 0.52
Kotlin/GraalVM 3.6 ± 0.2 3.1 7.3 1.94 ± 0.32
Python 116.2 ± 1.5 114.0 118.8 62.94 ± 9.63
Rust 1.8 ± 0.3 1.4 9.1 1.00

Day 14

Command Mean [ms] Min [ms] Max [ms] Relative
Haskell 12.0 ± 1.2 11.3 22.0 6.25 ± 1.66
Kotlin/JVM 120.8 ± 8.3 109.1 137.5 62.82 ± 16.04
Kotlin/Native 1.9 ± 0.5 1.3 7.8 1.00
Kotlin/GraalVM 2.9 ± 0.6 2.1 8.2 1.49 ± 0.47
Python 130.8 ± 7.5 119.0 146.5 68.05 ± 17.19
Rust 2.3 ± 0.5 1.6 6.9 1.22 ± 0.39

Day 15

Command Mean [ms] Min [ms] Max [ms] Relative
Haskell 160.2 ± 4.3 152.3 162.6 5.36 ± 0.16
Kotlin/JVM 263.0 ± 16.6 245.7 299.9 8.81 ± 0.57
Kotlin/Native 1208.6 ± 1.5 1207.6 1209.7 40.47 ± 0.48
Kotlin/GraalVM 236.4 ± 1.1 235.0 238.0 7.91 ± 0.10
Python 1431.6 ± 0.9 1430.9 1432.2 47.93 ± 0.56
Rust 29.9 ± 0.4 29.1 31.1 1.00

Day 16

Command Mean [ms] Min [ms] Max [ms] Relative
Haskell 22.0 ± 0.5 21.4 26.0 12.06 ± 3.54
Kotlin/JVM 143.0 ± 6.5 133.0 157.4 78.44 ± 23.24
Kotlin/Native 2.2 ± 0.3 1.7 5.3 1.23 ± 0.39
Kotlin/GraalVM 3.1 ± 0.5 2.5 11.1 1.70 ± 0.56
Python 136.0 ± 3.6 128.7 144.4 74.63 ± 21.94
Rust 1.8 ± 0.5 1.3 10.5 1.00

Day 17

Command Mean [ms] Min [ms] Max [ms] Relative
Haskell 11.6 ± 0.7 11.3 21.6 6.04 ± 0.46
Kotlin/JVM 139.8 ± 6.0 132.3 158.8 72.47 ± 4.55
Kotlin/Native 5.5 ± 0.1 5.3 6.5 2.84 ± 0.14
Kotlin/GraalVM 3.7 ± 0.2 3.5 5.3 1.92 ± 0.12
Python 114.9 ± 1.1 113.1 117.4 59.55 ± 2.81
Rust 1.9 ± 0.1 1.8 2.6 1.00

Day 18

Command Mean [ms] Min [ms] Max [ms] Relative
Haskell 497.7 ± 10.5 482.5 512.6 17.40 ± 1.38
Kotlin/JVM 472.7 ± 44.9 412.5 536.7 16.52 ± 2.01
Kotlin/Native 531.6 ± 17.4 505.4 549.7 18.58 ± 1.55
Kotlin/GraalVM 268.4 ± 10.6 257.5 292.0 9.38 ± 0.81
Python 6267.9 ± 289.4 6063.3 6472.6 219.11 ± 19.58
Rust 28.6 ± 2.2 25.7 40.4 1.00

Day 19

Command Mean [s] Min [s] Max [s] Relative
Haskell 8.237 ± 0.055 8.198 8.277 13.35 ± 0.10
Kotlin/JVM 2.222 ± 0.194 2.084 2.359 3.60 ± 0.32
Kotlin/Native 6.580 ± 0.115 6.498 6.661 10.66 ± 0.19
Kotlin/GraalVM 3.037 ± 0.115 2.956 3.118 4.92 ± 0.19
Python 2.917 ± 0.009 2.911 2.924 4.73 ± 0.02
Rust 0.617 ± 0.002 0.616 0.621 1.00

Day 20

Command Mean [s] Min [s] Max [s] Relative
Haskell 1.097 ± 0.007 1.092 1.102 65.14 ± 0.82
Kotlin/JVM 0.274 ± 0.015 0.261 0.313 16.24 ± 0.89
Kotlin/Native 0.148 ± 0.005 0.145 0.170 8.78 ± 0.33
Kotlin/GraalVM 0.172 ± 0.001 0.172 0.175 10.23 ± 0.12
Python 3.484 ± 0.049 3.449 3.518 206.83 ± 3.70
Rust 0.017 ± 0.000 0.016 0.018 1.00

Day 21

Command Mean [ms] Min [ms] Max [ms] Relative
Haskell 41.9 ± 2.4 32.1 43.1 14.90 ± 1.12
Kotlin/JVM 112.5 ± 3.0 107.4 122.1 40.02 ± 2.24
Kotlin/Native 22.9 ± 0.5 22.4 25.9 8.14 ± 0.44
Kotlin/GraalVM 7.5 ± 0.3 7.1 8.8 2.68 ± 0.18
Python 162.8 ± 2.1 160.1 169.2 57.89 ± 2.96
Rust 2.8 ± 0.1 2.6 4.9 1.00

Day 22

Command Mean [ms] Min [ms] Max [ms] Relative
Haskell 44.3 ± 4.5 41.7 59.4 3.94 ± 0.61
Kotlin/JVM 236.6 ± 24.5 212.1 286.9 21.04 ± 3.29
Kotlin/Native 226.4 ± 4.6 221.7 237.1 20.13 ± 2.39
Kotlin/GraalVM 60.5 ± 2.1 58.9 71.3 5.38 ± 0.66
Python 979.1 ± 7.6 974.5 987.8 87.04 ± 10.21
Rust 11.2 ± 1.3 10.7 19.3 1.00

Day 23

Command Mean [s] Min [s] Max [s] Relative
Haskell 3.479 ± 0.063 3.434 3.524 4.41 ± 0.33
Kotlin/JVM 1.509 ± 0.084 1.450 1.568 1.91 ± 0.17
Kotlin/Native 9.949 ± 0.350 9.701 10.196 12.62 ± 1.01
Kotlin/GraalVM 2.317 ± 0.019 2.304 2.331 2.94 ± 0.21
Python 15.444 ± 0.010 15.437 15.451 19.59 ± 1.41
Rust 0.788 ± 0.057 0.753 0.854 1.00

Day 24

Command Mean [ms] Min [ms] Max [ms] Relative
Haskell 512.4 ± 0.3 512.0 512.7 11.36 ± 0.08
Kotlin/JVM 349.7 ± 3.6 345.4 356.0 7.75 ± 0.09
Kotlin/Native 418107.2 ± 12001.1 409621.1 426593.3 9267.37 ± 272.92
Kotlin/GraalVM 115423.8 ± 459.1 115099.2 115748.5 2558.38 ± 19.69
Python 8292.9 ± 23.7 8276.1 8309.7 183.81 ± 1.32
Rust 45.1 ± 0.3 44.8 46.3 1.00

Day 25

Command Mean [ms] Min [ms] Max [ms] Relative
Haskell 454.2 ± 21.3 432.5 492.3 3.05 ± 0.15
Kotlin/JVM 388.6 ± 12.8 379.9 416.0 2.61 ± 0.09
Kotlin/Native 250.9 ± 5.8 245.6 267.1 1.69 ± 0.04
Kotlin/GraalVM 224.1 ± 1.7 220.8 227.0 1.51 ± 0.02
Python 2565.9 ± 3.8 2563.2 2568.5 17.24 ± 0.19
Rust 148.8 ± 1.6 145.3 151.4 1.00

All days

Command Mean [s] Min [s] Max [s] Relative
Haskell 13.924 ± 0.049 13.889 13.958 7.84 ± 0.03
Kotlin/JVM 5.347 ± 0.170 5.227 5.467 3.01 ± 0.10
Kotlin/Native 444.303 ± 1.120 443.511 445.095 250.25 ± 0.74
Kotlin/GraalVM 123.056 ± 1.991 121.648 124.463 69.31 ± 1.13
Python 41.274 ± 0.281 41.075 41.472 23.25 ± 0.16
Rust 1.775 ± 0.003 1.773 1.777 1.00