viirya opened a new pull request, #5887:
URL: https://github.com/apache/datafusion-comet/pull/5887
## Which issue does this PR close?
Closes #5886. Follow-up to #5822.
## Rationale for this change
A singleton map already has its only possible ordering, but normalization
still creates a key slice and invokes Arrow sorting for every row. Avoiding
that work speeds up matched singleton normalization by 19–22x in the full
measurement and 18.4x in an independent forward-order confirmation;
normalization plus hashing improves by 13.84x in the full forward singleton
case.
## What changes are included in this PR?
Skip per-row sort dispatch only for supported flat singleton key types. A
batch check chooses a const-specialized loop so wide maps retain a fallback
without the added per-row singleton branch. Keep nested and unsupported types
on Arrow's validation path, including singleton errors. Preserve global
permutation/take, rebased offsets, physical entries beneath null maps, schema
metadata, and existing early returns. Hashing implementation and nested-hashing
defaults are unchanged.
Extend the shared matched benchmark harness with null, sliced,
mixed-cardinality, long Unicode, empty, singleton, and unsupported-key cases.
Record the local performance audit.
## How are these changes tested?
The unchanged nine map-sort tests and three new tests pass (12 total),
covering manually expected permutations, exact values, schema metadata, null
buffers, nonzero offsets, nested keys, unsupported errors, NaN payloads, signed
zero, and binary keys. All 11 Murmur3 tests pass. Both benchmark smoke runs
pass (92 cases). Full `make` succeeds (native and JVM packaging; JVM tests
skipped by the build target). Workspace all-target Clippy passes with warnings
denied, and Rust formatting passes.
Benchmark environment: Apple M4 Max, macOS 26.6.2, Rust 1.97.1, thin LTO,
one codegen unit, DataFusion 55.0.0. Both sides use commit
3810936b40af3562003120742f7d258b234e4dc5 plus identical benchmark additions and
the same dependency lock (SHA-256
`02a7248aa329e1f98c7cce0ae921601ca66cefae66dd2c08631c98d3ae8337cb`); only the
optimized side includes the production change. These are microbenchmarks, not
end-to-end Spark query speedups.
Criterion: 8192 visible rows, seed 42, 100 samples, 3-second warmup,
5-second requested measurement, 95% confidence, sequential execution with no
concurrent builds. Input construction and checks and hash-buffer allocation are
untimed; seed reset, normalization allocation/drop, and combined struct
construction/drop are timed. No differences between stage or process timings
are presented as exact cost attribution. The unsupported-key benchmark fails at
the first row and is not batch throughput.
All 92 cases were measured. Fourteen initial regression flags were
independently remeasured. The three residual approximately 1.4% flags were
measured again with execution order reversed: hash-only directions reversed and
the combined case returned within the 1% noise threshold. No stable meaningful
regression was observed; confidence intervals within a process do not cover
machine drift. All initial flags remain visible below.
<details>
<summary>All 92 cases: timings and 95% confidence intervals</summary>
Timings use Criterion's slope estimate when available, otherwise its mean.
Speedup is the ratio of those point estimates. Regression confirmation
separately uses Criterion's relative mean change, so its percentages need not
equal the slope ratio.
| Case | Baseline µs (95% CI) | Optimized µs (95% CI) | Speedup |
|---|---:|---:|---:|
| matched_maps/hash_buffer_seed_reset | 0.263 [0.260, 0.267] | 0.269 [0.264,
0.273] | 0.98x |
| matched_maps/hash_only/map/0/forward | 4.358 [4.346, 4.372] | 4.373
[4.363, 4.384] | 1.00x |
| matched_maps/hash_only/map/0/reversed | 4.350 [4.335, 4.366] | 4.389
[4.376, 4.401] | 0.99x |
| matched_maps/hash_only/map/10/forward | 307.551 [306.709, 308.443] |
313.874 [312.767, 314.991] | 0.98x |
| matched_maps/hash_only/map/10/reversed | 308.392 [307.098, 309.777] |
313.881 [312.468, 315.257] | 0.98x |
| matched_maps/hash_only/map/1/forward | 28.939 [28.854, 29.035] | 28.866
[28.791, 28.964] | 1.00x |
| matched_maps/hash_only/map/1/reversed | 28.979 [28.941, 29.024] | 28.599
[28.577, 28.627] | 1.01x |
| matched_maps/hash_only/map/50/forward | 1982.022 [1978.217, 1985.983] |
2009.726 [2004.212, 2015.929] | 0.99x |
| matched_maps/hash_only/map/50/reversed | 1995.254 [1989.496, 2002.549] |
2009.241 [2004.659, 2014.103] | 0.99x |
| matched_maps/hash_only/struct_map_int/0/forward | 11.023 [10.966, 11.085]
| 10.919 [10.898, 10.942] | 1.01x |
| matched_maps/hash_only/struct_map_int/0/reversed | 10.914 [10.879, 10.952]
| 10.934 [10.916, 10.954] | 1.00x |
| matched_maps/hash_only/struct_map_int/10/forward | 314.182 [313.506,
314.853] | 320.542 [319.750, 321.316] | 0.98x |
| matched_maps/hash_only/struct_map_int/10/reversed | 314.365 [313.710,
315.004] | 320.435 [319.247, 321.802] | 0.98x |
| matched_maps/hash_only/struct_map_int/1/forward | 35.606 [35.519, 35.765]
| 35.491 [35.460, 35.520] | 1.00x |
| matched_maps/hash_only/struct_map_int/1/reversed | 35.606 [35.509, 35.725]
| 35.529 [35.466, 35.608] | 1.00x |
| matched_maps/hash_only/struct_map_int/50/forward | 2009.917 [2003.161,
2017.124] | 2038.874 [2030.470, 2047.787] | 0.99x |
| matched_maps/hash_only/struct_map_int/50/reversed | 2003.698 [1999.940,
2007.498] | 2013.819 [2009.619, 2017.996] | 0.99x |
| matched_maps/normalize_hash/map/0/forward | 13.266 [13.231, 13.303] |
11.371 [11.335, 11.406] | 1.17x |
| matched_maps/normalize_hash/map/0/reversed | 13.214 [13.194, 13.233] |
11.267 [11.247, 11.291] | 1.17x |
| matched_maps/normalize_hash/map/10/forward | 1996.807 [1987.359, 2008.286]
| 2031.503 [2026.964, 2036.142] | 0.98x |
| matched_maps/normalize_hash/map/10/reversed | 2340.178 [2336.594,
2343.801] | 2217.325 [2210.136, 2225.140] | 1.06x |
| matched_maps/normalize_hash/map/1/forward | 1062.828 [1060.699, 1065.016]
| 76.774 [76.197, 77.396] | 13.84x |
| matched_maps/normalize_hash/map/1/reversed | 1068.415 [1064.285, 1073.914]
| 76.439 [76.270, 76.614] | 13.98x |
| matched_maps/normalize_hash/map/50/forward | 5078.149 [5068.935, 5087.245]
| 5188.890 [5171.902, 5207.781] | 0.98x |
| matched_maps/normalize_hash/map/50/reversed | 5761.625 [5748.137,
5775.915] | 5628.312 [5618.579, 5638.041] | 1.02x |
| matched_maps/normalize_hash/struct_map_int/0/forward | 21.526 [21.298,
21.741] | 18.924 [18.892, 18.958] | 1.14x |
| matched_maps/normalize_hash/struct_map_int/0/reversed | 21.047 [20.927,
21.187] | 19.045 [18.988, 19.106] | 1.11x |
| matched_maps/normalize_hash/struct_map_int/10/forward | 1834.056
[1821.423, 1848.331] | 2072.182 [2066.520, 2078.047] | 0.89x |
| matched_maps/normalize_hash/struct_map_int/10/reversed | 2177.800
[2174.655, 2181.225] | 2233.399 [2225.831, 2242.952] | 0.98x |
| matched_maps/normalize_hash/struct_map_int/1/forward | 888.911 [887.435,
890.550] | 84.048 [83.901, 84.205] | 10.58x |
| matched_maps/normalize_hash/struct_map_int/1/reversed | 888.614 [887.431,
889.746] | 84.509 [84.085, 85.038] | 10.51x |
| matched_maps/normalize_hash/struct_map_int/50/forward | 4904.439
[4894.428, 4914.384] | 5189.399 [5179.957, 5198.630] | 0.95x |
| matched_maps/normalize_hash/struct_map_int/50/reversed | 5596.028
[5585.908, 5606.392] | 5650.289 [5638.447, 5662.645] | 0.99x |
| matched_maps/normalize_only/map/0/forward | 8.697 [8.682, 8.713] | 6.963
[6.936, 6.989] | 1.25x |
| matched_maps/normalize_only/map/0/reversed | 8.727 [8.677, 8.788] | 6.950
[6.921, 6.979] | 1.26x |
| matched_maps/normalize_only/map/10/forward | 1520.334 [1503.240, 1538.826]
| 1387.357 [1384.957, 1389.861] | 1.10x |
| matched_maps/normalize_only/map/10/reversed | 1786.607 [1783.197,
1790.003] | 1802.371 [1796.599, 1809.541] | 0.99x |
| matched_maps/normalize_only/map/1/forward | 1016.637 [1012.577, 1020.968]
| 45.606 [45.437, 45.781] | 22.29x |
| matched_maps/normalize_only/map/1/reversed | 881.932 [880.571, 883.312] |
45.788 [45.579, 45.997] | 19.26x |
| matched_maps/normalize_only/map/50/forward | 2917.830 [2910.339, 2925.296]
| 2786.641 [2780.691, 2793.075] | 1.05x |
| matched_maps/normalize_only/map/50/reversed | 3627.696 [3612.163,
3644.130] | 3494.888 [3490.076, 3499.865] | 1.04x |
| regression_maps/hash_only/map/mixed_dense_null | 530.397 [529.235,
531.609] | 535.249 [533.267, 537.235] | 0.99x |
| regression_maps/hash_only/map/mixed_long_unicode_dense_null | 33090.461
[33024.790, 33158.383] | 33449.208 [33375.787, 33527.887] | 0.99x |
| regression_maps/hash_only/map/mixed_no_null | 883.493 [881.264, 886.035] |
890.820 [888.152, 893.783] | 0.99x |
| regression_maps/hash_only/map/mixed_sparse_null | 898.180 [896.128,
900.272] | 908.005 [904.434, 912.382] | 0.99x |
| regression_maps/hash_only/map/singleton_dense_null | 11.593 [11.548,
11.651] | 11.970 [11.959, 11.982] | 0.97x |
| regression_maps/hash_only/map/singleton_long_unicode | 4819.593 [4808.020,
4831.923] | 4959.078 [4919.150, 5001.795] | 0.97x |
| regression_maps/hash_only/map/singleton_no_null | 31.615 [31.594, 31.637]
| 30.619 [30.584, 30.665] | 1.03x |
| regression_maps/hash_only/map/singleton_sparse_null | 39.444 [39.428,
39.461] | 39.415 [39.316, 39.545] | 1.00x |
| regression_maps/hash_only/struct_map_int/mixed_dense_null | 540.584
[539.145, 542.015] | 542.068 [540.433, 543.738] | 1.00x |
| regression_maps/hash_only/struct_map_int/mixed_long_unicode_dense_null |
33142.289 [33075.041, 33210.295] | 33442.414 [33367.520, 33518.977] | 0.99x |
| regression_maps/hash_only/struct_map_int/mixed_no_null | 895.356 [892.053,
898.849] | 896.652 [894.612, 899.170] | 1.00x |
| regression_maps/hash_only/struct_map_int/mixed_sparse_null | 904.901
[902.708, 907.069] | 912.547 [910.803, 914.183] | 0.99x |
| regression_maps/hash_only/struct_map_int/singleton_dense_null | 19.346
[19.325, 19.370] | 19.914 [19.858, 19.976] | 0.97x |
| regression_maps/hash_only/struct_map_int/singleton_long_unicode | 4870.237
[4856.345, 4884.560] | 4895.789 [4878.665, 4913.516] | 0.99x |
| regression_maps/hash_only/struct_map_int/singleton_no_null | 38.589
[38.441, 38.761] | 38.518 [38.480, 38.565] | 1.00x |
| regression_maps/hash_only/struct_map_int/singleton_sparse_null | 46.393
[46.370, 46.419] | 46.062 [45.977, 46.205] | 1.01x |
| regression_maps/normalize_hash/map/mixed_dense_null | 2143.014 [2140.629,
2145.506] | 1847.420 [1844.266, 1850.881] | 1.16x |
| regression_maps/normalize_hash/map/mixed_long_unicode_dense_null |
44150.836 [43946.110, 44387.846] | 43751.794 [43651.367, 43857.605] | 1.01x |
| regression_maps/normalize_hash/map/mixed_no_null | 2506.559 [2500.153,
2513.648] | 2196.272 [2190.218, 2202.485] | 1.14x |
| regression_maps/normalize_hash/map/mixed_sparse_null | 2814.428 [2810.473,
2818.450] | 2630.843 [2617.479, 2644.789] | 1.07x |
| regression_maps/normalize_hash/map/singleton_dense_null | 889.032
[887.028, 891.237] | 79.558 [79.458, 79.670] | 11.17x |
| regression_maps/normalize_hash/map/singleton_long_unicode | 6490.904
[6470.765, 6514.549] | 5309.598 [5290.480, 5330.968] | 1.22x |
| regression_maps/normalize_hash/map/singleton_no_null | 896.903 [895.415,
898.591] | 94.169 [93.963, 94.382] | 9.52x |
| regression_maps/normalize_hash/map/singleton_sparse_null | 945.445
[939.856, 952.355] | 130.696 [130.506, 130.913] | 7.23x |
| regression_maps/normalize_hash/struct_map_int/mixed_dense_null | 2156.043
[2151.440, 2161.354] | 1847.514 [1844.581, 1850.543] | 1.17x |
|
regression_maps/normalize_hash/struct_map_int/mixed_long_unicode_dense_null |
43885.701 [43779.178, 44000.591] | 43625.097 [43557.909, 43690.529] | 1.01x |
| regression_maps/normalize_hash/struct_map_int/mixed_no_null | 2502.840
[2498.547, 2507.360] | 2178.861 [2173.722, 2184.473] | 1.15x |
| regression_maps/normalize_hash/struct_map_int/mixed_sparse_null | 2818.518
[2813.588, 2823.423] | 2577.222 [2572.445, 2582.045] | 1.09x |
| regression_maps/normalize_hash/struct_map_int/singleton_dense_null |
887.476 [886.410, 888.552] | 88.842 [87.909, 89.915] | 9.99x |
| regression_maps/normalize_hash/struct_map_int/singleton_long_unicode |
6521.820 [6500.257, 6544.674] | 5299.202 [5287.395, 5310.817] | 1.23x |
| regression_maps/normalize_hash/struct_map_int/singleton_no_null | 910.014
[908.170, 911.990] | 103.197 [102.782, 103.656] | 8.82x |
| regression_maps/normalize_hash/struct_map_int/singleton_sparse_null |
943.194 [941.695, 944.842] | 138.875 [138.372, 139.494] | 6.79x |
| regression_maps/normalize_only/map/mixed_dense_null | 1560.851 [1556.181,
1566.411] | 1226.211 [1224.168, 1228.166] | 1.27x |
| regression_maps/normalize_only/map/mixed_long_unicode_dense_null |
9756.407 [9737.301, 9777.119] | 9595.223 [9552.448, 9642.472] | 1.02x |
| regression_maps/normalize_only/map/mixed_no_null | 1551.304 [1546.411,
1557.510] | 1213.289 [1208.616, 1218.532] | 1.28x |
| regression_maps/normalize_only/map/mixed_sparse_null | 1969.415 [1963.950,
1975.033] | 1521.928 [1517.531, 1527.180] | 1.29x |
| regression_maps/normalize_only/map/singleton_dense_null | 996.014
[993.343, 998.993] | 65.240 [65.004, 65.491] | 15.27x |
| regression_maps/normalize_only/map/singleton_long_unicode | 1494.588
[1491.623, 1497.603] | 371.395 [370.676, 372.253] | 4.02x |
| regression_maps/normalize_only/map/singleton_no_null | 988.289 [986.724,
989.873] | 61.800 [61.587, 62.065] | 15.99x |
| regression_maps/normalize_only/map/singleton_sparse_null | 945.525
[938.139, 952.676] | 91.335 [91.065, 91.609] | 10.35x |
| spark_map_sort/int_keys/0 | 8.783 [8.765, 8.801] | 6.842 [6.815, 6.870] |
1.28x |
| spark_map_sort/int_keys/1 | 1085.181 [1076.105, 1096.393] | 17.926
[17.800, 18.044] | 60.54x |
| spark_map_sort/int_keys/16 | 1526.663 [1523.958, 1529.606] | 1416.724
[1414.780, 1418.604] | 1.08x |
| spark_map_sort/int_keys/4 | 1086.943 [1081.799, 1092.166] | 912.810
[908.096, 917.935] | 1.19x |
| spark_map_sort/int_keys/64 | 2063.836 [2049.778, 2079.561] | 1780.854
[1776.659, 1785.195] | 1.16x |
| spark_map_sort/string_keys/0 | 8.812 [8.792, 8.831] | 6.943 [6.919, 6.966]
| 1.27x |
| spark_map_sort/string_keys/1 | 905.248 [902.262, 909.163] | 35.440
[35.327, 35.551] | 25.54x |
| spark_map_sort/string_keys/16 | 3990.175 [3984.497, 3996.183] | 3968.998
[3962.344, 3976.562] | 1.01x |
| spark_map_sort/string_keys/4 | 1110.114 [1107.135, 1113.329] | 1107.243
[1104.536, 1110.209] | 1.00x |
| spark_map_sort/string_keys/64 | 4228.212 [4222.093, 4234.320] | 4179.843
[4174.472, 4185.768] | 1.01x |
| spark_map_sort/unsupported_singleton_struct_key | 0.422 [0.421, 0.423] |
0.417 [0.416, 0.418] | 1.01x |
</details>
<details>
<summary>Independent and reversed-order confirmation</summary>
Positive means optimized is slower. Reverse-order estimates are reciprocally
converted to the same direction.
| Case | Full run change (95% CI) | Independent paired change |
Reversed-order change |
|---|---:|---:|---:|
| matched_maps/hash_only/map/0/reversed | +1.52% [+1.01, +2.03] | +0.31%
[+0.02, +0.59] | — |
| matched_maps/hash_only/map/1/forward | -0.60% [-1.01, -0.19] | -4.14%
[-4.27, -4.01] | -0.28% [-0.47, -0.11] |
| matched_maps/hash_only/map/10/forward | +1.92% [+1.49, +2.33] | +1.42%
[+1.06, +1.77] | -1.40% [-1.84, -0.98] |
| matched_maps/hash_only/map/50/forward | +1.40% [+1.07, +1.76] | +1.14%
[+0.81, +1.49] | — |
| matched_maps/hash_only/struct_map_int/10/forward | +2.07% [+1.70, +2.46] |
+1.37% [+1.05, +1.68] | -0.95% [-1.32, -0.61] |
| matched_maps/hash_only/struct_map_int/10/reversed | +1.73% [+1.35, +2.11]
| -0.56% [-1.40, +0.21] | — |
| matched_maps/normalize_hash/map/10/forward | +1.74% [+1.12, +2.28] |
-1.32% [-1.59, -1.04] | — |
| matched_maps/normalize_hash/map/50/forward | +2.18% [+1.79, +2.59] |
-10.15% [-10.56, -9.75] | — |
| matched_maps/normalize_hash/struct_map_int/10/forward | +13.03% [+12.36,
+13.68] | -2.76% [-3.27, -2.19] | — |
| matched_maps/normalize_hash/struct_map_int/10/reversed | +2.55% [+2.16,
+2.99] | +1.40% [+1.08, +1.80] | +0.34% [-0.17, +0.84] |
| matched_maps/normalize_hash/struct_map_int/50/forward | +5.81% [+5.53,
+6.09] | -9.62% [-10.11, -9.09] | — |
| matched_maps/normalize_only/map/0/forward | -19.94% [-20.29, -19.62] |
-21.05% [-21.28, -20.83] | — |
| matched_maps/normalize_only/map/1/forward | -95.50% [-95.53, -95.48] |
-94.56% [-94.57, -94.55] | — |
| regression_maps/hash_only/map/mixed_sparse_null | +1.62% [+1.18, +2.04] |
+0.11% [-0.27, +0.48] | — |
| regression_maps/hash_only/map/singleton_dense_null | +2.15% [+1.28, +2.95]
| -1.47% [-2.01, -0.95] | — |
| regression_maps/hash_only/map/singleton_long_unicode | +2.89% [+2.02,
+3.86] | +0.63% [+0.26, +1.04] | — |
| regression_maps/hash_only/struct_map_int/singleton_dense_null | +2.21%
[+1.87, +2.54] | -2.27% [-3.15, -1.38] | — |
</details>
<details>
<summary>Criterion timing and change output for all 92 cases</summary>
```text
spark_map_sort/int_keys/0
time: [6.8147 µs 6.8419 µs 6.8697 µs]
change: [−22.519% −22.206% −21.855%] (p = 0.00 <
0.05)
Performance has improved.
spark_map_sort/string_keys/0
time: [6.9187 µs 6.9425 µs 6.9657 µs]
change: [−21.642% −21.356% −21.065%] (p = 0.00 <
0.05)
Performance has improved.
spark_map_sort/int_keys/1
time: [17.800 µs 17.926 µs 18.044 µs]
change: [−98.363% −98.352% −98.339%] (p = 0.00 <
0.05)
Performance has improved.
spark_map_sort/string_keys/1
time: [35.327 µs 35.440 µs 35.551 µs]
change: [−96.136% −96.107% −96.083%] (p = 0.00 <
0.05)
Performance has improved.
spark_map_sort/int_keys/4
time: [908.10 µs 912.81 µs 917.94 µs]
change: [−16.427% −16.053% −15.641%] (p = 0.00 <
0.05)
Performance has improved.
spark_map_sort/string_keys/4
time: [1.1045 ms 1.1072 ms 1.1102 ms]
change: [−0.2600% +0.1169% +0.4541%] (p = 0.53 >
0.05)
No change in performance detected.
spark_map_sort/int_keys/16
time: [1.4148 ms 1.4167 ms 1.4186 ms]
change: [−7.3766% −7.1542% −6.9343%] (p = 0.00 <
0.05)
Performance has improved.
spark_map_sort/string_keys/16
time: [3.9623 ms 3.9690 ms 3.9766 ms]
change: [−0.7597% −0.5307% −0.2946%] (p = 0.00 <
0.05)
Change within noise threshold.
spark_map_sort/int_keys/64
time: [1.7767 ms 1.7809 ms 1.7852 ms]
change: [−14.630% −13.943% −13.324%] (p = 0.00 <
0.05)
Performance has improved.
spark_map_sort/string_keys/64
time: [4.1745 ms 4.1798 ms 4.1858 ms]
change: [−1.3342% −1.1439% −0.9527%] (p = 0.00 <
0.05)
Change within noise threshold.
matched_maps/normalize_only/map/0/forward
time: [6.9362 µs 6.9631 µs 6.9888 µs]
thrpt: [1.1722 Gelem/s 1.1765 Gelem/s 1.1811
Gelem/s]
change:
time: [−20.291% −19.945% −19.622%] (p = 0.00 <
0.05)
thrpt: [+24.412% +24.914% +25.457%]
Performance has improved.
matched_maps/normalize_only/map/0/reversed
time: [6.9208 µs 6.9498 µs 6.9792 µs]
thrpt: [1.1738 Gelem/s 1.1787 Gelem/s 1.1837
Gelem/s]
change:
time: [−24.630% −23.352% −22.138%] (p = 0.00 <
0.05)
thrpt: [+28.432% +30.466% +32.679%]
Performance has improved.
matched_maps/normalize_only/map/1/forward
time: [45.437 µs 45.606 µs 45.781 µs]
thrpt: [178.94 Melem/s 179.63 Melem/s 180.29
Melem/s]
change:
time: [−95.526% −95.504% −95.483%] (p = 0.00 <
0.05)
thrpt: [+2114.1% +2124.4% +2135.1%]
Performance has improved.
matched_maps/normalize_only/map/1/reversed
time: [45.579 µs 45.788 µs 45.997 µs]
thrpt: [178.10 Melem/s 178.91 Melem/s 179.73
Melem/s]
change:
time: [−94.840% −94.822% −94.804%] (p = 0.00 <
0.05)
thrpt: [+1824.7% +1831.4% +1837.8%]
Performance has improved.
matched_maps/normalize_only/map/10/forward
time: [1.3850 ms 1.3874 ms 1.3899 ms]
thrpt: [5.8941 Melem/s 5.9048 Melem/s 5.9150
Melem/s]
change:
time: [−7.6408% −6.9597% −6.2938%] (p = 0.00 <
0.05)
thrpt: [+6.7165% +7.4803% +8.2730%]
Performance has improved.
matched_maps/normalize_only/map/10/reversed
time: [1.7966 ms 1.8024 ms 1.8095 ms]
thrpt: [4.5271 Melem/s 4.5451 Melem/s 4.5597
Melem/s]
change:
time: [+0.4224% +0.8417% +1.2717%] (p = 0.00 <
0.05)
thrpt: [−1.2558% −0.8347% −0.4206%]
Change within noise threshold.
matched_maps/normalize_only/map/50/forward
time: [2.7807 ms 2.7866 ms 2.7931 ms]
thrpt: [2.9330 Melem/s 2.9397 Melem/s 2.9460
Melem/s]
change:
time: [−4.8238% −4.4961% −4.1897%] (p = 0.00 <
0.05)
thrpt: [+4.3729% +4.7078% +5.0683%]
Performance has improved.
matched_maps/normalize_only/map/50/reversed
time: [3.4901 ms 3.4949 ms 3.4999 ms]
thrpt: [2.3407 Melem/s 2.3440 Melem/s 2.3472
Melem/s]
change:
time: [−4.1187% −3.6609% −3.2247%] (p = 0.00 <
0.05)
thrpt: [+3.3322% +3.8001% +4.2957%]
Performance has improved.
regression_maps/normalize_only/map/singleton_no_null
time: [61.587 µs 61.800 µs 62.065 µs]
thrpt: [131.99 Melem/s 132.56 Melem/s 133.01
Melem/s]
change:
time: [−93.727% −93.694% −93.653%] (p = 0.00 <
0.05)
thrpt: [+1475.5% +1485.9% +1494.3%]
Performance has improved.
regression_maps/normalize_only/map/singleton_sparse_null
time: [91.065 µs 91.335 µs 91.609 µs]
thrpt: [89.424 Melem/s 89.692 Melem/s 89.958
Melem/s]
change:
time: [−90.225% −90.176% −90.127%] (p = 0.00 <
0.05)
thrpt: [+912.84% +917.95% +923.03%]
Performance has improved.
regression_maps/normalize_only/map/singleton_dense_null
time: [65.004 µs 65.240 µs 65.491 µs]
thrpt: [125.09 Melem/s 125.57 Melem/s 126.02
Melem/s]
change:
time: [−93.502% −93.478% −93.453%] (p = 0.00 <
0.05)
thrpt: [+1427.3% +1433.4% +1439.0%]
Performance has improved.
regression_maps/normalize_only/map/mixed_no_null
time: [1.2086 ms 1.2133 ms 1.2185 ms]
thrpt: [6.7228 Melem/s 6.7519 Melem/s 6.7780
Melem/s]
change:
time: [−22.378% −22.063% −21.720%] (p = 0.00 <
0.05)
thrpt: [+27.746% +28.309% +28.830%]
Performance has improved.
regression_maps/normalize_only/map/mixed_sparse_null
time: [1.5175 ms 1.5219 ms 1.5272 ms]
thrpt: [5.3641 Melem/s 5.3826 Melem/s 5.3982
Melem/s]
change:
time: [−23.079% −22.818% −22.577%] (p = 0.00 <
0.05)
thrpt: [+29.161% +29.564% +30.003%]
Performance has improved.
regression_maps/normalize_only/map/mixed_dense_null
time: [1.2242 ms 1.2262 ms 1.2282 ms]
thrpt: [6.6701 Melem/s 6.6807 Melem/s 6.6919
Melem/s]
change:
time: [−21.873% −21.625% −21.382%] (p = 0.00 <
0.05)
thrpt: [+27.197% +27.592% +27.997%]
Performance has improved.
regression_maps/normalize_only/map/singleton_long_unicode
time: [370.68 µs 371.39 µs 372.25 µs]
thrpt: [22.007 Melem/s 22.057 Melem/s 22.100
Melem/s]
change:
time: [−75.178% −75.120% −75.058%] (p = 0.00 <
0.05)
thrpt: [+300.93% +301.93% +302.87%]
Performance has improved.
regression_maps/normalize_only/map/mixed_long_unicode_dense_null
time: [9.5524 ms 9.5952 ms 9.6425 ms]
thrpt: [849.57 Kelem/s 853.76 Kelem/s 857.58
Kelem/s]
change:
time: [−2.1073% −1.6521% −1.1734%] (p = 0.00 <
0.05)
thrpt: [+1.1873% +1.6798% +2.1526%]
Performance has improved.
spark_map_sort/unsupported_singleton_struct_key
time: [415.54 ns 416.78 ns 418.19 ns]
change: [−1.8345% −1.4841% −1.1239%] (p = 0.00 <
0.05)
Performance has improved.
matched_maps/hash_only/map/0/forward
time: [4.3630 µs 4.3731 µs 4.3836 µs]
thrpt: [1.8688 Gelem/s 1.8732 Gelem/s 1.8776
Gelem/s]
change:
time: [−0.7510% −0.3378% +0.0642%] (p = 0.11 >
0.05)
thrpt: [−0.0641% +0.3390% +0.7567%]
No change in performance detected.
matched_maps/hash_only/struct_map_int/0/forward
time: [10.898 µs 10.919 µs 10.942 µs]
thrpt: [748.70 Melem/s 750.25 Melem/s 751.68
Melem/s]
change:
time: [−1.2630% −0.8139% −0.3972%] (p = 0.00 <
0.05)
thrpt: [+0.3988% +0.8206% +1.2792%]
Change within noise threshold.
matched_maps/hash_only/map/0/reversed
time: [4.3764 µs 4.3885 µs 4.4012 µs]
thrpt: [1.8613 Gelem/s 1.8667 Gelem/s 1.8718
Gelem/s]
change:
time: [+1.0082% +1.5165% +2.0324%] (p = 0.00 <
0.05)
thrpt: [−1.9920% −1.4938% −0.9981%]
Performance has regressed.
matched_maps/hash_only/struct_map_int/0/reversed
time: [10.916 µs 10.934 µs 10.954 µs]
thrpt: [747.87 Melem/s 749.22 Melem/s 750.47
Melem/s]
change:
time: [−0.5759% −0.2119% +0.1258%] (p = 0.24 >
0.05)
thrpt: [−0.1256% +0.2123% +0.5792%]
No change in performance detected.
matched_maps/hash_only/map/1/forward
time: [28.791 µs 28.866 µs 28.964 µs]
thrpt: [282.84 Melem/s 283.80 Melem/s 284.53
Melem/s]
change:
time: [−1.0099% −0.5986% −0.1905%] (p = 0.01 <
0.05)
thrpt: [+0.1909% +0.6022% +1.0203%]
Change within noise threshold.
matched_maps/hash_only/struct_map_int/1/forward
time: [35.460 µs 35.491 µs 35.520 µs]
thrpt: [230.63 Melem/s 230.82 Melem/s 231.02
Melem/s]
change:
time: [−0.6842% −0.4241% −0.2207%] (p = 0.00 <
0.05)
thrpt: [+0.2212% +0.4259% +0.6890%]
Change within noise threshold.
matched_maps/hash_only/map/1/reversed
time: [28.577 µs 28.599 µs 28.627 µs]
thrpt: [286.17 Melem/s 286.45 Melem/s 286.66
Melem/s]
change:
time: [−1.3355% −1.1778% −1.0188%] (p = 0.00 <
0.05)
thrpt: [+1.0293% +1.1918% +1.3536%]
Performance has improved.
matched_maps/hash_only/struct_map_int/1/reversed
time: [35.466 µs 35.529 µs 35.608 µs]
thrpt: [230.06 Melem/s 230.57 Melem/s 230.98
Melem/s]
change:
time: [−0.4238% −0.0169% +0.4030%] (p = 0.94 >
0.05)
thrpt: [−0.4014% +0.0169% +0.4256%]
No change in performance detected.
matched_maps/hash_only/map/10/forward
time: [312.77 µs 313.87 µs 314.99 µs]
thrpt: [26.007 Melem/s 26.100 Melem/s 26.192
Melem/s]
change:
time: [+1.4922% +1.9201% +2.3298%] (p = 0.00 <
0.05)
thrpt: [−2.2768% −1.8839% −1.4703%]
Performance has regressed.
matched_maps/hash_only/struct_map_int/10/forward
time: [319.75 µs 320.54 µs 321.32 µs]
thrpt: [25.495 Melem/s 25.557 Melem/s 25.620
Melem/s]
change:
time: [+1.7003% +2.0730% +2.4640%] (p = 0.00 <
0.05)
thrpt: [−2.4047% −2.0309% −1.6719%]
Performance has regressed.
matched_maps/hash_only/map/10/reversed
time: [312.47 µs 313.88 µs 315.26 µs]
thrpt: [25.985 Melem/s 26.099 Melem/s 26.217
Melem/s]
change:
time: [+0.9883% +1.4449% +1.9337%] (p = 0.00 <
0.05)
thrpt: [−1.8970% −1.4244% −0.9786%]
Change within noise threshold.
matched_maps/hash_only/struct_map_int/10/reversed
time: [319.25 µs 320.43 µs 321.80 µs]
thrpt: [25.457 Melem/s 25.565 Melem/s 25.660
Melem/s]
change:
time: [+1.3452% +1.7288% +2.1095%] (p = 0.00 <
0.05)
thrpt: [−2.0659% −1.6995% −1.3273%]
Performance has regressed.
matched_maps/hash_only/map/50/forward
time: [2.0042 ms 2.0097 ms 2.0159 ms]
thrpt: [4.0636 Melem/s 4.0762 Melem/s 4.0874
Melem/s]
change:
time: [+1.0656% +1.3978% +1.7631%] (p = 0.00 <
0.05)
thrpt: [−1.7326% −1.3785% −1.0544%]
Performance has regressed.
matched_maps/hash_only/struct_map_int/50/forward
time: [2.0305 ms 2.0389 ms 2.0478 ms]
thrpt: [4.0004 Melem/s 4.0179 Melem/s 4.0345
Melem/s]
change:
time: [+0.8882% +1.4407% +2.0127%] (p = 0.00 <
0.05)
thrpt: [−1.9730% −1.4202% −0.8804%]
Change within noise threshold.
matched_maps/hash_only/map/50/reversed
time: [2.0047 ms 2.0092 ms 2.0141 ms]
thrpt: [4.0673 Melem/s 4.0772 Melem/s 4.0865
Melem/s]
change:
time: [+0.2653% +0.7010% +1.0815%] (p = 0.00 <
0.05)
thrpt: [−1.0700% −0.6961% −0.2646%]
Change within noise threshold.
matched_maps/hash_only/struct_map_int/50/reversed
time: [2.0096 ms 2.0138 ms 2.0180 ms]
thrpt: [4.0595 Melem/s 4.0679 Melem/s 4.0764
Melem/s]
change:
time: [+0.2235% +0.5051% +0.7960%] (p = 0.00 <
0.05)
thrpt: [−0.7897% −0.5026% −0.2230%]
Change within noise threshold.
matched_maps/normalize_hash/map/0/forward
time: [11.335 µs 11.371 µs 11.406 µs]
thrpt: [718.23 Melem/s 720.45 Melem/s 722.73
Melem/s]
change:
time: [−14.722% −14.457% −14.184%] (p = 0.00 <
0.05)
thrpt: [+16.529% +16.900% +17.263%]
Performance has improved.
matched_maps/normalize_hash/struct_map_int/0/forward
time: [18.892 µs 18.924 µs 18.958 µs]
thrpt: [432.11 Melem/s 432.89 Melem/s 433.61
Melem/s]
change:
time: [−10.748% −10.174% −9.6335%] (p = 0.00 <
0.05)
thrpt: [+10.660% +11.327% +12.042%]
Performance has improved.
matched_maps/normalize_hash/map/0/reversed
time: [11.247 µs 11.267 µs 11.291 µs]
thrpt: [725.57 Melem/s 727.05 Melem/s 728.36
Melem/s]
change:
time: [−14.686% −14.385% −14.116%] (p = 0.00 <
0.05)
thrpt: [+16.436% +16.802% +17.214%]
Performance has improved.
matched_maps/normalize_hash/struct_map_int/0/reversed
time: [18.988 µs 19.045 µs 19.106 µs]
thrpt: [428.76 Melem/s 430.13 Melem/s 431.42
Melem/s]
change:
time: [−9.5492% −9.1675% −8.8014%] (p = 0.00 <
0.05)
thrpt: [+9.6508% +10.093% +10.557%]
Performance has improved.
matched_maps/normalize_hash/map/1/forward
time: [76.197 µs 76.774 µs 77.396 µs]
thrpt: [105.85 Melem/s 106.70 Melem/s 107.51
Melem/s]
change:
time: [−92.851% −92.810% −92.767%] (p = 0.00 <
0.05)
thrpt: [+1282.5% +1290.8% +1298.7%]
Performance has improved.
matched_maps/normalize_hash/struct_map_int/1/forward
time: [83.901 µs 84.048 µs 84.205 µs]
thrpt: [97.286 Melem/s 97.469 Melem/s 97.639
Melem/s]
change:
time: [−90.597% −90.574% −90.551%] (p = 0.00 <
0.05)
thrpt: [+958.27% +960.90% +963.50%]
Performance has improved.
matched_maps/normalize_hash/map/1/reversed
time: [76.270 µs 76.439 µs 76.614 µs]
thrpt: [106.93 Melem/s 107.17 Melem/s 107.41
Melem/s]
change:
time: [−92.851% −92.827% −92.805%] (p = 0.00 <
0.05)
thrpt: [+1289.9% +1294.1% +1298.8%]
Performance has improved.
matched_maps/normalize_hash/struct_map_int/1/reversed
time: [84.085 µs 84.509 µs 85.038 µs]
thrpt: [96.333 Melem/s 96.936 Melem/s 97.425
Melem/s]
change:
time: [−90.526% −90.499% −90.474%] (p = 0.00 <
0.05)
thrpt: [+949.79% +952.56% +955.49%]
Performance has improved.
matched_maps/normalize_hash/map/10/forward
time: [2.0270 ms 2.0315 ms 2.0361 ms]
thrpt: [4.0233 Melem/s 4.0325 Melem/s 4.0415
Melem/s]
change:
time: [+1.1185% +1.7376% +2.2765%] (p = 0.00 <
0.05)
thrpt: [−2.2259% −1.7079% −1.1061%]
Performance has regressed.
matched_maps/normalize_hash/struct_map_int/10/forward
time: [2.0665 ms 2.0722 ms 2.0780 ms]
thrpt: [3.9422 Melem/s 3.9533 Melem/s 3.9642
Melem/s]
change:
time: [+12.364% +13.033% +13.678%] (p = 0.00 <
0.05)
thrpt: [−12.032% −11.530% −11.004%]
Performance has regressed.
matched_maps/normalize_hash/map/10/reversed
time: [2.2101 ms 2.2173 ms 2.2251 ms]
thrpt: [3.6816 Melem/s 3.6945 Melem/s 3.7066
Melem/s]
change:
time: [−5.5889% −5.2497% −4.8778%] (p = 0.00 <
0.05)
thrpt: [+5.1279% +5.5406% +5.9198%]
Performance has improved.
matched_maps/normalize_hash/struct_map_int/10/reversed
time: [2.2258 ms 2.2334 ms 2.2430 ms]
thrpt: [3.6523 Melem/s 3.6680 Melem/s 3.6804
Melem/s]
change:
time: [+2.1565% +2.5530% +2.9927%] (p = 0.00 <
0.05)
thrpt: [−2.9057% −2.4895% −2.1110%]
Performance has regressed.
matched_maps/normalize_hash/map/50/forward
time: [5.1719 ms 5.1889 ms 5.2078 ms]
thrpt: [1.5730 Melem/s 1.5788 Melem/s 1.5839
Melem/s]
change:
time: [+1.7916% +2.1807% +2.5893%] (p = 0.00 <
0.05)
thrpt: [−2.5239% −2.1342% −1.7600%]
Performance has regressed.
matched_maps/normalize_hash/struct_map_int/50/forward
time: [5.1800 ms 5.1894 ms 5.1986 ms]
thrpt: [1.5758 Melem/s 1.5786 Melem/s 1.5815
Melem/s]
change:
time: [+5.5253% +5.8102% +6.0946%] (p = 0.00 <
0.05)
thrpt: [−5.7445% −5.4912% −5.2360%]
Performance has regressed.
matched_maps/normalize_hash/map/50/reversed
time: [5.6186 ms 5.6283 ms 5.6380 ms]
thrpt: [1.4530 Melem/s 1.4555 Melem/s 1.4580
Melem/s]
change:
time: [−2.6039% −2.3138% −2.0319%] (p = 0.00 <
0.05)
thrpt: [+2.0741% +2.3686% +2.6735%]
Performance has improved.
matched_maps/normalize_hash/struct_map_int/50/reversed
time: [5.6384 ms 5.6503 ms 5.6626 ms]
thrpt: [1.4467 Melem/s 1.4498 Melem/s 1.4529
Melem/s]
change:
time: [+0.6854% +0.9696% +1.2704%] (p = 0.00 <
0.05)
thrpt: [−1.2545% −0.9603% −0.6807%]
Change within noise threshold.
regression_maps/hash_only/map/singleton_no_null
time: [30.584 µs 30.619 µs 30.665 µs]
thrpt: [267.14 Melem/s 267.55 Melem/s 267.86
Melem/s]
change:
time: [−3.3627% −3.2429% −3.1270%] (p = 0.00 <
0.05)
thrpt: [+3.2279% +3.3516% +3.4797%]
Performance has improved.
regression_maps/hash_only/struct_map_int/singleton_no_null
time: [38.480 µs 38.518 µs 38.565 µs]
thrpt: [212.42 Melem/s 212.68 Melem/s 212.89
Melem/s]
change:
time: [−0.3419% +0.0195% +0.3418%] (p = 0.91 >
0.05)
thrpt: [−0.3407% −0.0195% +0.3430%]
No change in performance detected.
regression_maps/hash_only/map/singleton_sparse_null
time: [39.316 µs 39.415 µs 39.545 µs]
thrpt: [207.16 Melem/s 207.84 Melem/s 208.36
Melem/s]
change:
time: [−0.3449% −0.0583% +0.2812%] (p = 0.71 >
0.05)
thrpt: [−0.2804% +0.0583% +0.3460%]
No change in performance detected.
regression_maps/hash_only/struct_map_int/singleton_sparse_null
time: [45.977 µs 46.062 µs 46.205 µs]
thrpt: [177.30 Melem/s 177.85 Melem/s 178.18
Melem/s]
change:
time: [−0.9629% −0.7866% −0.5607%] (p = 0.00 <
0.05)
thrpt: [+0.5638% +0.7928% +0.9723%]
Change within noise threshold.
regression_maps/hash_only/map/singleton_dense_null
time: [11.959 µs 11.970 µs 11.982 µs]
thrpt: [683.68 Melem/s 684.39 Melem/s 685.00
Melem/s]
change:
time: [+1.2826% +2.1471% +2.9539%] (p = 0.00 <
0.05)
thrpt: [−2.8691% −2.1019% −1.2664%]
Performance has regressed.
regression_maps/hash_only/struct_map_int/singleton_dense_null
time: [19.858 µs 19.914 µs 19.976 µs]
thrpt: [410.09 Melem/s 411.36 Melem/s 412.53
Melem/s]
change:
time: [+1.8669% +2.2146% +2.5411%] (p = 0.00 <
0.05)
thrpt: [−2.4781% −2.1666% −1.8327%]
Performance has regressed.
regression_maps/hash_only/map/mixed_no_null
time: [888.15 µs 890.82 µs 893.78 µs]
thrpt: [9.1655 Melem/s 9.1960 Melem/s 9.2236
Melem/s]
change:
time: [+0.0827% +0.4649% +0.8444%] (p = 0.02 <
0.05)
thrpt: [−0.8374% −0.4628% −0.0827%]
Change within noise threshold.
regression_maps/hash_only/struct_map_int/mixed_no_null
time: [894.61 µs 896.65 µs 899.17 µs]
thrpt: [9.1106 Melem/s 9.1362 Melem/s 9.1570
Melem/s]
change:
time: [−0.4492% −0.0878% +0.2901%] (p = 0.64 >
0.05)
thrpt: [−0.2892% +0.0878% +0.4512%]
No change in performance detected.
regression_maps/hash_only/map/mixed_sparse_null
time: [904.43 µs 908.01 µs 912.38 µs]
thrpt: [8.9787 Melem/s 9.0220 Melem/s 9.0576
Melem/s]
change:
time: [+1.1839% +1.6174% +2.0427%] (p = 0.00 <
0.05)
thrpt: [−2.0018% −1.5917% −1.1701%]
Performance has regressed.
regression_maps/hash_only/struct_map_int/mixed_sparse_null
time: [910.80 µs 912.55 µs 914.18 µs]
thrpt: [8.9610 Melem/s 8.9771 Melem/s 8.9943
Melem/s]
change:
time: [+0.4299% +0.7725% +1.1411%] (p = 0.00 <
0.05)
thrpt: [−1.1283% −0.7666% −0.4280%]
Change within noise threshold.
regression_maps/hash_only/map/mixed_dense_null
time: [533.27 µs 535.25 µs 537.24 µs]
thrpt: [15.248 Melem/s 15.305 Melem/s 15.362
Melem/s]
change:
time: [−0.2383% +0.1954% +0.6000%] (p = 0.38 >
0.05)
thrpt: [−0.5964% −0.1950% +0.2389%]
No change in performance detected.
regression_maps/hash_only/struct_map_int/mixed_dense_null
time: [540.43 µs 542.07 µs 543.74 µs]
thrpt: [15.066 Melem/s 15.112 Melem/s 15.158
Melem/s]
change:
time: [−0.3272% +0.0628% +0.4694%] (p = 0.76 >
0.05)
thrpt: [−0.4673% −0.0627% +0.3283%]
No change in performance detected.
regression_maps/hash_only/map/singleton_long_unicode
time: [4.9191 ms 4.9591 ms 5.0018 ms]
thrpt: [1.6378 Melem/s 1.6519 Melem/s 1.6653
Melem/s]
change:
time: [+2.0150% +2.8941% +3.8575%] (p = 0.00 <
0.05)
thrpt: [−3.7142% −2.8127% −1.9752%]
Performance has regressed.
regression_maps/hash_only/struct_map_int/singleton_long_unicode
time: [4.8787 ms 4.8958 ms 4.9135 ms]
thrpt: [1.6672 Melem/s 1.6733 Melem/s 1.6791
Melem/s]
change:
time: [+0.0654% +0.5247% +0.9977%] (p = 0.03 <
0.05)
thrpt: [−0.9878% −0.5219% −0.0654%]
Change within noise threshold.
regression_maps/hash_only/map/mixed_long_unicode_dense_null
time: [33.376 ms 33.449 ms 33.528 ms]
thrpt: [244.33 Kelem/s 244.91 Kelem/s 245.45
Kelem/s]
change:
time: [+0.7843% +1.0841% +1.3842%] (p = 0.00 <
0.05)
thrpt: [−1.3653% −1.0725% −0.7782%]
Change within noise threshold.
regression_maps/hash_only/struct_map_int/mixed_long_unicode_dense_null
time: [33.368 ms 33.442 ms 33.519 ms]
thrpt: [244.40 Kelem/s 244.96 Kelem/s 245.51
Kelem/s]
change:
time: [+0.5862% +0.9056% +1.2081%] (p = 0.00 <
0.05)
thrpt: [−1.1937% −0.8974% −0.5828%]
Change within noise threshold.
regression_maps/normalize_hash/map/singleton_no_null
time: [93.963 µs 94.169 µs 94.382 µs]
thrpt: [86.796 Melem/s 86.992 Melem/s 87.183
Melem/s]
change:
time: [−89.551% −89.513% −89.475%] (p = 0.00 <
0.05)
thrpt: [+850.13% +853.52% +857.02%]
Performance has improved.
regression_maps/normalize_hash/struct_map_int/singleton_no_null
time: [102.78 µs 103.20 µs 103.66 µs]
thrpt: [79.030 Melem/s 79.382 Melem/s 79.703
Melem/s]
change:
time: [−88.660% −88.608% −88.555%] (p = 0.00 <
0.05)
thrpt: [+773.71% +777.81% +781.81%]
Performance has improved.
regression_maps/normalize_hash/map/singleton_sparse_null
time: [130.51 µs 130.70 µs 130.91 µs]
thrpt: [62.576 Melem/s 62.680 Melem/s 62.771
Melem/s]
change:
time: [−86.158% −86.087% −86.020%] (p = 0.00 <
0.05)
thrpt: [+615.32% +618.74% +622.41%]
Performance has improved.
regression_maps/normalize_hash/struct_map_int/singleton_sparse_null
time: [138.37 µs 138.88 µs 139.49 µs]
thrpt: [58.727 Melem/s 58.988 Melem/s 59.203
Melem/s]
change:
time: [−85.360% −85.323% −85.279%] (p = 0.00 <
0.05)
thrpt: [+579.32% +581.33% +583.08%]
Performance has improved.
regression_maps/normalize_hash/map/singleton_dense_null
time: [79.458 µs 79.558 µs 79.670 µs]
thrpt: [102.82 Melem/s 102.97 Melem/s 103.10
Melem/s]
change:
time: [−91.091% −91.060% −91.033%] (p = 0.00 <
0.05)
thrpt: [+1015.3% +1018.6% +1022.4%]
Performance has improved.
regression_maps/normalize_hash/struct_map_int/singleton_dense_null
time: [87.909 µs 88.842 µs 89.915 µs]
thrpt: [91.108 Melem/s 92.209 Melem/s 93.188
Melem/s]
change:
time: [−90.147% −90.086% −90.024%] (p = 0.00 <
0.05)
thrpt: [+902.37% +908.71% +914.91%]
Performance has improved.
regression_maps/normalize_hash/map/mixed_no_null
time: [2.1902 ms 2.1963 ms 2.2025 ms]
thrpt: [3.7194 Melem/s 3.7300 Melem/s 3.7403
Melem/s]
change:
time: [−12.728% −12.379% −12.061%] (p = 0.00 <
0.05)
thrpt: [+13.715% +14.128% +14.585%]
Performance has improved.
regression_maps/normalize_hash/struct_map_int/mixed_no_null
time: [2.1737 ms 2.1789 ms 2.1845 ms]
thrpt: [3.7501 Melem/s 3.7598 Melem/s 3.7687
Melem/s]
change:
time: [−13.197% −12.944% −12.687%] (p = 0.00 <
0.05)
thrpt: [+14.531% +14.869% +15.203%]
Performance has improved.
regression_maps/normalize_hash/map/mixed_sparse_null
time: [2.6175 ms 2.6308 ms 2.6448 ms]
thrpt: [3.0974 Melem/s 3.1138 Melem/s 3.1297
Melem/s]
change:
time: [−7.0262% −6.5230% −6.0364%] (p = 0.00 <
0.05)
thrpt: [+6.4242% +6.9782% +7.5572%]
Performance has improved.
regression_maps/normalize_hash/struct_map_int/mixed_sparse_null
time: [2.5724 ms 2.5772 ms 2.5820 ms]
thrpt: [3.1727 Melem/s 3.1786 Melem/s 3.1845
Melem/s]
change:
time: [−8.7803% −8.5611% −8.3228%] (p = 0.00 <
0.05)
thrpt: [+9.0784% +9.3626% +9.6255%]
Performance has improved.
regression_maps/normalize_hash/map/mixed_dense_null
time: [1.8443 ms 1.8474 ms 1.8509 ms]
thrpt: [4.4260 Melem/s 4.4343 Melem/s 4.4419
Melem/s]
change:
time: [−13.577% −13.319% −13.059%] (p = 0.00 <
0.05)
thrpt: [+15.021% +15.365% +15.709%]
Performance has improved.
regression_maps/normalize_hash/struct_map_int/mixed_dense_null
time: [1.8446 ms 1.8475 ms 1.8505 ms]
thrpt: [4.4268 Melem/s 4.4341 Melem/s 4.4411
Melem/s]
change:
time: [−14.546% −14.256% −14.006%] (p = 0.00 <
0.05)
thrpt: [+16.287% +16.626% +17.022%]
Performance has improved.
regression_maps/normalize_hash/map/singleton_long_unicode
time: [5.2905 ms 5.3096 ms 5.3310 ms]
thrpt: [1.5367 Melem/s 1.5429 Melem/s 1.5484
Melem/s]
change:
time: [−18.613% −18.199% −17.770%] (p = 0.00 <
0.05)
thrpt: [+21.611% +22.248% +22.870%]
Performance has improved.
regression_maps/normalize_hash/struct_map_int/singleton_long_unicode
time: [5.2874 ms 5.2992 ms 5.3108 ms]
thrpt: [1.5425 Melem/s 1.5459 Melem/s 1.5493
Melem/s]
change:
time: [−19.078% −18.747% −18.422%] (p = 0.00 <
0.05)
thrpt: [+22.581% +23.072% +23.576%]
Performance has improved.
regression_maps/normalize_hash/map/mixed_long_unicode_dense_null
time: [43.651 ms 43.752 ms 43.858 ms]
thrpt: [186.79 Kelem/s 187.24 Kelem/s 187.67
Kelem/s]
change:
time: [−1.4765% −0.9038% −0.3947%] (p = 0.00 <
0.05)
thrpt: [+0.3962% +0.9121% +1.4986%]
Change within noise threshold.
regression_maps/normalize_hash/struct_map_int/mixed_long_unicode_dense_null
time: [43.558 ms 43.625 ms 43.691 ms]
thrpt: [187.50 Kelem/s 187.78 Kelem/s 188.07
Kelem/s]
change:
time: [−0.8927% −0.5938% −0.3053%] (p = 0.00 <
0.05)
thrpt: [+0.3062% +0.5974% +0.9007%]
Change within noise threshold.
matched_maps/hash_buffer_seed_reset
time: [264.42 ns 268.76 ns 273.31 ns]
change: [−2.3217% −0.2880% +1.6503%] (p = 0.78 >
0.05)
No change in performance detected.
```
</details>
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]