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: us...@infra.apache.org