cyb70289 commented on pull request #9635:
URL: https://github.com/apache/arrow/pull/9635#issuecomment-796479794
Benchmark other kernels using SetBitRunsReaderVoid.
- Small improvement for few null cases
- Small drop for many null cases
```
------------------------------------------------------------------------------------------------------------
[115/1133]
Non-regressions: (132)
------------------------------------------------------------------------------------------------------------
benchmark baseline
contender change % counters
QuantileKernelDecilesWide<Int32Type>/1048576/10 168.162 MiB/sec
193.394 MiB/sec 15.005 {}
QuantileKernelDecilesWide<Int32Type>/1048576/100 176.470 MiB/sec
202.064 MiB/sec 14.503 {}
QuantileKernelMedianWide<Int32Type>/1048576/0 474.469 MiB/sec
543.099 MiB/sec 14.465 {}
QuantileKernelMedianWide<Int32Type>/1048576/100 467.170 MiB/sec
534.691 MiB/sec 14.453 {}
QuantileKernelDecilesWide<Int32Type>/1048576/10000 179.297 MiB/sec
204.094 MiB/sec 13.830 {}
QuantileKernelMedianWide<Int32Type>/1048576/10000 568.970 MiB/sec
647.575 MiB/sec 13.815 {}
QuantileKernelDecilesWide<Int32Type>/1048576/0 169.013 MiB/sec
192.111 MiB/sec 13.666 {}
QuantileKernelMedianWide<DoubleType>/1048576/10000 812.060 MiB/sec
900.162 MiB/sec 10.849 {}
QuantileKernelMedianWide<DoubleType>/1048576/0 747.422 MiB/sec
821.903 MiB/sec 9.965 {}
QuantileKernelMedianWide<DoubleType>/1048576/100 745.644 MiB/sec
816.051 MiB/sec 9.442 {}
QuantileKernelMedianWide<DoubleType>/1048576/10 1015.524 MiB/sec
1.081 GiB/sec 9.036 {}
QuantileKernelDecilesWide<DoubleType>/1048576/10000 336.427 MiB/sec
366.779 MiB/sec 9.022 {}
QuantileKernelMedianWide<Int32Type>/1048576/10 341.773 MiB/sec
372.520 MiB/sec 8.996 {}
QuantileKernelDecilesWide<DoubleType>/1048576/100 308.750 MiB/sec
336.192 MiB/sec 8.888 {}
QuantileKernelDecilesWide<Int32Type>/1048576/2 226.391 MiB/sec
246.482 MiB/sec 8.874 {}
QuantileKernelDecilesWide<DoubleType>/1048576/0 315.931 MiB/sec
343.535 MiB/sec 8.737 {}
QuantileKernelDecilesWide<DoubleType>/1048576/10 360.592 MiB/sec
391.157 MiB/sec 8.477 {}
QuantileKernelCentilesWide<Int32Type>/1048576/100 69.243 MiB/sec
74.679 MiB/sec 7.850 {}
QuantileKernelCentilesWide<Int32Type>/1048576/10000 67.820 MiB/sec
73.128 MiB/sec 7.827 {}
QuantileKernelCentilesWide<Int32Type>/1048576/0 67.183 MiB/sec
72.220 MiB/sec 7.497 {}
QuantileKernelCentilesWide<Int32Type>/1048576/10 71.236 MiB/sec
76.457 MiB/sec 7.330 {}
QuantileKernelDecilesWide<DoubleType>/1048576/2 519.994 MiB/sec
556.103 MiB/sec 6.944 {}
VarianceKernelInt32/1048576/2 1.224 GiB/sec
1.305 GiB/sec 6.586 {}
QuantileKernelMedianWide<DoubleType>/1048576/2 1.046 GiB/sec
1.107 GiB/sec 5.874 {}
QuantileKernelCentilesWide<DoubleType>/1048576/0 123.657 MiB/sec
130.858 MiB/sec 5.823 {}
QuantileKernelCentilesWide<Int32Type>/1048576/2 111.520 MiB/sec
117.969 MiB/sec 5.783 {}
QuantileKernelCentilesWide<DoubleType>/1048576/10000 129.610 MiB/sec
136.823 MiB/sec 5.565 {}
QuantileKernelCentilesWide<DoubleType>/1048576/100 126.207 MiB/sec
132.933 MiB/sec 5.330 {}
QuantileKernelCentilesWide<DoubleType>/1048576/10 136.726 MiB/sec
143.882 MiB/sec 5.234 {}
QuantileKernelCentilesWide<DoubleType>/1048576/2 228.706 MiB/sec
239.838 MiB/sec 4.867 {}
VarianceKernelInt32/1048576/10 2.105 GiB/sec
2.200 GiB/sec 4.516 {}
TDigestKernelDoubleDeciles/1048576/2 267.900 MiB/sec
279.885 MiB/sec 4.473 {}
TDigestKernelDoubleMedian/1048576/2 268.032 MiB/sec
279.846 MiB/sec 4.407 {}
TDigestKernelDoubleCentiles/1048576/2 267.480 MiB/sec
279.183 MiB/sec 4.375 {}
ModeKernelInt64/1048576/2 1.112 GiB/sec
1.159 GiB/sec 4.259 {}
QuantileKernelMedianWide<Int64Type>/1048576/2 1.140 GiB/sec
1.187 GiB/sec 4.145 {}
QuantileKernelMedianWide<Int64Type>/1048576/10000 1.542 GiB/sec
1.603 GiB/sec 3.971 {}
TDigestKernelDoubleCentiles/1048576/10 163.491 MiB/sec
169.411 MiB/sec 3.621 {}
TDigestKernelDoubleDeciles/1048576/10 163.620 MiB/sec
169.498 MiB/sec 3.592 {}
TDigestKernelDoubleMedian/1048576/10 163.657 MiB/sec
169.531 MiB/sec 3.589 {}
TDigestKernelDoubleMedian/1048576/0 151.133 MiB/sec
156.251 MiB/sec 3.386 {}
TDigestKernelDoubleCentiles/1048576/0 150.929 MiB/sec
156.004 MiB/sec 3.363 {}
TDigestKernelDoubleDeciles/1048576/0 151.083 MiB/sec
156.154 MiB/sec 3.356 {}
QuantileKernelMedianWide<Int64Type>/1048576/0 1.356 GiB/sec
1.401 GiB/sec 3.269 {}
TDigestKernelDoubleCentiles/1048576/10000 150.654 MiB/sec
155.342 MiB/sec 3.112 {}
TDigestKernelDoubleDeciles/1048576/100 152.293 MiB/sec
156.884 MiB/sec 3.014 {}
TDigestKernelDoubleMedian/1048576/10000 150.804 MiB/sec
155.337 MiB/sec 3.006 {}
QuantileKernelMedianWide<Int64Type>/1048576/100 1.139 GiB/sec
1.174 GiB/sec 3.000 {}
TDigestKernelDoubleDeciles/1048576/10000 150.897 MiB/sec
155.403 MiB/sec 2.986 {}
TDigestKernelDoubleMedian/1048576/100 152.350 MiB/sec
156.831 MiB/sec 2.942 {}
TDigestKernelDoubleCentiles/1048576/100 152.199 MiB/sec
156.672 MiB/sec 2.939 {}
ModeKernelBoolean/1048576/0 22.299 GiB/sec
22.937 GiB/sec 2.862 {}
[60/1133]
QuantileKernelMedianWide<Int32Type>/1048576/2 404.646 MiB/sec
414.969 MiB/sec 2.551 {}
ModeKernelInt64/1048576/10 1.484 GiB/sec
1.520 GiB/sec 2.415 {}
VarianceKernelInt32/1048576/100 5.337 GiB/sec
5.438 GiB/sec 1.898 {}
ModeKernelInt32/1048576/10 826.494 MiB/sec
841.916 MiB/sec 1.866 {}
QuantileKernelMedianNarrow<Int64Type>/1048576/10000 2.557 GiB/sec
2.604 GiB/sec 1.860 {}
VarianceKernelFloat/1048576/10 591.418 MiB/sec
600.338 MiB/sec 1.508 {}
QuantileKernelMedianNarrow<Int64Type>/1048576/0 2.602 GiB/sec
2.636 GiB/sec 1.282 {}
VarianceKernelFloat/1048576/100 1.768 GiB/sec
1.788 GiB/sec 1.115 {}
ModeKernelInt64/1048576/100 2.518 GiB/sec
2.544 GiB/sec 1.032 {}
ModeKernelInt64/1048576/10000 2.866 GiB/sec
2.896 GiB/sec 1.029 {}
VarianceKernelDouble/1048576/1 1.114 TiB/sec
1.124 TiB/sec 0.898 {}
ModeKernelInt32/1048576/0 1.643 GiB/sec
1.655 GiB/sec 0.699 {}
VarianceKernelInt64/1048576/10000 7.058 GiB/sec
7.103 GiB/sec 0.636 {}
VarianceKernelInt64/1048576/0 7.320 GiB/sec
7.366 GiB/sec 0.626 {}
ModeKernelInt64/1048576/0 2.919 GiB/sec
2.936 GiB/sec 0.602 {}
VarianceKernelDouble/1048576/2 708.358 MiB/sec
711.956 MiB/sec 0.508 {}
ModeKernelInt32/1048576/100 1.395 GiB/sec
1.402 GiB/sec 0.493 {}
QuantileKernelMedianNarrow<Int64Type>/1048576/100 2.290 GiB/sec
2.301 GiB/sec 0.451 {}
VarianceKernelInt32/1048576/10000 7.390 GiB/sec
7.410 GiB/sec 0.267 {}
ModeKernelInt32/1048576/10000 1.623 GiB/sec
1.627 GiB/sec 0.243 {}
ModeKernelInt32/1048576/1 656.404 GiB/sec
657.970 GiB/sec 0.239 {}
ModeKernelInt16/1048576/0 877.559 MiB/sec
879.467 MiB/sec 0.217 {}
VarianceKernelInt32/1048576/1 1.129 TiB/sec
1.131 TiB/sec 0.199 {}
ModeKernelInt16/1048576/10000 863.507 MiB/sec
863.839 MiB/sec 0.038 {}
VarianceKernelFloat/1048576/2 359.374 MiB/sec
359.496 MiB/sec 0.034 {}
VarianceKernelDouble/1048576/10000 8.032 GiB/sec
8.034 GiB/sec 0.028 {}
QuantileKernelDecilesWide<Int32Type>/1048576/1 1.217 TiB/sec
1.217 TiB/sec 0.015 {}
ModeKernelInt8/1048576/10000 501.545 MiB/sec
501.451 MiB/sec -0.019 {}
QuantileKernelMedianNarrow<Int64Type>/1048576/10 1.418 GiB/sec
1.415 GiB/sec -0.193 {}
QuantileKernelMedianWide<DoubleType>/1048576/1 1.237 TiB/sec
1.234 TiB/sec -0.253 {}
VarianceKernelFloat/1048576/10000 2.936 GiB/sec
2.928 GiB/sec -0.265 {}
ModeKernelInt16/1048576/10 424.764 MiB/sec
423.594 MiB/sec -0.276 {}
ModeKernelInt16/1048576/1 630.408 GiB/sec
628.569 GiB/sec -0.292 {}
ModeKernelBoolean/1048576/1 665.037 GiB/sec
662.896 GiB/sec -0.322 {}
VarianceKernelFloat/1048576/1 1.129 TiB/sec
1.125 TiB/sec -0.386 {}
TDigestKernelDoubleDeciles/1048576/1 797.682 GiB/sec
794.483 GiB/sec -0.401 {}
QuantileKernelMedianWide<Int64Type>/1048576/10 787.428 MiB/sec
783.777 MiB/sec -0.464 {}
ModeKernelInt32/1048576/2 589.327 MiB/sec
586.400 MiB/sec -0.497 {}
QuantileKernelMedianNarrow<Int64Type>/1048576/2 1.211 GiB/sec
1.205 GiB/sec -0.499 {}
ModeKernelInt8/1048576/100 471.601 MiB/sec
469.189 MiB/sec -0.511 {}
ModeKernelInt16/1048576/100 734.554 MiB/sec
730.408 MiB/sec -0.564 {}
QuantileKernelDecilesNarrow<Int32Type>/1048576/100 1.292 GiB/sec
1.285 GiB/sec -0.598 {}
ModeKernelInt8/1048576/0 502.635 MiB/sec
499.599 MiB/sec -0.604 {}
QuantileKernelMedianNarrow<Int32Type>/1048576/10000 1.516 GiB/sec
1.507 GiB/sec -0.617 {}
VarianceKernelInt32/1048576/0 7.766 GiB/sec
7.718 GiB/sec -0.618 {}
QuantileKernelDecilesNarrow<Int32Type>/1048576/10000 1.483 GiB/sec
1.474 GiB/sec -0.628 {}
ModeKernelInt16/1048576/2 296.454 MiB/sec
294.108 MiB/sec -0.792 {}
QuantileKernelDecilesNarrow<Int32Type>/1048576/0 1.513 GiB/sec
1.501 GiB/sec -0.793 {}
VarianceKernelDouble/1048576/0 8.238 GiB/sec
8.171 GiB/sec -0.806 {}
VarianceKernelInt64/1048576/10 1.521 GiB/sec
1.507 GiB/sec -0.873 {}
QuantileKernelMedianNarrow<Int32Type>/1048576/0 1.543 GiB/sec
1.530 GiB/sec -0.876 {}
QuantileKernelMedianNarrow<Int32Type>/1048576/100 1.326 GiB/sec
1.312 GiB/sec -1.017 {}
TDigestKernelDoubleMedian/1048576/1 798.035 GiB/sec
789.895 GiB/sec -1.020 {}
VarianceKernelDouble/1048576/100 4.463 GiB/sec
4.415 GiB/sec -1.085 {}
VarianceKernelDouble/1048576/10 1.258 GiB/sec
1.243 GiB/sec -1.186 {}
QuantileKernelCentilesNarrow<Int32Type>/1048576/10000 1.486 GiB/sec
1.469 GiB/sec -1.191 {}
ModeKernelInt64/1048576/1 641.846 GiB/sec
634.196 GiB/sec -1.192 {}
QuantileKernelCentilesNarrow<Int32Type>/1048576/0 1.513 GiB/sec
1.493 GiB/sec -1.331 {}
ModeKernelInt8/1048576/1 522.459 GiB/sec
515.189 GiB/sec -1.392 {}
VarianceKernelInt64/1048576/2 928.788 MiB/sec
915.284 MiB/sec -1.454 {}
QuantileKernelCentilesWide<Int32Type>/1048576/1 1.096 TiB/sec
1.079 TiB/sec -1.519 {}
QuantileKernelCentilesWide<DoubleType>/1048576/1 1.109 TiB/sec
1.090 TiB/sec -1.723 {}
QuantileKernelMedianNarrow<Int32Type>/1048576/1 1.232 TiB/sec
1.210 TiB/sec -1.808 {}
ModeKernelInt8/1048576/10 373.907 MiB/sec
367.061 MiB/sec -1.831 {}
QuantileKernelCentilesNarrow<Int32Type>/1048576/1 1.097 TiB/sec
1.076 TiB/sec -1.909 {}
QuantileKernelDecilesNarrow<Int32Type>/1048576/10 796.953 MiB/sec
780.949 MiB/sec -2.008 {}
VarianceKernelInt64/1048576/100 4.529 GiB/sec
4.435 GiB/sec -2.059 {}
QuantileKernelCentilesNarrow<Int32Type>/1048576/100 1.310 GiB/sec
1.282 GiB/sec -2.118 {}
QuantileKernelDecilesNarrow<Int32Type>/1048576/1 1.216 TiB/sec
1.189 TiB/sec -2.213 {}
VarianceKernelFloat/1048576/0 2.959 GiB/sec
2.886 GiB/sec -2.473 {}
QuantileKernelDecilesWide<DoubleType>/1048576/1 1.232 TiB/sec
1.196 TiB/sec -2.874 {}
QuantileKernelMedianWide<Int64Type>/1048576/1 1.242 TiB/sec
1.203 TiB/sec -3.105 {}
ModeKernelBoolean/1048576/100 1.595 GiB/sec
1.535 GiB/sec -3.779 {}
QuantileKernelMedianNarrow<Int32Type>/1048576/10 823.687 MiB/sec
790.291 MiB/sec -4.054 {}
QuantileKernelCentilesNarrow<Int32Type>/1048576/10 814.496 MiB/sec
780.100 MiB/sec -4.223 {}
VarianceKernelInt64/1048576/1 1.141 TiB/sec
1.092 TiB/sec -4.253 {}
ModeKernelBoolean/1048576/10000 1.595 GiB/sec
1.522 GiB/sec -4.593 {}
QuantileKernelMedianNarrow<Int64Type>/1048576/1 1.262 TiB/sec
1.202 TiB/sec -4.717 {}
ModeKernelBoolean/1048576/2 1.596 GiB/sec
1.519 GiB/sec -4.803 {}
ModeKernelBoolean/1048576/10 1.595 GiB/sec
1.518 GiB/sec -4.829 {}
-------------------------------------------------------------------------------------------------------
Regressions: (6)
-------------------------------------------------------------------------------------------------------
benchmark baseline
contender change % counters
QuantileKernelMedianWide<Int32Type>/1048576/1 1.230 TiB/sec 1.166
TiB/sec -5.229 {}
ModeKernelInt8/1048576/2 302.982 MiB/sec 285.467
MiB/sec -5.781 {}
TDigestKernelDoubleCentiles/1048576/1 798.656 GiB/sec 752.083
GiB/sec -5.831 {}
QuantileKernelMedianNarrow<Int32Type>/1048576/2 588.340 MiB/sec 539.375
MiB/sec -8.323 {}
QuantileKernelCentilesNarrow<Int32Type>/1048576/2 583.672 MiB/sec 534.242
MiB/sec -8.469 {}
QuantileKernelDecilesNarrow<Int32Type>/1048576/2 584.674 MiB/sec 535.113
MiB/sec -8.477 {}
```
----------------------------------------------------------------
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.
For queries about this service, please contact Infrastructure at:
[email protected]