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 2020/10/21 15:30:36 UTC
[GitHub] [arrow] pitrou commented on pull request #8466: ARROW-10304: [C++][Compute] Optimize variance kernel for integers
pitrou commented on pull request #8466:
URL: https://github.com/apache/arrow/pull/8466#issuecomment-713661111
Results on an AMD Zen 2 CPU:
```
VarianceKernelInt32/1048576/10000 140 us 140 us 5030 bytes_per_second=6.98658G/s null_percent=0.01 size=1048.58k
VarianceKernelInt32/1048576/100 216 us 216 us 3267 bytes_per_second=4.5294G/s null_percent=1 size=1048.58k
VarianceKernelInt32/1048576/10 397 us 397 us 1763 bytes_per_second=2.45765G/s null_percent=10 size=1048.58k
VarianceKernelInt32/1048576/2 974 us 974 us 718 bytes_per_second=1026.87M/s null_percent=50 size=1048.58k
VarianceKernelInt32/1048576/1 0.816 us 0.816 us 844145 bytes_per_second=1.1684T/s null_percent=100 size=1048.58k
VarianceKernelInt32/1048576/0 130 us 130 us 5414 bytes_per_second=7.51569G/s null_percent=0 size=1048.58k
VarianceKernelInt64/1048576/10000 135 us 135 us 5174 bytes_per_second=7.22877G/s null_percent=0.01 size=1048.58k
VarianceKernelInt64/1048576/100 260 us 260 us 2682 bytes_per_second=3.7503G/s null_percent=1 size=1048.58k
VarianceKernelInt64/1048576/10 440 us 440 us 1591 bytes_per_second=2.21931G/s null_percent=10 size=1048.58k
VarianceKernelInt64/1048576/2 884 us 884 us 783 bytes_per_second=1.10507G/s null_percent=50 size=1048.58k
VarianceKernelInt64/1048576/1 0.821 us 0.821 us 840316 bytes_per_second=1.16182T/s null_percent=100 size=1048.58k
VarianceKernelInt64/1048576/0 123 us 123 us 5620 bytes_per_second=7.94262G/s null_percent=0 size=1048.58k
VarianceKernelFloat/1048576/10000 366 us 366 us 1909 bytes_per_second=2.66576G/s null_percent=0.01 size=1048.58k
VarianceKernelFloat/1048576/100 751 us 751 us 909 bytes_per_second=1.3003G/s null_percent=1 size=1048.58k
VarianceKernelFloat/1048576/10 1097 us 1097 us 637 bytes_per_second=911.712M/s null_percent=10 size=1048.58k
VarianceKernelFloat/1048576/2 1803 us 1802 us 387 bytes_per_second=554.854M/s null_percent=50 size=1048.58k
VarianceKernelFloat/1048576/1 0.817 us 0.817 us 838993 bytes_per_second=1.1679T/s null_percent=100 size=1048.58k
VarianceKernelFloat/1048576/0 346 us 346 us 2021 bytes_per_second=2.82409G/s null_percent=0 size=1048.58k
VarianceKernelDouble/1048576/10000 184 us 184 us 3751 bytes_per_second=5.30153G/s null_percent=0.01 size=1048.58k
VarianceKernelDouble/1048576/100 372 us 372 us 1869 bytes_per_second=2.62218G/s null_percent=1 size=1048.58k
VarianceKernelDouble/1048576/10 549 us 549 us 1249 bytes_per_second=1.77993G/s null_percent=10 size=1048.58k
VarianceKernelDouble/1048576/2 909 us 909 us 741 bytes_per_second=1099.92M/s null_percent=50 size=1048.58k
VarianceKernelDouble/1048576/1 0.831 us 0.831 us 831173 bytes_per_second=1.14779T/s null_percent=100 size=1048.58k
VarianceKernelDouble/1048576/0 174 us 174 us 4050 bytes_per_second=5.62431G/s null_percent=0 size=1048.58k
```
I'm curious why Int64 would be faster than Double. Aren't they using the same algorithm? (and Int64 goes through an additional int-to-float conversion for each value)
----------------------------------------------------------------
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