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