You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@arrow.apache.org by GitBox <gi...@apache.org> on 2021/01/29 07:06:39 UTC
[GitHub] [arrow] cyb70289 commented on pull request #9358: ARROW-11425: [C++][Compute] Optimize quantile kernel for integers
cyb70289 commented on pull request #9358:
URL: https://github.com/apache/arrow/pull/9358#issuecomment-769622477
Tested on Xeon Gold 5218, clang-9.
Up to 2x improvements for integers with limited value range, minor drop for 50% nulls.
Before
```
QuantileKernelInt32/1048576/10000 2058 us 2058 us 340 bytes_per_second=485.836M/s null_percent=0.01 size=1048.58k
QuantileKernelInt32/1048576/100 1279 us 1279 us 551 bytes_per_second=781.752M/s null_percent=1 size=1048.58k
QuantileKernelInt32/1048576/10 1719 us 1719 us 408 bytes_per_second=581.835M/s null_percent=10 size=1048.58k
QuantileKernelInt32/1048576/2 1631 us 1631 us 429 bytes_per_second=613.259M/s null_percent=50 size=1048.58k
QuantileKernelInt32/1048576/1 0.601 us 0.601 us 1164926 bytes_per_second=1.58694T/s null_percent=100 size=1048.58k
QuantileKernelInt32/1048576/0 1864 us 1864 us 376 bytes_per_second=536.431M/s null_percent=0 size=1048.58k
QuantileKernelInt64/1048576/10000 944 us 944 us 741 bytes_per_second=1059.49M/s null_percent=0.01 size=1048.58k
QuantileKernelInt64/1048576/100 1189 us 1189 us 594 bytes_per_second=840.822M/s null_percent=1 size=1048.58k
QuantileKernelInt64/1048576/10 889 us 889 us 786 bytes_per_second=1124.47M/s null_percent=10 size=1048.58k
QuantileKernelInt64/1048576/2 812 us 812 us 863 bytes_per_second=1.20332G/s null_percent=50 size=1048.58k
QuantileKernelInt64/1048576/1 0.601 us 0.601 us 1162030 bytes_per_second=1.58732T/s null_percent=100 size=1048.58k
QuantileKernelInt64/1048576/0 935 us 935 us 749 bytes_per_second=1069.31M/s null_percent=0 size=1048.58k
QuantileKernelDouble/1048576/10000 1116 us 1116 us 629 bytes_per_second=895.788M/s null_percent=0.01 size=1048.58k
QuantileKernelDouble/1048576/100 1222 us 1222 us 573 bytes_per_second=818.343M/s null_percent=1 size=1048.58k
QuantileKernelDouble/1048576/10 902 us 902 us 775 bytes_per_second=1108.27M/s null_percent=10 size=1048.58k
QuantileKernelDouble/1048576/2 878 us 878 us 797 bytes_per_second=1.1117G/s null_percent=50 size=1048.58k
QuantileKernelDouble/1048576/1 0.617 us 0.617 us 1134788 bytes_per_second=1.54598T/s null_percent=100 size=1048.58k
QuantileKernelDouble/1048576/0 1214 us 1214 us 577 bytes_per_second=823.777M/s null_percent=0 size=1048.58k
```
After
```
QuantileKernelInt32/1048576/10000 641 us 641 us 1091 bytes_per_second=1.52317G/s null_percent=0.01 size=1048.58k
QuantileKernelInt32/1048576/100 745 us 745 us 935 bytes_per_second=1.31037G/s null_percent=1 size=1048.58k
QuantileKernelInt32/1048576/10 1277 us 1277 us 549 bytes_per_second=783.305M/s null_percent=10 size=1048.58k
QuantileKernelInt32/1048576/2 1856 us 1856 us 377 bytes_per_second=538.889M/s null_percent=50 size=1048.58k
QuantileKernelInt32/1048576/1 0.627 us 0.627 us 1074304 bytes_per_second=1.52125T/s null_percent=100 size=1048.58k
QuantileKernelInt32/1048576/0 632 us 632 us 1109 bytes_per_second=1.54554G/s null_percent=0 size=1048.58k
QuantileKernelInt64/1048576/10000 370 us 370 us 1888 bytes_per_second=2.6384G/s null_percent=0.01 size=1048.58k
QuantileKernelInt64/1048576/100 414 us 414 us 1681 bytes_per_second=2.36152G/s null_percent=1 size=1048.58k
QuantileKernelInt64/1048576/10 686 us 686 us 1021 bytes_per_second=1.42442G/s null_percent=10 size=1048.58k
QuantileKernelInt64/1048576/2 906 us 906 us 774 bytes_per_second=1104.26M/s null_percent=50 size=1048.58k
QuantileKernelInt64/1048576/1 0.607 us 0.607 us 1155137 bytes_per_second=1.57133T/s null_percent=100 size=1048.58k
QuantileKernelInt64/1048576/0 364 us 364 us 1920 bytes_per_second=2.6835G/s null_percent=0 size=1048.58k
QuantileKernelDouble/1048576/10000 1115 us 1115 us 629 bytes_per_second=897.137M/s null_percent=0.01 size=1048.58k
QuantileKernelDouble/1048576/100 1244 us 1244 us 564 bytes_per_second=804.11M/s null_percent=1 size=1048.58k
QuantileKernelDouble/1048576/10 914 us 914 us 767 bytes_per_second=1093.93M/s null_percent=10 size=1048.58k
QuantileKernelDouble/1048576/2 900 us 900 us 778 bytes_per_second=1111.09M/s null_percent=50 size=1048.58k
QuantileKernelDouble/1048576/1 0.618 us 0.618 us 1079708 bytes_per_second=1.54343T/s null_percent=100 size=1048.58k
QuantileKernelDouble/1048576/0 1221 us 1221 us 573 bytes_per_second=819.062M/s null_percent=0 size=1048.58k
```
----------------------------------------------------------------
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:
users@infra.apache.org