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 |