rotortree benchmarks
2026-02-20T22:10:20Z | rustc 1.90.0 (1159e78c4 2025-09-14) | Darwin 24.6.0
tree_bench (sequential baseline)(96)
insert (single)(12)
n=2(3)
| count | fastest | slowest | median | mean |
| 1,000 |
275.2 µs3.633 Mitem/s |
338.4 µs2.954 Mitem/s |
309.7 µs3.228 Mitem/s |
310.5 µs3.219 Mitem/s |
| 10,000 |
3.838 ms2.605 Mitem/s |
4.167 ms2.399 Mitem/s |
4.016 ms2.489 Mitem/s |
4.019 ms2.488 Mitem/s |
| 100,000 |
49.06 ms2.038 Mitem/s |
52.78 ms1.894 Mitem/s |
50.25 ms1.989 Mitem/s |
50.32 ms1.987 Mitem/s |
n=4(3)
| count | fastest | slowest | median | mean |
| 1,000 |
311.5 µs3.209 Mitem/s |
454.7 µs2.199 Mitem/s |
340.6 µs2.935 Mitem/s |
343.5 µs2.91 Mitem/s |
| 10,000 |
4.267 ms2.343 Mitem/s |
6.539 ms1.529 Mitem/s |
4.556 ms2.194 Mitem/s |
4.559 ms2.193 Mitem/s |
| 100,000 |
55.19 ms1.811 Mitem/s |
58.21 ms1.717 Mitem/s |
56.07 ms1.783 Mitem/s |
56.14 ms1.781 Mitem/s |
n=8(3)
| count | fastest | slowest | median | mean |
| 1,000 |
369.8 µs2.703 Mitem/s |
519.2 µs1.925 Mitem/s |
410.5 µs2.435 Mitem/s |
409.2 µs2.443 Mitem/s |
| 10,000 |
5.165 ms1.936 Mitem/s |
6.166 ms1.621 Mitem/s |
5.385 ms1.856 Mitem/s |
5.395 ms1.853 Mitem/s |
| 100,000 |
67.59 ms1.479 Mitem/s |
71.94 ms1.389 Mitem/s |
68.95 ms1.45 Mitem/s |
68.95 ms1.45 Mitem/s |
n=16(3)
| count | fastest | slowest | median | mean |
| 1,000 |
474.8 µs2.106 Mitem/s |
629.2 µs1.589 Mitem/s |
517.9 µs1.93 Mitem/s |
519.7 µs1.923 Mitem/s |
| 10,000 |
6.867 ms1.456 Mitem/s |
7.45 ms1.342 Mitem/s |
7.183 ms1.392 Mitem/s |
7.141 ms1.4 Mitem/s |
| 100,000 |
88.7 ms1.127 Mitem/s |
94.19 ms1.061 Mitem/s |
90.58 ms1.103 Mitem/s |
90.68 ms1.102 Mitem/s |
insert_many (batch)(16)
n=2(4)
| count | fastest | slowest | median | mean |
| 1,000 |
55.24 µs18.09 Mitem/s |
65.45 µs15.27 Mitem/s |
61.62 µs16.22 Mitem/s |
61.17 µs16.34 Mitem/s |
| 10,000 |
562.4 µs17.77 Mitem/s |
667.8 µs14.97 Mitem/s |
621.4 µs16.09 Mitem/s |
621.2 µs16.09 Mitem/s |
| 100,000 |
6.01 ms16.63 Mitem/s |
6.82 ms14.66 Mitem/s |
6.259 ms15.97 Mitem/s |
6.254 ms15.98 Mitem/s |
| 1,000,000 |
64.01 ms15.62 Mitem/s |
68.05 ms14.69 Mitem/s |
66.61 ms15.01 Mitem/s |
66.47 ms15.04 Mitem/s |
n=4(4)
| count | fastest | slowest | median | mean |
| 1,000 |
32.99 µs30.3 Mitem/s |
46.66 µs21.42 Mitem/s |
36.95 µs27.05 Mitem/s |
37.26 µs26.83 Mitem/s |
| 10,000 |
368.9 µs27.1 Mitem/s |
387.5 µs25.8 Mitem/s |
369.7 µs27.04 Mitem/s |
371.4 µs26.92 Mitem/s |
| 100,000 |
3.384 ms29.54 Mitem/s |
3.839 ms26.04 Mitem/s |
3.696 ms27.05 Mitem/s |
3.67 ms27.24 Mitem/s |
| 1,000,000 |
38.11 ms26.23 Mitem/s |
42.25 ms23.66 Mitem/s |
39.13 ms25.55 Mitem/s |
39.16 ms25.53 Mitem/s |
n=8(4)
| count | fastest | slowest | median | mean |
| 1,000 |
27.33 µs36.58 Mitem/s |
44.41 µs22.51 Mitem/s |
30.54 µs32.74 Mitem/s |
30.29 µs33 Mitem/s |
| 10,000 |
295 µs33.88 Mitem/s |
315.8 µs31.66 Mitem/s |
305.5 µs32.73 Mitem/s |
304.3 µs32.86 Mitem/s |
| 100,000 |
2.855 ms35.02 Mitem/s |
3.305 ms30.25 Mitem/s |
3.052 ms32.75 Mitem/s |
3.05 ms32.78 Mitem/s |
| 1,000,000 |
31.04 ms32.2 Mitem/s |
33.3 ms30.02 Mitem/s |
31.82 ms31.41 Mitem/s |
31.87 ms31.36 Mitem/s |
n=16(4)
| count | fastest | slowest | median | mean |
| 1,000 |
25.04 µs39.93 Mitem/s |
30.74 µs32.52 Mitem/s |
27.99 µs35.71 Mitem/s |
27.63 µs36.18 Mitem/s |
| 10,000 |
250.2 µs39.96 Mitem/s |
306.3 µs32.63 Mitem/s |
269.1 µs37.14 Mitem/s |
268.5 µs37.23 Mitem/s |
| 100,000 |
2.593 ms38.56 Mitem/s |
3.033 ms32.96 Mitem/s |
2.774 ms36.04 Mitem/s |
2.762 ms36.19 Mitem/s |
| 1,000,000 |
28.06 ms35.63 Mitem/s |
30.21 ms33.1 Mitem/s |
29.08 ms34.38 Mitem/s |
29.03 ms34.44 Mitem/s |
insert_many (chunked, 100/batch)(12)
n=2(3)
| count | fastest | slowest | median | mean |
| 10,000 |
584.2 µs17.11 Mitem/s |
684.1 µs14.61 Mitem/s |
639.1 µs15.64 Mitem/s |
635.9 µs15.72 Mitem/s |
| 100,000 |
6.293 ms15.89 Mitem/s |
7.029 ms14.22 Mitem/s |
6.553 ms15.25 Mitem/s |
6.544 ms15.27 Mitem/s |
| 1,000,000 |
68.3 ms14.64 Mitem/s |
72.4 ms13.81 Mitem/s |
69.53 ms14.38 Mitem/s |
69.7 ms14.34 Mitem/s |
n=4(3)
| count | fastest | slowest | median | mean |
| 10,000 |
401.8 µs24.88 Mitem/s |
431.3 µs23.18 Mitem/s |
405.2 µs24.67 Mitem/s |
406.9 µs24.57 Mitem/s |
| 100,000 |
3.859 ms25.9 Mitem/s |
4.251 ms23.52 Mitem/s |
4.143 ms24.13 Mitem/s |
4.117 ms24.28 Mitem/s |
| 1,000,000 |
43.58 ms22.94 Mitem/s |
47.51 ms21.04 Mitem/s |
45.06 ms22.19 Mitem/s |
45.09 ms22.17 Mitem/s |
n=8(3)
| count | fastest | slowest | median | mean |
| 10,000 |
321.5 µs31.1 Mitem/s |
381.2 µs26.22 Mitem/s |
349.9 µs28.57 Mitem/s |
346.3 µs28.87 Mitem/s |
| 100,000 |
3.46 ms28.89 Mitem/s |
3.79 ms26.38 Mitem/s |
3.67 ms27.24 Mitem/s |
3.646 ms27.42 Mitem/s |
| 1,000,000 |
38.14 ms26.21 Mitem/s |
41.36 ms24.17 Mitem/s |
39.73 ms25.16 Mitem/s |
39.74 ms25.15 Mitem/s |
n=16(3)
| count | fastest | slowest | median | mean |
| 10,000 |
313.9 µs31.85 Mitem/s |
381.2 µs26.22 Mitem/s |
341.8 µs29.25 Mitem/s |
339.6 µs29.43 Mitem/s |
| 100,000 |
3.479 ms28.74 Mitem/s |
3.711 ms26.94 Mitem/s |
3.637 ms27.49 Mitem/s |
3.625 ms27.58 Mitem/s |
| 1,000,000 |
38.69 ms25.84 Mitem/s |
41.4 ms24.15 Mitem/s |
39.99 ms25 Mitem/s |
39.94 ms25.03 Mitem/s |
insert_many (chunked, 1000/batch)(12)
n=2(3)
| count | fastest | slowest | median | mean |
| 10,000 |
560.9 µs17.82 Mitem/s |
692.9 µs14.43 Mitem/s |
613.9 µs16.28 Mitem/s |
614 µs16.28 Mitem/s |
| 100,000 |
5.957 ms16.78 Mitem/s |
6.385 ms15.65 Mitem/s |
6.228 ms16.05 Mitem/s |
6.227 ms16.05 Mitem/s |
| 1,000,000 |
64.09 ms15.6 Mitem/s |
67.5 ms14.81 Mitem/s |
65.54 ms15.25 Mitem/s |
65.57 ms15.24 Mitem/s |
n=4(3)
| count | fastest | slowest | median | mean |
| 10,000 |
333.2 µs30.01 Mitem/s |
395.4 µs25.28 Mitem/s |
366.2 µs27.3 Mitem/s |
366.2 µs27.3 Mitem/s |
| 100,000 |
3.556 ms28.11 Mitem/s |
3.942 ms25.36 Mitem/s |
3.717 ms26.9 Mitem/s |
3.725 ms26.84 Mitem/s |
| 1,000,000 |
37.66 ms26.55 Mitem/s |
40.42 ms24.73 Mitem/s |
39.11 ms25.56 Mitem/s |
39.1 ms25.57 Mitem/s |
n=8(3)
| count | fastest | slowest | median | mean |
| 10,000 |
279.3 µs35.79 Mitem/s |
387.2 µs25.82 Mitem/s |
307.4 µs32.52 Mitem/s |
307.5 µs32.51 Mitem/s |
| 100,000 |
2.926 ms34.17 Mitem/s |
3.324 ms30.07 Mitem/s |
3.115 ms32.1 Mitem/s |
3.108 ms32.17 Mitem/s |
| 1,000,000 |
31.32 ms31.92 Mitem/s |
33.9 ms29.49 Mitem/s |
32.69 ms30.59 Mitem/s |
32.62 ms30.65 Mitem/s |
n=16(3)
| count | fastest | slowest | median | mean |
| 10,000 |
269.7 µs37.06 Mitem/s |
311.1 µs32.14 Mitem/s |
282.3 µs35.41 Mitem/s |
282.7 µs35.36 Mitem/s |
| 100,000 |
2.695 ms37.09 Mitem/s |
3.157 ms31.66 Mitem/s |
2.854 ms35.03 Mitem/s |
2.858 ms34.98 Mitem/s |
| 1,000,000 |
28.75 ms34.77 Mitem/s |
31.47 ms31.77 Mitem/s |
30.04 ms33.28 Mitem/s |
30.03 ms33.29 Mitem/s |
insert_many (incremental, half pre-filled)(12)
n=2(3)
| count | fastest | slowest | median | mean |
| 10,000 |
281.2 µs17.78 Mitem/s |
323.9 µs15.43 Mitem/s |
299 µs16.71 Mitem/s |
298.7 µs16.73 Mitem/s |
| 100,000 |
2.896 ms17.26 Mitem/s |
3.267 ms15.29 Mitem/s |
3.04 ms16.44 Mitem/s |
3.03 ms16.49 Mitem/s |
| 1,000,000 |
30.98 ms16.13 Mitem/s |
35.46 ms14.09 Mitem/s |
32.15 ms15.54 Mitem/s |
32.27 ms15.49 Mitem/s |
n=4(3)
| count | fastest | slowest | median | mean |
| 10,000 |
164.7 µs30.34 Mitem/s |
214.4 µs23.31 Mitem/s |
174.4 µs28.65 Mitem/s |
175.2 µs28.52 Mitem/s |
| 100,000 |
1.652 ms30.26 Mitem/s |
1.966 ms25.42 Mitem/s |
1.789 ms27.94 Mitem/s |
1.778 ms28.12 Mitem/s |
| 1,000,000 |
18.16 ms27.51 Mitem/s |
22.05 ms22.66 Mitem/s |
18.96 ms26.35 Mitem/s |
19.09 ms26.17 Mitem/s |
n=8(3)
| count | fastest | slowest | median | mean |
| 10,000 |
137.3 µs36.39 Mitem/s |
162.4 µs30.78 Mitem/s |
151.9 µs32.89 Mitem/s |
149.4 µs33.45 Mitem/s |
| 100,000 |
1.381 ms36.18 Mitem/s |
1.672 ms29.89 Mitem/s |
1.492 ms33.5 Mitem/s |
1.486 ms33.64 Mitem/s |
| 1,000,000 |
14.99 ms33.34 Mitem/s |
16.22 ms30.81 Mitem/s |
15.71 ms31.8 Mitem/s |
15.65 ms31.94 Mitem/s |
n=16(3)
| count | fastest | slowest | median | mean |
| 10,000 |
125.3 µs39.89 Mitem/s |
152.4 µs32.79 Mitem/s |
139.7 µs35.77 Mitem/s |
136.4 µs36.63 Mitem/s |
| 100,000 |
1.258 ms39.72 Mitem/s |
1.396 ms35.8 Mitem/s |
1.356 ms36.85 Mitem/s |
1.353 ms36.95 Mitem/s |
| 1,000,000 |
13.7 ms36.48 Mitem/s |
15.98 ms31.27 Mitem/s |
14.39 ms34.74 Mitem/s |
14.37 ms34.78 Mitem/s |
generate_proof(16)
n=2(4)
| count | fastest | slowest | median | mean |
| 1,000 |
116.3 ns |
289.5 ns |
120.8 ns |
130.2 ns |
| 10,000 |
133.8 ns |
153.4 ns |
149.5 ns |
145.6 ns |
| 100,000 |
145.5 ns |
172.9 ns |
165.1 ns |
160.4 ns |
| 1,000,000 |
159.9 ns |
185.9 ns |
179.4 ns |
176.3 ns |
n=4(4)
| count | fastest | slowest | median | mean |
| 1,000 |
172.9 ns |
199 ns |
193.7 ns |
187.6 ns |
| 10,000 |
189.8 ns |
420.3 ns |
213.3 ns |
214.8 ns |
| 100,000 |
202.9 ns |
235.4 ns |
228.9 ns |
226.8 ns |
| 1,000,000 |
212 ns |
252.4 ns |
246.5 ns |
237.3 ns |
n=8(4)
| count | fastest | slowest | median | mean |
| 1,000 |
317.4 ns |
481.5 ns |
333 ns |
361.7 ns |
| 10,000 |
327.9 ns |
676.9 ns |
369.5 ns |
361.8 ns |
| 100,000 |
351.3 ns |
395.6 ns |
390.4 ns |
385.4 ns |
| 1,000,000 |
382.5 ns |
452.9 ns |
432 ns |
419.5 ns |
n=16(4)
| count | fastest | slowest | median | mean |
| 1,000 |
723.7 ns |
1.109 µs |
765.4 ns |
786.5 ns |
| 10,000 |
645.5 ns |
765.4 ns |
728.9 ns |
705.8 ns |
| 100,000 |
666.4 ns |
838.4 ns |
788.8 ns |
778.5 ns |
| 1,000,000 |
650.9 ns |
2.4 µs |
744.6 ns |
803.4 ns |
verify_proof(16)
n=2(4)
| count | fastest | slowest | median | mean |
| 1,000 |
510.1 ns |
1.749 µs |
567.5 ns |
584 ns |
| 10,000 |
786.2 ns |
1.041 µs |
801.9 ns |
836.3 ns |
| 100,000 |
952.9 ns |
2.447 µs |
963.4 ns |
992.8 ns |
| 1,000,000 |
1.01 µs |
3.843 µs |
1.135 µs |
1.149 µs |
n=4(4)
| count | fastest | slowest | median | mean |
| 1,000 |
471 ns |
663.8 ns |
528.4 ns |
522.6 ns |
| 10,000 |
734.1 ns |
760.2 ns |
744.6 ns |
746.4 ns |
| 100,000 |
895.6 ns |
2.546 µs |
911.1 ns |
937.3 ns |
| 1,000,000 |
1.051 µs |
1.093 µs |
1.062 µs |
1.069 µs |
n=8(4)
| count | fastest | slowest | median | mean |
| 1,000 |
593.5 ns |
671.6 ns |
661.2 ns |
641.8 ns |
| 10,000 |
911.1 ns |
932.1 ns |
916.5 ns |
918.8 ns |
| 100,000 |
1.114 µs |
1.145 µs |
1.124 µs |
1.124 µs |
| 1,000,000 |
1.176 µs |
4.343 µs |
1.322 µs |
1.323 µs |
n=16(4)
| count | fastest | slowest | median | mean |
| 1,000 |
812.2 ns |
926.9 ns |
817.5 ns |
841 ns |
| 10,000 |
1.166 µs |
1.354 µs |
1.312 µs |
1.276 µs |
| 100,000 |
1.478 µs |
1.697 µs |
1.666 µs |
1.61 µs |
| 1,000,000 |
1.781 µs |
1.812 µs |
1.801 µs |
1.799 µs |
tree_bench_parallel (rayon)(52)
insert_many (batch)(16)
n=2(4)
| count | fastest | slowest | median | mean |
| 1,000 |
64.87 µs15.41 Mitem/s |
152.9 µs6.537 Mitem/s |
65.35 µs15.3 Mitem/s |
66.76 µs14.97 Mitem/s |
| 10,000 |
284 µs35.2 Mitem/s |
448.2 µs22.31 Mitem/s |
341 µs29.32 Mitem/s |
349.8 µs28.58 Mitem/s |
| 100,000 |
1.917 ms52.14 Mitem/s |
4.029 ms24.81 Mitem/s |
2.107 ms47.45 Mitem/s |
2.194 ms45.57 Mitem/s |
| 1,000,000 |
16.54 ms60.43 Mitem/s |
19.74 ms50.64 Mitem/s |
17.26 ms57.93 Mitem/s |
17.41 ms57.43 Mitem/s |
n=4(4)
| count | fastest | slowest | median | mean |
| 1,000 |
38.62 µs25.89 Mitem/s |
98.87 µs10.11 Mitem/s |
39.08 µs25.58 Mitem/s |
40.05 µs24.96 Mitem/s |
| 10,000 |
174.4 µs57.33 Mitem/s |
316.5 µs31.58 Mitem/s |
196.3 µs50.91 Mitem/s |
200.3 µs49.9 Mitem/s |
| 100,000 |
857.3 µs116.6 Mitem/s |
1.27 ms78.69 Mitem/s |
992.3 µs100.7 Mitem/s |
1.006 ms99.32 Mitem/s |
| 1,000,000 |
9.031 ms110.7 Mitem/s |
10.53 ms94.89 Mitem/s |
9.557 ms104.6 Mitem/s |
9.612 ms104 Mitem/s |
n=8(4)
| count | fastest | slowest | median | mean |
| 1,000 |
32.04 µs31.2 Mitem/s |
76.62 µs13.05 Mitem/s |
32.33 µs30.92 Mitem/s |
33.25 µs30.07 Mitem/s |
| 10,000 |
108.4 µs92.23 Mitem/s |
251.4 µs39.77 Mitem/s |
131.1 µs76.22 Mitem/s |
137.2 µs72.85 Mitem/s |
| 100,000 |
586.7 µs170.4 Mitem/s |
857.5 µs116.6 Mitem/s |
725.3 µs137.8 Mitem/s |
730.9 µs136.8 Mitem/s |
| 1,000,000 |
6.19 ms161.5 Mitem/s |
7.6 ms131.5 Mitem/s |
6.759 ms147.9 Mitem/s |
6.791 ms147.2 Mitem/s |
n=16(4)
| count | fastest | slowest | median | mean |
| 1,000 |
29.29 µs34.13 Mitem/s |
48.99 µs20.4 Mitem/s |
29.58 µs33.8 Mitem/s |
30.24 µs33.06 Mitem/s |
| 10,000 |
279.4 µs35.78 Mitem/s |
377.9 µs26.46 Mitem/s |
289.2 µs34.57 Mitem/s |
291.7 µs34.27 Mitem/s |
| 100,000 |
598.4 µs167 Mitem/s |
916.4 µs109.1 Mitem/s |
686.6 µs145.6 Mitem/s |
697.1 µs143.4 Mitem/s |
| 1,000,000 |
5.535 ms180.6 Mitem/s |
6.638 ms150.6 Mitem/s |
5.82 ms171.8 Mitem/s |
5.839 ms171.2 Mitem/s |
insert_many (chunked, 100/batch)(12)
n=2(3)
| count | fastest | slowest | median | mean |
| 10,000 |
633.5 µs15.78 Mitem/s |
701.5 µs14.25 Mitem/s |
666.7 µs14.99 Mitem/s |
666.4 µs15 Mitem/s |
| 100,000 |
6.678 ms14.97 Mitem/s |
7.249 ms13.79 Mitem/s |
6.707 ms14.9 Mitem/s |
6.735 ms14.84 Mitem/s |
| 1,000,000 |
71.24 ms14.03 Mitem/s |
75.7 ms13.2 Mitem/s |
71.83 ms13.92 Mitem/s |
72.31 ms13.82 Mitem/s |
n=4(3)
| count | fastest | slowest | median | mean |
| 10,000 |
384 µs26.03 Mitem/s |
471.2 µs21.21 Mitem/s |
423.6 µs23.6 Mitem/s |
427.1 µs23.41 Mitem/s |
| 100,000 |
4.181 ms23.91 Mitem/s |
4.598 ms21.74 Mitem/s |
4.319 ms23.15 Mitem/s |
4.333 ms23.07 Mitem/s |
| 1,000,000 |
45.47 ms21.99 Mitem/s |
48.74 ms20.51 Mitem/s |
46.86 ms21.33 Mitem/s |
46.88 ms21.32 Mitem/s |
n=8(3)
| count | fastest | slowest | median | mean |
| 10,000 |
335.2 µs29.83 Mitem/s |
413.4 µs24.18 Mitem/s |
371.3 µs26.93 Mitem/s |
371.4 µs26.91 Mitem/s |
| 100,000 |
3.733 ms26.78 Mitem/s |
3.896 ms25.66 Mitem/s |
3.762 ms26.57 Mitem/s |
3.771 ms26.51 Mitem/s |
| 1,000,000 |
40.34 ms24.78 Mitem/s |
41.17 ms24.28 Mitem/s |
40.73 ms24.54 Mitem/s |
40.76 ms24.53 Mitem/s |
n=16(3)
| count | fastest | slowest | median | mean |
| 10,000 |
335.8 µs29.77 Mitem/s |
455.3 µs21.95 Mitem/s |
355.5 µs28.12 Mitem/s |
356.1 µs28.07 Mitem/s |
| 100,000 |
3.634 ms27.51 Mitem/s |
4.035 ms24.78 Mitem/s |
3.725 ms26.83 Mitem/s |
3.732 ms26.79 Mitem/s |
| 1,000,000 |
40.83 ms24.48 Mitem/s |
65.67 ms15.22 Mitem/s |
41.43 ms24.13 Mitem/s |
42.35 ms23.6 Mitem/s |
insert_many (chunked, 1000/batch)(12)
n=2(3)
| count | fastest | slowest | median | mean |
| 10,000 |
602.2 µs16.6 Mitem/s |
737.7 µs13.55 Mitem/s |
641.4 µs15.58 Mitem/s |
643.6 µs15.53 Mitem/s |
| 100,000 |
6.344 ms15.76 Mitem/s |
7.412 ms13.49 Mitem/s |
6.473 ms15.44 Mitem/s |
6.531 ms15.31 Mitem/s |
| 1,000,000 |
66.7 ms14.99 Mitem/s |
84.29 ms11.86 Mitem/s |
67.93 ms14.72 Mitem/s |
68.4 ms14.61 Mitem/s |
n=4(3)
| count | fastest | slowest | median | mean |
| 10,000 |
353.9 µs28.25 Mitem/s |
395.6 µs25.27 Mitem/s |
376.5 µs26.55 Mitem/s |
375.8 µs26.6 Mitem/s |
| 100,000 |
3.709 ms26.95 Mitem/s |
4.296 ms23.27 Mitem/s |
3.799 ms26.31 Mitem/s |
3.829 ms26.11 Mitem/s |
| 1,000,000 |
39.58 ms25.26 Mitem/s |
43.87 ms22.79 Mitem/s |
40.32 ms24.79 Mitem/s |
40.45 ms24.71 Mitem/s |
n=8(3)
| count | fastest | slowest | median | mean |
| 10,000 |
293.1 µs34.11 Mitem/s |
404.6 µs24.71 Mitem/s |
321.4 µs31.11 Mitem/s |
323.7 µs30.88 Mitem/s |
| 100,000 |
3.124 ms32 Mitem/s |
3.571 ms27.99 Mitem/s |
3.161 ms31.62 Mitem/s |
3.186 ms31.38 Mitem/s |
| 1,000,000 |
32.75 ms30.53 Mitem/s |
34.59 ms28.9 Mitem/s |
33.36 ms29.97 Mitem/s |
33.44 ms29.89 Mitem/s |
n=16(3)
| count | fastest | slowest | median | mean |
| 10,000 |
271.6 µs36.8 Mitem/s |
461.5 µs21.66 Mitem/s |
295 µs33.89 Mitem/s |
299.3 µs33.4 Mitem/s |
| 100,000 |
2.888 ms34.62 Mitem/s |
3.632 ms27.53 Mitem/s |
2.971 ms33.64 Mitem/s |
2.986 ms33.48 Mitem/s |
| 1,000,000 |
30.64 ms32.63 Mitem/s |
33.57 ms29.78 Mitem/s |
31.1 ms32.14 Mitem/s |
31.21 ms32.04 Mitem/s |
insert_many (incremental, half pre-filled)(12)
n=2(3)
| count | fastest | slowest | median | mean |
| 10,000 |
194.4 µs25.71 Mitem/s |
486.5 µs10.27 Mitem/s |
226.2 µs22.09 Mitem/s |
242.1 µs20.64 Mitem/s |
| 100,000 |
981.6 µs50.93 Mitem/s |
1.433 ms34.87 Mitem/s |
1.18 ms42.33 Mitem/s |
1.187 ms42.1 Mitem/s |
| 1,000,000 |
8.839 ms56.56 Mitem/s |
10.32 ms48.44 Mitem/s |
9.291 ms53.81 Mitem/s |
9.311 ms53.69 Mitem/s |
n=4(3)
| count | fastest | slowest | median | mean |
| 10,000 |
94.37 µs52.98 Mitem/s |
309.1 µs16.17 Mitem/s |
118.1 µs42.31 Mitem/s |
123.4 µs40.49 Mitem/s |
| 100,000 |
506 µs98.79 Mitem/s |
834.8 µs59.88 Mitem/s |
606.1 µs82.48 Mitem/s |
623.9 µs80.13 Mitem/s |
| 1,000,000 |
4.388 ms113.9 Mitem/s |
5.148 ms97.11 Mitem/s |
4.714 ms106 Mitem/s |
4.737 ms105.5 Mitem/s |
n=8(3)
| count | fastest | slowest | median | mean |
| 10,000 |
157.3 µs31.77 Mitem/s |
253.5 µs19.71 Mitem/s |
162 µs30.84 Mitem/s |
163.3 µs30.61 Mitem/s |
| 100,000 |
422 µs118.4 Mitem/s |
576.1 µs86.78 Mitem/s |
481.2 µs103.8 Mitem/s |
486.5 µs102.7 Mitem/s |
| 1,000,000 |
3.215 ms155.5 Mitem/s |
3.984 ms125.4 Mitem/s |
3.614 ms138.3 Mitem/s |
3.628 ms137.7 Mitem/s |
n=16(3)
| count | fastest | slowest | median | mean |
| 10,000 |
143.2 µs34.91 Mitem/s |
245.4 µs20.37 Mitem/s |
148.2 µs33.73 Mitem/s |
150.3 µs33.24 Mitem/s |
| 100,000 |
303 µs164.9 Mitem/s |
513.7 µs97.32 Mitem/s |
353 µs141.6 Mitem/s |
362.4 µs137.9 Mitem/s |
| 1,000,000 |
2.647 ms188.8 Mitem/s |
3.306 ms151.1 Mitem/s |
2.992 ms167.1 Mitem/s |
3.001 ms166.5 Mitem/s |
tree_bench_concurrent(96)
insert (single)(12)
n=2(3)
| count | fastest | slowest | median | mean |
| 1,000 |
9.634 ms103.7 Kitem/s |
10.28 ms97.21 Kitem/s |
10 ms99.92 Kitem/s |
9.999 ms100 Kitem/s |
| 10,000 |
106 ms94.28 Kitem/s |
110.6 ms90.36 Kitem/s |
107.5 ms92.98 Kitem/s |
107.7 ms92.8 Kitem/s |
| 100,000 |
1.247 s80.14 Kitem/s |
1.677 s59.61 Kitem/s |
1.27 s78.7 Kitem/s |
1.288 s77.58 Kitem/s |
n=4(3)
| count | fastest | slowest | median | mean |
| 1,000 |
9.621 ms103.9 Kitem/s |
10.24 ms97.64 Kitem/s |
9.806 ms101.9 Kitem/s |
9.815 ms101.8 Kitem/s |
| 10,000 |
100.7 ms99.22 Kitem/s |
118.2 ms84.57 Kitem/s |
104.5 ms95.64 Kitem/s |
104.3 ms95.85 Kitem/s |
| 100,000 |
1.115 s89.63 Kitem/s |
1.188 s84.1 Kitem/s |
1.135 s88.05 Kitem/s |
1.137 s87.95 Kitem/s |
n=8(3)
| count | fastest | slowest | median | mean |
| 1,000 |
9.4 ms106.3 Kitem/s |
9.574 ms104.4 Kitem/s |
9.491 ms105.3 Kitem/s |
9.491 ms105.3 Kitem/s |
| 10,000 |
96.32 ms103.8 Kitem/s |
100.3 ms99.68 Kitem/s |
97.02 ms103 Kitem/s |
97.16 ms102.9 Kitem/s |
| 100,000 |
1.043 s95.86 Kitem/s |
1.141 s87.62 Kitem/s |
1.047 s95.44 Kitem/s |
1.049 s95.26 Kitem/s |
n=16(3)
| count | fastest | slowest | median | mean |
| 1,000 |
9.563 ms104.5 Kitem/s |
9.903 ms100.9 Kitem/s |
9.7 ms103 Kitem/s |
9.694 ms103.1 Kitem/s |
| 10,000 |
98.04 ms101.9 Kitem/s |
102.3 ms97.68 Kitem/s |
98.48 ms101.5 Kitem/s |
98.55 ms101.4 Kitem/s |
| 100,000 |
1.029 s97.15 Kitem/s |
1.037 s96.38 Kitem/s |
1.032 s96.87 Kitem/s |
1.032 s96.84 Kitem/s |
insert_many (batch)(16)
n=2(4)
| count | fastest | slowest | median | mean |
| 1,000 |
71.2 µs14.04 Mitem/s |
113.3 µs8.823 Mitem/s |
75.99 µs13.15 Mitem/s |
76.2 µs13.12 Mitem/s |
| 10,000 |
615.2 µs16.25 Mitem/s |
776.9 µs12.87 Mitem/s |
661.6 µs15.11 Mitem/s |
667.2 µs14.98 Mitem/s |
| 100,000 |
6.243 ms16.01 Mitem/s |
7.125 ms14.03 Mitem/s |
6.508 ms15.36 Mitem/s |
6.543 ms15.28 Mitem/s |
| 1,000,000 |
67.93 ms14.72 Mitem/s |
70.2 ms14.24 Mitem/s |
68.88 ms14.51 Mitem/s |
68.86 ms14.52 Mitem/s |
n=4(4)
| count | fastest | slowest | median | mean |
| 1,000 |
41.49 µs24.09 Mitem/s |
63.41 µs15.76 Mitem/s |
48.02 µs20.82 Mitem/s |
48.93 µs20.43 Mitem/s |
| 10,000 |
377 µs26.51 Mitem/s |
418.3 µs23.9 Mitem/s |
391.6 µs25.53 Mitem/s |
392.8 µs25.45 Mitem/s |
| 100,000 |
3.646 ms27.42 Mitem/s |
4.576 ms21.85 Mitem/s |
3.763 ms26.57 Mitem/s |
3.768 ms26.53 Mitem/s |
| 1,000,000 |
39.15 ms25.53 Mitem/s |
41.14 ms24.3 Mitem/s |
39.84 ms25.09 Mitem/s |
39.9 ms25.06 Mitem/s |
n=8(4)
| count | fastest | slowest | median | mean |
| 1,000 |
34.91 µs28.63 Mitem/s |
54.2 µs18.44 Mitem/s |
41.16 µs24.29 Mitem/s |
42.24 µs23.66 Mitem/s |
| 10,000 |
315.6 µs31.68 Mitem/s |
334.6 µs29.88 Mitem/s |
320.3 µs31.21 Mitem/s |
319.9 µs31.25 Mitem/s |
| 100,000 |
2.91 ms34.36 Mitem/s |
3.291 ms30.37 Mitem/s |
3.101 ms32.24 Mitem/s |
3.096 ms32.29 Mitem/s |
| 1,000,000 |
31.95 ms31.29 Mitem/s |
35.22 ms28.38 Mitem/s |
32.83 ms30.45 Mitem/s |
32.83 ms30.45 Mitem/s |
n=16(4)
| count | fastest | slowest | median | mean |
| 1,000 |
32.58 µs30.69 Mitem/s |
87.04 µs11.48 Mitem/s |
38.45 µs26 Mitem/s |
40.11 µs24.92 Mitem/s |
| 10,000 |
259.1 µs38.59 Mitem/s |
398.7 µs25.07 Mitem/s |
290.1 µs34.46 Mitem/s |
289.2 µs34.56 Mitem/s |
| 100,000 |
2.652 ms37.69 Mitem/s |
3.102 ms32.23 Mitem/s |
2.816 ms35.5 Mitem/s |
2.824 ms35.4 Mitem/s |
| 1,000,000 |
29.05 ms34.42 Mitem/s |
31.1 ms32.15 Mitem/s |
30.08 ms33.23 Mitem/s |
30.05 ms33.26 Mitem/s |
insert_many (incremental, half pre-filled)(12)
n=2(3)
| count | fastest | slowest | median | mean |
| 10,000 |
300 µs16.66 Mitem/s |
356.5 µs14.02 Mitem/s |
327.9 µs15.24 Mitem/s |
329.2 µs15.18 Mitem/s |
| 100,000 |
3.047 ms16.4 Mitem/s |
3.454 ms14.47 Mitem/s |
3.219 ms15.53 Mitem/s |
3.231 ms15.47 Mitem/s |
| 1,000,000 |
33.04 ms15.13 Mitem/s |
35.49 ms14.08 Mitem/s |
33.98 ms14.71 Mitem/s |
34.04 ms14.68 Mitem/s |
n=4(3)
| count | fastest | slowest | median | mean |
| 10,000 |
176.7 µs28.28 Mitem/s |
349.3 µs14.31 Mitem/s |
196.6 µs25.42 Mitem/s |
201.8 µs24.76 Mitem/s |
| 100,000 |
1.731 ms28.87 Mitem/s |
2.072 ms24.12 Mitem/s |
1.901 ms26.29 Mitem/s |
1.911 ms26.15 Mitem/s |
| 1,000,000 |
19.32 ms25.86 Mitem/s |
21.33 ms23.43 Mitem/s |
19.88 ms25.14 Mitem/s |
19.93 ms25.07 Mitem/s |
n=8(3)
| count | fastest | slowest | median | mean |
| 10,000 |
146.9 µs34.02 Mitem/s |
236.8 µs21.11 Mitem/s |
164.6 µs30.37 Mitem/s |
165.2 µs30.25 Mitem/s |
| 100,000 |
1.458 ms34.28 Mitem/s |
1.665 ms30.02 Mitem/s |
1.558 ms32.08 Mitem/s |
1.555 ms32.13 Mitem/s |
| 1,000,000 |
15.7 ms31.83 Mitem/s |
17.68 ms28.27 Mitem/s |
16.47 ms30.35 Mitem/s |
16.44 ms30.41 Mitem/s |
n=16(3)
| count | fastest | slowest | median | mean |
| 10,000 |
145 µs34.46 Mitem/s |
164.7 µs30.34 Mitem/s |
150.2 µs33.27 Mitem/s |
151 µs33.09 Mitem/s |
| 100,000 |
1.323 ms37.77 Mitem/s |
1.578 ms31.66 Mitem/s |
1.417 ms35.27 Mitem/s |
1.417 ms35.26 Mitem/s |
| 1,000,000 |
14.4 ms34.71 Mitem/s |
15.45 ms32.35 Mitem/s |
15.02 ms33.27 Mitem/s |
15 ms33.32 Mitem/s |
generate_proof(16)
n=2(4)
| count | fastest | slowest | median | mean |
| 1,000 |
108.4 ns |
194.4 ns |
110.4 ns |
114.7 ns |
| 10,000 |
126 ns |
297.9 ns |
141.7 ns |
147.8 ns |
| 100,000 |
154.7 ns |
161.2 ns |
157.3 ns |
157.2 ns |
| 1,000,000 |
169 ns |
214.6 ns |
172.9 ns |
173.6 ns |
n=4(4)
| count | fastest | slowest | median | mean |
| 1,000 |
172.9 ns |
196.4 ns |
192.4 ns |
191.8 ns |
| 10,000 |
205.5 ns |
254.9 ns |
209.4 ns |
210.1 ns |
| 100,000 |
225 ns |
295.3 ns |
226.3 ns |
229.9 ns |
| 1,000,000 |
240.6 ns |
247.1 ns |
243.2 ns |
243.3 ns |
n=8(4)
| count | fastest | slowest | median | mean |
| 1,000 |
364.3 ns |
387.7 ns |
369.5 ns |
368.6 ns |
| 10,000 |
398.2 ns |
515.4 ns |
408.6 ns |
413.4 ns |
| 100,000 |
377.3 ns |
393 ns |
382.5 ns |
383 ns |
| 1,000,000 |
437.2 ns |
476.3 ns |
455.4 ns |
455.8 ns |
n=16(4)
| count | fastest | slowest | median | mean |
| 1,000 |
682 ns |
765.4 ns |
721 ns |
720.5 ns |
| 10,000 |
713.4 ns |
989.4 ns |
773.2 ns |
769.5 ns |
| 100,000 |
807 ns |
874.7 ns |
843.5 ns |
835.3 ns |
| 1,000,000 |
760.1 ns |
973.7 ns |
786.1 ns |
786.2 ns |
verify_proof(16)
n=2(4)
| count | fastest | slowest | median | mean |
| 1,000 |
562.2 ns |
583.1 ns |
572.6 ns |
571.5 ns |
| 10,000 |
786.2 ns |
822.6 ns |
796.6 ns |
798.4 ns |
| 100,000 |
958.1 ns |
984.1 ns |
968.5 ns |
967.1 ns |
| 1,000,000 |
1.114 µs |
1.177 µs |
1.135 µs |
1.137 µs |
n=4(4)
| count | fastest | slowest | median | mean |
| 1,000 |
520.5 ns |
1.354 µs |
531 ns |
536.8 ns |
| 10,000 |
734.1 ns |
755 ns |
744.5 ns |
742.3 ns |
| 100,000 |
895.6 ns |
916.5 ns |
906 ns |
907.4 ns |
| 1,000,000 |
1.041 µs |
1.072 µs |
1.062 µs |
1.063 µs |
n=8(4)
| count | fastest | slowest | median | mean |
| 1,000 |
661.1 ns |
676.7 ns |
666.4 ns |
667.1 ns |
| 10,000 |
911.1 ns |
926.9 ns |
921.6 ns |
919.2 ns |
| 100,000 |
1.104 µs |
1.135 µs |
1.124 µs |
1.125 µs |
| 1,000,000 |
1.312 µs |
1.749 µs |
1.333 µs |
1.35 µs |
n=16(4)
| count | fastest | slowest | median | mean |
| 1,000 |
900.9 ns |
921.6 ns |
911.2 ns |
910.8 ns |
| 10,000 |
1.301 µs |
1.333 µs |
1.312 µs |
1.313 µs |
| 100,000 |
1.656 µs |
1.697 µs |
1.666 µs |
1.667 µs |
| 1,000,000 |
1.989 µs |
2.02 µs |
2.01 µs |
2.006 µs |
snapshot(16)
n=2(4)
| count | fastest | slowest | median | mean |
| 1,000 |
3.665 ns |
3.767 ns |
3.706 ns |
3.698 ns |
| 10,000 |
3.665 ns |
3.767 ns |
3.706 ns |
3.711 ns |
| 100,000 |
3.665 ns |
3.767 ns |
3.716 ns |
3.718 ns |
| 1,000,000 |
3.645 ns |
6.391 ns |
3.706 ns |
3.729 ns |
n=4(4)
| count | fastest | slowest | median | mean |
| 1,000 |
3.665 ns |
4.906 ns |
3.706 ns |
3.742 ns |
| 10,000 |
3.666 ns |
3.747 ns |
3.706 ns |
3.706 ns |
| 100,000 |
3.665 ns |
3.808 ns |
3.706 ns |
3.708 ns |
| 1,000,000 |
3.686 ns |
6.27 ns |
3.706 ns |
3.735 ns |
n=8(4)
| count | fastest | slowest | median | mean |
| 1,000 |
3.686 ns |
3.787 ns |
3.706 ns |
3.705 ns |
| 10,000 |
3.686 ns |
3.747 ns |
3.706 ns |
3.708 ns |
| 100,000 |
3.686 ns |
3.767 ns |
3.706 ns |
3.711 ns |
| 1,000,000 |
3.686 ns |
3.767 ns |
3.706 ns |
3.715 ns |
n=16(4)
| count | fastest | slowest | median | mean |
| 1,000 |
3.665 ns |
3.747 ns |
3.706 ns |
3.706 ns |
| 10,000 |
3.665 ns |
3.767 ns |
3.706 ns |
3.712 ns |
| 100,000 |
3.666 ns |
6.738 ns |
3.706 ns |
4.21 ns |
| 1,000,000 |
3.686 ns |
6.473 ns |
3.726 ns |
3.746 ns |
concurrent contention (4 readers + 1 writer)(8)
n=2(2)
| count | fastest | slowest | median | mean |
| 10,000 |
633.2 µs15.79 Mitem/s |
869 µs11.5 Mitem/s |
736.5 µs13.57 Mitem/s |
734.4 µs13.61 Mitem/s |
| 100,000 |
6.675 ms14.98 Mitem/s |
10.57 ms9.453 Mitem/s |
6.969 ms14.34 Mitem/s |
7.072 ms14.13 Mitem/s |
n=4(2)
| count | fastest | slowest | median | mean |
| 10,000 |
425.2 µs23.51 Mitem/s |
523.2 µs19.1 Mitem/s |
458.9 µs21.78 Mitem/s |
460.6 µs21.7 Mitem/s |
| 100,000 |
3.818 ms26.18 Mitem/s |
4.199 ms23.81 Mitem/s |
4.003 ms24.97 Mitem/s |
3.999 ms25 Mitem/s |
n=8(2)
| count | fastest | slowest | median | mean |
| 10,000 |
361.1 µs27.69 Mitem/s |
448.2 µs22.31 Mitem/s |
391.3 µs25.55 Mitem/s |
394.2 µs25.36 Mitem/s |
| 100,000 |
3.113 ms32.12 Mitem/s |
6.1 ms16.39 Mitem/s |
3.323 ms30.09 Mitem/s |
3.351 ms29.83 Mitem/s |
n=16(2)
| count | fastest | slowest | median | mean |
| 10,000 |
308.9 µs32.36 Mitem/s |
536.7 µs18.63 Mitem/s |
359.7 µs27.79 Mitem/s |
364.3 µs27.44 Mitem/s |
| 100,000 |
2.832 ms35.3 Mitem/s |
3.212 ms31.13 Mitem/s |
3.024 ms33.05 Mitem/s |
3.022 ms33.08 Mitem/s |
tree_bench_all (concurrent + parallel)(36)
insert_many (batch)(16)
n=2(4)
| count | fastest | slowest | median | mean |
| 1,000 |
72.79 µs13.73 Mitem/s |
81.04 µs12.33 Mitem/s |
74.27 µs13.46 Mitem/s |
74.52 µs13.41 Mitem/s |
| 10,000 |
355.2 µs28.14 Mitem/s |
639.7 µs15.63 Mitem/s |
444.7 µs22.48 Mitem/s |
455.2 µs21.96 Mitem/s |
| 100,000 |
2.009 ms49.75 Mitem/s |
3.567 ms28.02 Mitem/s |
2.187 ms45.7 Mitem/s |
2.245 ms44.52 Mitem/s |
| 1,000,000 |
16.71 ms59.81 Mitem/s |
35.53 ms28.14 Mitem/s |
18.38 ms54.39 Mitem/s |
19.02 ms52.57 Mitem/s |
n=4(4)
| count | fastest | slowest | median | mean |
| 1,000 |
46.37 µs21.56 Mitem/s |
64.12 µs15.59 Mitem/s |
50.85 µs19.66 Mitem/s |
50.06 µs19.97 Mitem/s |
| 10,000 |
256.1 µs39.04 Mitem/s |
375.4 µs26.63 Mitem/s |
290.1 µs34.46 Mitem/s |
294.4 µs33.95 Mitem/s |
| 100,000 |
990.4 µs100.9 Mitem/s |
1.402 ms71.29 Mitem/s |
1.136 ms87.97 Mitem/s |
1.148 ms87.07 Mitem/s |
| 1,000,000 |
9.27 ms107.8 Mitem/s |
12.46 ms80.2 Mitem/s |
10.62 ms94.14 Mitem/s |
10.56 ms94.64 Mitem/s |
n=8(4)
| count | fastest | slowest | median | mean |
| 1,000 |
39.24 µs25.47 Mitem/s |
58.99 µs16.94 Mitem/s |
44.27 µs22.58 Mitem/s |
43.86 µs22.79 Mitem/s |
| 10,000 |
188.7 µs52.99 Mitem/s |
365.1 µs27.38 Mitem/s |
245.5 µs40.71 Mitem/s |
255.4 µs39.15 Mitem/s |
| 100,000 |
699.6 µs142.9 Mitem/s |
1.311 ms76.25 Mitem/s |
809.9 µs123.4 Mitem/s |
821.4 µs121.7 Mitem/s |
| 1,000,000 |
6.685 ms149.5 Mitem/s |
8.638 ms115.7 Mitem/s |
6.949 ms143.9 Mitem/s |
7.051 ms141.8 Mitem/s |
n=16(4)
| count | fastest | slowest | median | mean |
| 1,000 |
36.7 µs27.24 Mitem/s |
49.29 µs20.28 Mitem/s |
40.16 µs24.89 Mitem/s |
39.21 µs25.5 Mitem/s |
| 10,000 |
288.3 µs34.68 Mitem/s |
311.7 µs32.07 Mitem/s |
292.2 µs34.21 Mitem/s |
291.9 µs34.24 Mitem/s |
| 100,000 |
661.7 µs151.1 Mitem/s |
860 µs116.2 Mitem/s |
739.7 µs135.1 Mitem/s |
740.2 µs135 Mitem/s |
| 1,000,000 |
5.637 ms177.3 Mitem/s |
6.9 ms144.9 Mitem/s |
6.032 ms165.7 Mitem/s |
6.06 ms165 Mitem/s |
insert_many (incremental, half pre-filled)(12)
n=2(3)
| count | fastest | slowest | median | mean |
| 10,000 |
250.4 µs19.96 Mitem/s |
573.4 µs8.718 Mitem/s |
337.8 µs14.8 Mitem/s |
345.6 µs14.46 Mitem/s |
| 100,000 |
1.102 ms45.34 Mitem/s |
1.441 ms34.68 Mitem/s |
1.247 ms40.07 Mitem/s |
1.247 ms40.07 Mitem/s |
| 1,000,000 |
8.959 ms55.8 Mitem/s |
11.09 ms45.05 Mitem/s |
9.249 ms54.05 Mitem/s |
9.302 ms53.75 Mitem/s |
n=4(3)
| count | fastest | slowest | median | mean |
| 10,000 |
105.3 µs47.44 Mitem/s |
291.2 µs17.16 Mitem/s |
169.6 µs29.46 Mitem/s |
171.2 µs29.2 Mitem/s |
| 100,000 |
563.7 µs88.68 Mitem/s |
902.7 µs55.38 Mitem/s |
694.7 µs71.97 Mitem/s |
699.8 µs71.44 Mitem/s |
| 1,000,000 |
4.405 ms113.5 Mitem/s |
11.23 ms44.49 Mitem/s |
4.845 ms103.1 Mitem/s |
5.022 ms99.55 Mitem/s |
n=8(3)
| count | fastest | slowest | median | mean |
| 10,000 |
162.7 µs30.71 Mitem/s |
176.8 µs28.26 Mitem/s |
163.8 µs30.5 Mitem/s |
164.3 µs30.41 Mitem/s |
| 100,000 |
491.5 µs101.7 Mitem/s |
658.4 µs75.93 Mitem/s |
557.4 µs89.69 Mitem/s |
556.8 µs89.79 Mitem/s |
| 1,000,000 |
3.836 ms130.3 Mitem/s |
35.67 ms14.01 Mitem/s |
4.921 ms101.5 Mitem/s |
6.108 ms81.85 Mitem/s |
n=16(3)
| count | fastest | slowest | median | mean |
| 10,000 |
149 µs33.53 Mitem/s |
206.5 µs24.2 Mitem/s |
152.6 µs32.76 Mitem/s |
153.8 µs32.49 Mitem/s |
| 100,000 |
406.9 µs122.8 Mitem/s |
831.9 µs60.09 Mitem/s |
452 µs110.6 Mitem/s |
478 µs104.5 Mitem/s |
| 1,000,000 |
2.971 ms168.2 Mitem/s |
23.49 ms21.28 Mitem/s |
3.755 ms133.1 Mitem/s |
4.084 ms122.4 Mitem/s |
concurrent contention (4 readers + 1 writer)(8)
n=2(2)
| count | fastest | slowest | median | mean |
| 10,000 |
445.4 µs22.44 Mitem/s |
818.3 µs12.21 Mitem/s |
484.1 µs20.65 Mitem/s |
494 µs20.23 Mitem/s |
| 100,000 |
2.402 ms41.61 Mitem/s |
2.89 ms34.59 Mitem/s |
2.639 ms37.87 Mitem/s |
2.644 ms37.81 Mitem/s |
n=4(2)
| count | fastest | slowest | median | mean |
| 10,000 |
282.7 µs35.36 Mitem/s |
403.5 µs24.77 Mitem/s |
335.7 µs29.78 Mitem/s |
339.1 µs29.48 Mitem/s |
| 100,000 |
1.211 ms82.53 Mitem/s |
1.56 ms64.08 Mitem/s |
1.358 ms73.58 Mitem/s |
1.367 ms73.11 Mitem/s |
n=8(2)
| count | fastest | slowest | median | mean |
| 10,000 |
220.8 µs45.28 Mitem/s |
599.8 µs16.67 Mitem/s |
273.8 µs36.51 Mitem/s |
280.8 µs35.6 Mitem/s |
| 100,000 |
957.7 µs104.4 Mitem/s |
7.239 ms13.81 Mitem/s |
1.225 ms81.59 Mitem/s |
1.501 ms66.61 Mitem/s |
n=16(2)
| count | fastest | slowest | median | mean |
| 10,000 |
337.5 µs29.62 Mitem/s |
469.4 µs21.29 Mitem/s |
357.1 µs28 Mitem/s |
361.7 µs27.64 Mitem/s |
| 100,000 |
887.9 µs112.6 Mitem/s |
1.111 ms89.95 Mitem/s |
989.7 µs101 Mitem/s |
992.5 µs100.7 Mitem/s |
tree_bench_storage (WAL + checkpoint)(104)
insert (single)(12)
n=2(3)
| count | fastest | slowest | median | mean |
| 1,000 |
9.801 ms102 Kitem/s |
15.35 ms65.13 Kitem/s |
10.19 ms98.08 Kitem/s |
10.61 ms94.22 Kitem/s |
| 10,000 |
107.3 ms93.13 Kitem/s |
116.2 ms86.05 Kitem/s |
108.8 ms91.85 Kitem/s |
109.4 ms91.33 Kitem/s |
| 100,000 |
1.266 s78.97 Kitem/s |
1.317 s75.9 Kitem/s |
1.285 s77.81 Kitem/s |
1.284 s77.87 Kitem/s |
n=4(3)
| count | fastest | slowest | median | mean |
| 1,000 |
9.469 ms105.6 Kitem/s |
13.75 ms72.71 Kitem/s |
9.821 ms101.8 Kitem/s |
10.23 ms97.68 Kitem/s |
| 10,000 |
101.5 ms98.43 Kitem/s |
107.5 ms92.96 Kitem/s |
102.5 ms97.54 Kitem/s |
102.7 ms97.29 Kitem/s |
| 100,000 |
1.122 s89.1 Kitem/s |
1.171 s85.38 Kitem/s |
1.138 s87.86 Kitem/s |
1.139 s87.73 Kitem/s |
n=8(3)
| count | fastest | slowest | median | mean |
| 1,000 |
9.223 ms108.4 Kitem/s |
11.57 ms86.36 Kitem/s |
9.349 ms106.9 Kitem/s |
9.407 ms106.2 Kitem/s |
| 10,000 |
98.1 ms101.9 Kitem/s |
107.6 ms92.9 Kitem/s |
100.1 ms99.83 Kitem/s |
100.7 ms99.25 Kitem/s |
| 100,000 |
1.074 s93.08 Kitem/s |
1.616 s61.86 Kitem/s |
1.094 s91.38 Kitem/s |
1.116 s89.57 Kitem/s |
n=16(3)
| count | fastest | slowest | median | mean |
| 1,000 |
9.351 ms106.9 Kitem/s |
10.51 ms95.08 Kitem/s |
9.561 ms104.5 Kitem/s |
9.6 ms104.1 Kitem/s |
| 10,000 |
98.04 ms101.9 Kitem/s |
103.4 ms96.64 Kitem/s |
99.42 ms100.5 Kitem/s |
99.65 ms100.3 Kitem/s |
| 100,000 |
1.058 s94.43 Kitem/s |
1.108 s90.19 Kitem/s |
1.076 s92.86 Kitem/s |
1.079 s92.63 Kitem/s |
insert_many (batch)(16)
n=2(4)
| count | fastest | slowest | median | mean |
| 1,000 |
193.1 µs5.176 Mitem/s |
654 µs1.528 Mitem/s |
456.1 µs2.192 Mitem/s |
396.4 µs2.522 Mitem/s |
| 10,000 |
1.044 ms9.57 Mitem/s |
3.112 ms3.212 Mitem/s |
2.251 ms4.44 Mitem/s |
2.063 ms4.846 Mitem/s |
| 100,000 |
4.532 ms22.06 Mitem/s |
16.68 ms5.994 Mitem/s |
9.029 ms11.07 Mitem/s |
9.146 ms10.93 Mitem/s |
| 1,000,000 |
17.66 ms56.59 Mitem/s |
35.25 ms28.36 Mitem/s |
18.46 ms54.14 Mitem/s |
18.91 ms52.87 Mitem/s |
n=4(4)
| count | fastest | slowest | median | mean |
| 1,000 |
53.29 µs18.76 Mitem/s |
401.7 µs2.489 Mitem/s |
291.1 µs3.434 Mitem/s |
252.7 µs3.956 Mitem/s |
| 10,000 |
554.7 µs18.02 Mitem/s |
1.993 ms5.015 Mitem/s |
1.418 ms7.051 Mitem/s |
1.378 ms7.251 Mitem/s |
| 100,000 |
1.278 ms78.22 Mitem/s |
10.32 ms9.681 Mitem/s |
3.138 ms31.85 Mitem/s |
4.06 ms24.62 Mitem/s |
| 1,000,000 |
10.45 ms95.68 Mitem/s |
28.54 ms35.02 Mitem/s |
11.98 ms83.44 Mitem/s |
12.94 ms77.27 Mitem/s |
n=8(4)
| count | fastest | slowest | median | mean |
| 1,000 |
82.87 µs12.06 Mitem/s |
333 µs3.002 Mitem/s |
143.4 µs6.969 Mitem/s |
170 µs5.88 Mitem/s |
| 10,000 |
365.8 µs27.33 Mitem/s |
1.869 ms5.349 Mitem/s |
848.7 µs11.78 Mitem/s |
829.9 µs12.04 Mitem/s |
| 100,000 |
3.515 ms28.44 Mitem/s |
8.099 ms12.34 Mitem/s |
6.386 ms15.65 Mitem/s |
6.298 ms15.87 Mitem/s |
| 1,000,000 |
7.655 ms130.6 Mitem/s |
24.9 ms40.14 Mitem/s |
9.28 ms107.7 Mitem/s |
9.676 ms103.3 Mitem/s |
n=16(4)
| count | fastest | slowest | median | mean |
| 1,000 |
44.37 µs22.53 Mitem/s |
280 µs3.57 Mitem/s |
152.9 µs6.536 Mitem/s |
164.8 µs6.064 Mitem/s |
| 10,000 |
785.6 µs12.72 Mitem/s |
4.596 ms2.175 Mitem/s |
1.454 ms6.875 Mitem/s |
1.483 ms6.741 Mitem/s |
| 100,000 |
1.128 ms88.61 Mitem/s |
9.301 ms10.75 Mitem/s |
3.445 ms29.01 Mitem/s |
3.291 ms30.38 Mitem/s |
| 1,000,000 |
7.232 ms138.2 Mitem/s |
18.04 ms55.4 Mitem/s |
8.834 ms113.1 Mitem/s |
9.158 ms109.1 Mitem/s |
flush (WAL fsync)(12)
n=2(3)
| count | fastest | slowest | median | mean |
| 1,000 |
3.893 ms256.8 Kitem/s |
7.055 ms141.7 Kitem/s |
5.188 ms192.7 Kitem/s |
5.12 ms195.2 Kitem/s |
| 10,000 |
4.582 ms2.181 Mitem/s |
10.23 ms977 Kitem/s |
5.443 ms1.837 Mitem/s |
5.578 ms1.792 Mitem/s |
| 100,000 |
4.851 ms20.61 Mitem/s |
10.33 ms9.68 Mitem/s |
6.208 ms16.1 Mitem/s |
6.26 ms15.97 Mitem/s |
n=4(3)
| count | fastest | slowest | median | mean |
| 1,000 |
3.948 ms253.2 Kitem/s |
6.763 ms147.8 Kitem/s |
5.512 ms181.3 Kitem/s |
5.466 ms182.9 Kitem/s |
| 10,000 |
4.507 ms2.218 Mitem/s |
6.735 ms1.484 Mitem/s |
5.55 ms1.801 Mitem/s |
5.532 ms1.807 Mitem/s |
| 100,000 |
4.568 ms21.88 Mitem/s |
8.769 ms11.4 Mitem/s |
6.826 ms14.64 Mitem/s |
6.706 ms14.91 Mitem/s |
n=8(3)
| count | fastest | slowest | median | mean |
| 1,000 |
4.213 ms237.3 Kitem/s |
6.273 ms159.4 Kitem/s |
5.473 ms182.7 Kitem/s |
5.353 ms186.7 Kitem/s |
| 10,000 |
4.261 ms2.346 Mitem/s |
6.598 ms1.515 Mitem/s |
5.584 ms1.79 Mitem/s |
5.579 ms1.792 Mitem/s |
| 100,000 |
6.075 ms16.46 Mitem/s |
9.4 ms10.63 Mitem/s |
7.594 ms13.16 Mitem/s |
7.613 ms13.13 Mitem/s |
n=16(3)
| count | fastest | slowest | median | mean |
| 1,000 |
4.127 ms242.2 Kitem/s |
6.285 ms159 Kitem/s |
5.534 ms180.6 Kitem/s |
5.508 ms181.5 Kitem/s |
| 10,000 |
5.315 ms1.881 Mitem/s |
6.516 ms1.534 Mitem/s |
5.993 ms1.668 Mitem/s |
5.966 ms1.676 Mitem/s |
| 100,000 |
5.687 ms17.58 Mitem/s |
23.19 ms4.311 Mitem/s |
8.065 ms12.39 Mitem/s |
8.958 ms11.16 Mitem/s |
open + recover (WAL replay)(12)
n=2(3)
| count | fastest | slowest | median | mean |
| 1,000 |
241.6 µs4.137 Mitem/s |
1 ms999.5 Kitem/s |
320.6 µs3.118 Mitem/s |
395.8 µs2.526 Mitem/s |
| 10,000 |
453.1 µs22.06 Mitem/s |
1.494 ms6.692 Mitem/s |
540 µs18.51 Mitem/s |
625.9 µs15.97 Mitem/s |
| 100,000 |
2.256 ms44.31 Mitem/s |
3.317 ms30.14 Mitem/s |
2.487 ms40.2 Mitem/s |
2.498 ms40.02 Mitem/s |
n=4(3)
| count | fastest | slowest | median | mean |
| 1,000 |
77.08 µs12.97 Mitem/s |
280.2 µs3.567 Mitem/s |
89.22 µs11.2 Mitem/s |
97.21 µs10.28 Mitem/s |
| 10,000 |
320.9 µs31.16 Mitem/s |
786.9 µs12.7 Mitem/s |
398.4 µs25.09 Mitem/s |
414.5 µs24.12 Mitem/s |
| 100,000 |
1.312 ms76.16 Mitem/s |
1.979 ms50.51 Mitem/s |
1.454 ms68.77 Mitem/s |
1.466 ms68.17 Mitem/s |
n=8(3)
| count | fastest | slowest | median | mean |
| 1,000 |
69.08 µs14.47 Mitem/s |
292 µs3.424 Mitem/s |
79.74 µs12.53 Mitem/s |
86.8 µs11.52 Mitem/s |
| 10,000 |
243.1 µs41.12 Mitem/s |
571.4 µs17.5 Mitem/s |
309.3 µs32.32 Mitem/s |
316 µs31.64 Mitem/s |
| 100,000 |
1.009 ms99.04 Mitem/s |
1.455 ms68.72 Mitem/s |
1.174 ms85.11 Mitem/s |
1.183 ms84.52 Mitem/s |
n=16(3)
| count | fastest | slowest | median | mean |
| 1,000 |
68.12 µs14.67 Mitem/s |
204.6 µs4.886 Mitem/s |
77.68 µs12.87 Mitem/s |
84.35 µs11.85 Mitem/s |
| 10,000 |
328.1 µs30.47 Mitem/s |
506.1 µs19.75 Mitem/s |
367.7 µs27.18 Mitem/s |
368.6 µs27.12 Mitem/s |
| 100,000 |
925.8 µs108 Mitem/s |
1.448 ms69.02 Mitem/s |
1.069 ms93.5 Mitem/s |
1.082 ms92.38 Mitem/s |
mixed workload (insert + proof + verify)(16)
n=2(4)
| count | fastest | slowest | median | mean |
| 100 |
4.222 ms23.68 Kitem/s |
11.81 ms8.467 Kitem/s |
5.379 ms18.58 Kitem/s |
5.413 ms18.47 Kitem/s |
| 1,000 |
4.866 ms205.4 Kitem/s |
7.778 ms128.5 Kitem/s |
6.001 ms166.6 Kitem/s |
6.147 ms162.6 Kitem/s |
| 10,000 |
5.856 ms1.707 Mitem/s |
9.604 ms1.041 Mitem/s |
7.975 ms1.253 Mitem/s |
7.945 ms1.258 Mitem/s |
| 100,000 |
13.81 ms7.238 Mitem/s |
78.78 ms1.269 Mitem/s |
16.67 ms5.996 Mitem/s |
17.48 ms5.718 Mitem/s |
n=4(4)
| count | fastest | slowest | median | mean |
| 100 |
4.353 ms22.97 Kitem/s |
6.734 ms14.84 Kitem/s |
5.137 ms19.46 Kitem/s |
5.265 ms18.99 Kitem/s |
| 1,000 |
4.588 ms217.9 Kitem/s |
12.04 ms83.04 Kitem/s |
5.925 ms168.7 Kitem/s |
6.063 ms164.9 Kitem/s |
| 10,000 |
5.41 ms1.848 Mitem/s |
9.747 ms1.025 Mitem/s |
7.2 ms1.388 Mitem/s |
7.336 ms1.362 Mitem/s |
| 100,000 |
13.73 ms7.279 Mitem/s |
19.44 ms5.142 Mitem/s |
16.98 ms5.887 Mitem/s |
17.05 ms5.862 Mitem/s |
n=8(4)
| count | fastest | slowest | median | mean |
| 100 |
4.372 ms22.87 Kitem/s |
6.659 ms15.01 Kitem/s |
5.386 ms18.56 Kitem/s |
5.34 ms18.72 Kitem/s |
| 1,000 |
4.492 ms222.5 Kitem/s |
7.653 ms130.6 Kitem/s |
5.968 ms167.5 Kitem/s |
5.934 ms168.5 Kitem/s |
| 10,000 |
5.8 ms1.724 Mitem/s |
9.951 ms1.004 Mitem/s |
7.017 ms1.424 Mitem/s |
7.012 ms1.425 Mitem/s |
| 100,000 |
12.7 ms7.873 Mitem/s |
17.84 ms5.603 Mitem/s |
15.17 ms6.588 Mitem/s |
15.06 ms6.635 Mitem/s |
n=16(4)
| count | fastest | slowest | median | mean |
| 100 |
4.668 ms21.42 Kitem/s |
7.231 ms13.82 Kitem/s |
5.445 ms18.36 Kitem/s |
5.618 ms17.79 Kitem/s |
| 1,000 |
4.905 ms203.8 Kitem/s |
15.96 ms62.61 Kitem/s |
6.207 ms161.1 Kitem/s |
6.608 ms151.3 Kitem/s |
| 10,000 |
5.689 ms1.757 Mitem/s |
9.3 ms1.075 Mitem/s |
7.744 ms1.291 Mitem/s |
7.732 ms1.293 Mitem/s |
| 100,000 |
11.87 ms8.418 Mitem/s |
18.66 ms5.357 Mitem/s |
15.24 ms6.559 Mitem/s |
15.19 ms6.58 Mitem/s |
sustained checkpoint(32)
n=2(8)
| count | fastest | slowest | median | mean |
| 100,000 (every 5) |
12.21 ms8.188 Mitem/s |
44.64 ms2.239 Mitem/s |
26.83 ms3.726 Mitem/s |
27.91 ms3.582 Mitem/s |
| 100,000 (every 25) |
5.405 ms18.5 Mitem/s |
17.89 ms5.589 Mitem/s |
7.677 ms13.02 Mitem/s |
7.957 ms12.56 Mitem/s |
| 100,000 (every 100) |
5.321 ms18.79 Mitem/s |
9.971 ms10.02 Mitem/s |
7.919 ms12.62 Mitem/s |
7.847 ms12.74 Mitem/s |
| 100,000 (every 500) |
5.388 ms18.55 Mitem/s |
10.29 ms9.716 Mitem/s |
8.188 ms12.21 Mitem/s |
8.06 ms12.4 Mitem/s |
| 1,000,000 (every 5) |
54.77 ms18.25 Mitem/s |
67.84 ms14.73 Mitem/s |
59.06 ms16.93 Mitem/s |
59.07 ms16.92 Mitem/s |
| 1,000,000 (every 25) |
58.23 ms17.17 Mitem/s |
69.9 ms14.3 Mitem/s |
61.14 ms16.35 Mitem/s |
61.17 ms16.34 Mitem/s |
| 1,000,000 (every 100) |
51.18 ms19.53 Mitem/s |
58.37 ms17.12 Mitem/s |
52.89 ms18.9 Mitem/s |
53.44 ms18.7 Mitem/s |
| 1,000,000 (every 500) |
49.98 ms20 Mitem/s |
60.18 ms16.61 Mitem/s |
52.15 ms19.17 Mitem/s |
52.32 ms19.11 Mitem/s |
n=4(8)
| count | fastest | slowest | median | mean |
| 100,000 (every 5) |
9.197 ms10.87 Mitem/s |
29.42 ms3.398 Mitem/s |
20.97 ms4.766 Mitem/s |
20.57 ms4.859 Mitem/s |
| 100,000 (every 25) |
4.624 ms21.62 Mitem/s |
12.5 ms7.997 Mitem/s |
7.939 ms12.59 Mitem/s |
7.949 ms12.57 Mitem/s |
| 100,000 (every 100) |
4.71 ms21.22 Mitem/s |
16.01 ms6.244 Mitem/s |
7.699 ms12.98 Mitem/s |
7.81 ms12.8 Mitem/s |
| 100,000 (every 500) |
5.794 ms17.25 Mitem/s |
11.77 ms8.493 Mitem/s |
8.365 ms11.95 Mitem/s |
8.341 ms11.98 Mitem/s |
| 1,000,000 (every 5) |
38.65 ms25.87 Mitem/s |
61.6 ms16.23 Mitem/s |
40.69 ms24.57 Mitem/s |
41.08 ms24.34 Mitem/s |
| 1,000,000 (every 25) |
39.76 ms25.14 Mitem/s |
44.56 ms22.43 Mitem/s |
42.09 ms23.75 Mitem/s |
42.03 ms23.79 Mitem/s |
| 1,000,000 (every 100) |
32.93 ms30.36 Mitem/s |
40.08 ms24.94 Mitem/s |
34.74 ms28.78 Mitem/s |
34.85 ms28.68 Mitem/s |
| 1,000,000 (every 500) |
32.36 ms30.89 Mitem/s |
40.76 ms24.53 Mitem/s |
34.05 ms29.36 Mitem/s |
34.25 ms29.18 Mitem/s |
n=8(8)
| count | fastest | slowest | median | mean |
| 100,000 (every 5) |
7.797 ms12.82 Mitem/s |
21.81 ms4.584 Mitem/s |
18.37 ms5.441 Mitem/s |
18.15 ms5.506 Mitem/s |
| 100,000 (every 25) |
4.829 ms20.7 Mitem/s |
19.87 ms5.031 Mitem/s |
7.173 ms13.94 Mitem/s |
7.385 ms13.53 Mitem/s |
| 100,000 (every 100) |
4.616 ms21.66 Mitem/s |
11.36 ms8.801 Mitem/s |
7.157 ms13.97 Mitem/s |
7.118 ms14.04 Mitem/s |
| 100,000 (every 500) |
4.407 ms22.68 Mitem/s |
11.09 ms9.014 Mitem/s |
7.096 ms14.09 Mitem/s |
7.288 ms13.71 Mitem/s |
| 1,000,000 (every 5) |
32.16 ms31.08 Mitem/s |
80.46 ms12.42 Mitem/s |
33.38 ms29.95 Mitem/s |
33.96 ms29.43 Mitem/s |
| 1,000,000 (every 25) |
32.92 ms30.36 Mitem/s |
43.25 ms23.11 Mitem/s |
34.88 ms28.66 Mitem/s |
35.17 ms28.43 Mitem/s |
| 1,000,000 (every 100) |
26.2 ms38.16 Mitem/s |
29.05 ms34.41 Mitem/s |
27.68 ms36.11 Mitem/s |
27.66 ms36.14 Mitem/s |
| 1,000,000 (every 500) |
25.56 ms39.11 Mitem/s |
28.66 ms34.88 Mitem/s |
27.23 ms36.71 Mitem/s |
27.21 ms36.74 Mitem/s |
n=16(8)
| count | fastest | slowest | median | mean |
| 100,000 (every 5) |
9.13 ms10.95 Mitem/s |
24.88 ms4.018 Mitem/s |
21 ms4.761 Mitem/s |
20.72 ms4.825 Mitem/s |
| 100,000 (every 25) |
5.925 ms16.87 Mitem/s |
15.12 ms6.611 Mitem/s |
8.539 ms11.71 Mitem/s |
8.553 ms11.69 Mitem/s |
| 100,000 (every 100) |
6.388 ms15.65 Mitem/s |
9.894 ms10.1 Mitem/s |
8.34 ms11.98 Mitem/s |
8.31 ms12.03 Mitem/s |
| 100,000 (every 500) |
5.901 ms16.94 Mitem/s |
10.41 ms9.606 Mitem/s |
8.355 ms11.96 Mitem/s |
8.322 ms12.01 Mitem/s |
| 1,000,000 (every 5) |
38.76 ms25.79 Mitem/s |
90.45 ms11.05 Mitem/s |
40.76 ms24.53 Mitem/s |
41.41 ms24.14 Mitem/s |
| 1,000,000 (every 25) |
40.52 ms24.67 Mitem/s |
44.13 ms22.65 Mitem/s |
41.85 ms23.89 Mitem/s |
42.04 ms23.78 Mitem/s |
| 1,000,000 (every 100) |
34.59 ms28.9 Mitem/s |
38.89 ms25.71 Mitem/s |
35.49 ms28.17 Mitem/s |
35.61 ms28.07 Mitem/s |
| 1,000,000 (every 500) |
33.83 ms29.55 Mitem/s |
35.13 ms28.46 Mitem/s |
34.06 ms29.35 Mitem/s |
34.1 ms29.32 Mitem/s |