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/09/01 09:36:26 UTC

[GitHub] [arrow] cyb70289 commented on pull request #8091: ARROW-9873: [C++][Compute] Optimize mode kernel for integers in small…

cyb70289 commented on pull request #8091:
URL: https://github.com/apache/arrow/pull/8091#issuecomment-684666816


   Tested on skylake (knight landing).
   Removed unrelated tests for clarity.
   100% null benchmark is not stable, can be ignored.
   
   ```
   $ archery benchmark diff --suite-filter="arrow-compute-aggregate-benchmark" --cc=clang-9 --cxx=clang++-9
   
                             benchmark         baseline        contender  change %
   1        ModeKernelInt16/1048576/10  122.148 MiB/sec  364.273 MiB/sec   198.222  {'null_percent': 10.0}
   24    ModeKernelInt32/1048576/10000  227.845 MiB/sec  676.265 MiB/sec   196.809  {'null_percent': 0.01}
   14      ModeKernelInt16/1048576/100  116.265 MiB/sec  342.747 MiB/sec   194.798  {'null_percent': 1.0}
   23      ModeKernelInt32/1048576/100  229.216 MiB/sec  669.534 MiB/sec   192.098  {'null_percent': 1.0}
   17       ModeKernelInt32/1048576/10  241.768 MiB/sec  700.500 MiB/sec   189.740  {'null_percent': 10.0}
   16    ModeKernelInt16/1048576/10000  115.484 MiB/sec  324.841 MiB/sec   181.287  {'null_percent': 0.01}
   8     ModeKernelInt64/1048576/10000  481.374 MiB/sec    1.308 GiB/sec   178.214  {'null_percent': 0.01}
   10      ModeKernelInt64/1048576/100  485.696 MiB/sec    1.313 GiB/sec   176.807  {'null_percent': 1.0}
   20       ModeKernelInt64/1048576/10  527.967 MiB/sec    1.383 GiB/sec   168.292  {'null_percent': 10.0}
   12        ModeKernelInt32/1048576/0  257.092 MiB/sec  687.083 MiB/sec   167.251  {'null_percent': 0.0}
   15        ModeKernelInt16/1048576/0  128.398 MiB/sec  342.670 MiB/sec   166.880  {'null_percent': 0.0}
   11        ModeKernelInt64/1048576/0  513.891 MiB/sec    1.325 GiB/sec   164.088  {'null_percent': 0.0}
   4         ModeKernelInt16/1048576/2  162.258 MiB/sec  384.148 MiB/sec   136.752  {'null_percent': 50.0}
   25        ModeKernelInt32/1048576/2  320.094 MiB/sec  650.958 MiB/sec   103.365  {'null_percent': 50.0}
   2         ModeKernelInt64/1048576/2  811.335 MiB/sec    1.403 GiB/sec    77.111  {'null_percent': 50.0}
   0         ModeKernelInt64/1048576/1    7.906 GiB/sec    7.888 GiB/sec    -0.230  {'null_percent': 100.0}
   9       ModeKernelBoolean/1048576/0   26.502 MiB/sec   26.148 MiB/sec    -1.337  {'null_percent': 0.0}
   19      ModeKernelBoolean/1048576/2   27.081 MiB/sec   26.518 MiB/sec    -2.078  {'null_percent': 50.0}
   18  ModeKernelBoolean/1048576/10000   26.126 MiB/sec   25.361 MiB/sec    -2.927  {'null_percent': 0.01}
   5      ModeKernelBoolean/1048576/10   27.987 MiB/sec   27.111 MiB/sec    -3.131  {'null_percent': 10.0}
   27    ModeKernelBoolean/1048576/100   25.729 MiB/sec   24.911 MiB/sec    -3.181  {'null_percent': 1.0}
   28      ModeKernelBoolean/1048576/1  123.582 MiB/sec  118.548 MiB/sec    -4.074  {'null_percent': 100.0}
   6      ModeKernelInt8/1048576/10000  248.084 MiB/sec  232.688 MiB/sec    -6.206  {'null_percent': 0.01}
   21       ModeKernelInt8/1048576/100  253.614 MiB/sec  230.012 MiB/sec    -9.306  {'null_percent': 1.0}
   26         ModeKernelInt8/1048576/0  270.337 MiB/sec  244.879 MiB/sec    -9.417  {'null_percent': 0.0}
   3         ModeKernelInt8/1048576/10  247.946 MiB/sec  223.306 MiB/sec    -9.938  {'null_percent': 10.0}
   13         ModeKernelInt8/1048576/2  198.628 MiB/sec  178.205 MiB/sec   -10.282  {'null_percent': 50.0}
   29         ModeKernelInt8/1048576/1  948.757 MiB/sec  828.408 MiB/sec   -12.685  {'null_percent': 100.0}
   22        ModeKernelInt16/1048576/1    2.852 GiB/sec    2.265 GiB/sec   -20.587  {'null_percent': 100.0}
   7         ModeKernelInt32/1048576/1    5.714 GiB/sec    3.430 GiB/sec   -39.976  {'null_percent': 100.0}
   ```


----------------------------------------------------------------
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