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/06/28 18:26:46 UTC

[GitHub] [arrow] wesm commented on pull request #7569: ARROW-9152: [C++] Specialized implementation of filtering Binary/LargeBinary-based types

wesm commented on pull request #7569:
URL: https://github.com/apache/arrow/pull/7569#issuecomment-650803803


   Benchmarks on gcc-8
   
   ```
                                    benchmark         baseline        contender  change %                                                                      counters
   13     FilterStringFilterNoNulls/1048576/0    1.242 GiB/sec    6.766 GiB/sec   444.926    {'iterations': 890, 'data null%': 0.0, 'mask null%': 0.0, 'select%': 99.9}
   28     FilterStringFilterNoNulls/1048576/3    1.216 GiB/sec    5.055 GiB/sec   315.816    {'iterations': 877, 'data null%': 0.1, 'mask null%': 0.0, 'select%': 99.9}
   8      FilterStringFilterNoNulls/1048576/6    1.087 GiB/sec    2.512 GiB/sec   130.990    {'iterations': 771, 'data null%': 1.0, 'mask null%': 0.0, 'select%': 99.9}
   4     FilterStringFilterNoNulls/1048576/12  227.501 MiB/sec  500.272 MiB/sec   119.899   {'iterations': 160, 'data null%': 90.0, 'mask null%': 0.0, 'select%': 99.9}
   23     FilterStringFilterNoNulls/1048576/9  902.994 MiB/sec    1.362 GiB/sec    54.476   {'iterations': 622, 'data null%': 10.0, 'mask null%': 0.0, 'select%': 99.9}
   24  FilterStringFilterWithNulls/1048576/12  235.786 MiB/sec  356.124 MiB/sec    51.037   {'iterations': 165, 'data null%': 90.0, 'mask null%': 5.0, 'select%': 99.9}
   5    FilterStringFilterWithNulls/1048576/3  996.664 MiB/sec    1.361 GiB/sec    39.858    {'iterations': 687, 'data null%': 0.1, 'mask null%': 5.0, 'select%': 99.9}
   22   FilterStringFilterWithNulls/1048576/6  988.599 MiB/sec    1.331 GiB/sec    37.918    {'iterations': 685, 'data null%': 1.0, 'mask null%': 5.0, 'select%': 99.9}
   15   FilterStringFilterWithNulls/1048576/9  913.433 MiB/sec    1.205 GiB/sec    35.073   {'iterations': 634, 'data null%': 10.0, 'mask null%': 5.0, 'select%': 99.9}
   7     FilterStringFilterNoNulls/1048576/13  219.235 MiB/sec  292.800 MiB/sec    33.555   {'iterations': 155, 'data null%': 90.0, 'mask null%': 0.0, 'select%': 50.0}
   14    FilterStringFilterNoNulls/1048576/10    1.169 GiB/sec    1.559 GiB/sec    33.370   {'iterations': 838, 'data null%': 10.0, 'mask null%': 0.0, 'select%': 50.0}
   25   FilterStringFilterWithNulls/1048576/0    1.062 GiB/sec    1.366 GiB/sec    28.690    {'iterations': 761, 'data null%': 0.0, 'mask null%': 5.0, 'select%': 99.9}
   2      FilterStringFilterNoNulls/1048576/1    1.398 GiB/sec    1.763 GiB/sec    26.088   {'iterations': 1007, 'data null%': 0.0, 'mask null%': 0.0, 'select%': 50.0}
   11   FilterStringFilterWithNulls/1048576/4    1.233 GiB/sec    1.521 GiB/sec    23.336    {'iterations': 894, 'data null%': 0.1, 'mask null%': 5.0, 'select%': 50.0}
   29   FilterStringFilterWithNulls/1048576/7    1.240 GiB/sec    1.519 GiB/sec    22.426    {'iterations': 881, 'data null%': 1.0, 'mask null%': 5.0, 'select%': 50.0}
   9   FilterStringFilterWithNulls/1048576/10    1.177 GiB/sec    1.370 GiB/sec    16.380   {'iterations': 753, 'data null%': 10.0, 'mask null%': 5.0, 'select%': 50.0}
   26  FilterStringFilterWithNulls/1048576/13  215.181 MiB/sec  249.411 MiB/sec    15.907   {'iterations': 151, 'data null%': 90.0, 'mask null%': 5.0, 'select%': 50.0}
   3      FilterStringFilterNoNulls/1048576/7    1.373 GiB/sec    1.580 GiB/sec    15.117    {'iterations': 983, 'data null%': 1.0, 'mask null%': 0.0, 'select%': 50.0}
   10     FilterStringFilterNoNulls/1048576/4    1.427 GiB/sec    1.607 GiB/sec    12.602    {'iterations': 996, 'data null%': 0.1, 'mask null%': 0.0, 'select%': 50.0}
   17   FilterStringFilterWithNulls/1048576/1    1.364 GiB/sec    1.532 GiB/sec    12.343    {'iterations': 950, 'data null%': 0.0, 'mask null%': 5.0, 'select%': 50.0}
   20     FilterStringFilterNoNulls/1048576/8   19.656 GiB/sec   20.549 GiB/sec     4.540   {'iterations': 14209, 'data null%': 1.0, 'mask null%': 0.0, 'select%': 1.0}
   6   FilterStringFilterWithNulls/1048576/11   12.449 GiB/sec   12.500 GiB/sec     0.407   {'iterations': 8994, 'data null%': 10.0, 'mask null%': 5.0, 'select%': 1.0}
   0      FilterStringFilterNoNulls/1048576/5   20.884 GiB/sec   20.824 GiB/sec    -0.287   {'iterations': 14923, 'data null%': 0.1, 'mask null%': 0.0, 'select%': 1.0}
   19    FilterStringFilterNoNulls/1048576/11   18.171 GiB/sec   17.865 GiB/sec    -1.687  {'iterations': 12875, 'data null%': 10.0, 'mask null%': 0.0, 'select%': 1.0}
   21  FilterStringFilterWithNulls/1048576/14    1.551 GiB/sec    1.519 GiB/sec    -2.057   {'iterations': 1090, 'data null%': 90.0, 'mask null%': 5.0, 'select%': 1.0}
   16     FilterStringFilterNoNulls/1048576/2   21.518 GiB/sec   21.028 GiB/sec    -2.281   {'iterations': 15479, 'data null%': 0.0, 'mask null%': 0.0, 'select%': 1.0}
   12    FilterStringFilterNoNulls/1048576/14    2.367 GiB/sec    2.295 GiB/sec    -3.071   {'iterations': 1690, 'data null%': 90.0, 'mask null%': 0.0, 'select%': 1.0}
   27   FilterStringFilterWithNulls/1048576/8   14.006 GiB/sec   12.802 GiB/sec    -8.601   {'iterations': 10005, 'data null%': 1.0, 'mask null%': 5.0, 'select%': 1.0}
   1    FilterStringFilterWithNulls/1048576/5   14.044 GiB/sec   12.815 GiB/sec    -8.749   {'iterations': 10036, 'data null%': 0.1, 'mask null%': 5.0, 'select%': 1.0}
   18   FilterStringFilterWithNulls/1048576/2   14.547 GiB/sec   13.088 GiB/sec   -10.029   {'iterations': 10421, 'data null%': 0.0, 'mask null%': 5.0, 'select%': 1.0}
   ```
   
   clang-11
   
   ```
                                    benchmark          baseline        contender  change %                                                                      counters
   15     FilterStringFilterNoNulls/1048576/0     1.528 GiB/sec    6.513 GiB/sec   326.150   {'iterations': 1092, 'data null%': 0.0, 'mask null%': 0.0, 'select%': 99.9}
   12     FilterStringFilterNoNulls/1048576/3     1.483 GiB/sec    5.488 GiB/sec   269.986   {'iterations': 1059, 'data null%': 0.1, 'mask null%': 0.0, 'select%': 99.9}
   10     FilterStringFilterNoNulls/1048576/6     1.269 GiB/sec    2.550 GiB/sec   100.978    {'iterations': 905, 'data null%': 1.0, 'mask null%': 0.0, 'select%': 99.9}
   25     FilterStringFilterNoNulls/1048576/9  1020.328 MiB/sec    1.333 GiB/sec    33.742   {'iterations': 718, 'data null%': 10.0, 'mask null%': 0.0, 'select%': 99.9}
   26   FilterStringFilterWithNulls/1048576/3     1.069 GiB/sec    1.405 GiB/sec    31.393    {'iterations': 763, 'data null%': 0.1, 'mask null%': 5.0, 'select%': 99.9}
   6   FilterStringFilterWithNulls/1048576/12   281.146 MiB/sec  368.375 MiB/sec    31.026   {'iterations': 195, 'data null%': 90.0, 'mask null%': 5.0, 'select%': 99.9}
   17   FilterStringFilterWithNulls/1048576/0     1.080 GiB/sec    1.401 GiB/sec    29.703    {'iterations': 783, 'data null%': 0.0, 'mask null%': 5.0, 'select%': 99.9}
   2    FilterStringFilterWithNulls/1048576/9  1007.528 MiB/sec    1.261 GiB/sec    28.170   {'iterations': 709, 'data null%': 10.0, 'mask null%': 5.0, 'select%': 99.9}
   0    FilterStringFilterWithNulls/1048576/6     1.059 GiB/sec    1.344 GiB/sec    26.923    {'iterations': 762, 'data null%': 1.0, 'mask null%': 5.0, 'select%': 99.9}
   1      FilterStringFilterNoNulls/1048576/1     1.472 GiB/sec    1.840 GiB/sec    25.021   {'iterations': 1061, 'data null%': 0.0, 'mask null%': 0.0, 'select%': 50.0}
   9   FilterStringFilterWithNulls/1048576/13   228.021 MiB/sec  277.798 MiB/sec    21.830   {'iterations': 160, 'data null%': 90.0, 'mask null%': 5.0, 'select%': 50.0}
   19   FilterStringFilterWithNulls/1048576/1     1.321 GiB/sec    1.598 GiB/sec    20.983    {'iterations': 942, 'data null%': 0.0, 'mask null%': 5.0, 'select%': 50.0}
   21    FilterStringFilterNoNulls/1048576/12   360.116 MiB/sec  433.747 MiB/sec    20.446   {'iterations': 253, 'data null%': 90.0, 'mask null%': 0.0, 'select%': 99.9}
   4    FilterStringFilterWithNulls/1048576/7     1.368 GiB/sec    1.630 GiB/sec    19.141    {'iterations': 962, 'data null%': 1.0, 'mask null%': 5.0, 'select%': 50.0}
   7      FilterStringFilterNoNulls/1048576/4     1.405 GiB/sec    1.663 GiB/sec    18.311   {'iterations': 1048, 'data null%': 0.1, 'mask null%': 0.0, 'select%': 50.0}
   23  FilterStringFilterWithNulls/1048576/10     1.265 GiB/sec    1.478 GiB/sec    16.849   {'iterations': 912, 'data null%': 10.0, 'mask null%': 5.0, 'select%': 50.0}
   20  FilterStringFilterWithNulls/1048576/14     1.277 GiB/sec    1.462 GiB/sec    14.420    {'iterations': 975, 'data null%': 90.0, 'mask null%': 5.0, 'select%': 1.0}
   13     FilterStringFilterNoNulls/1048576/7     1.430 GiB/sec    1.627 GiB/sec    13.777   {'iterations': 1028, 'data null%': 1.0, 'mask null%': 0.0, 'select%': 50.0}
   22     FilterStringFilterNoNulls/1048576/2    22.004 GiB/sec   24.994 GiB/sec    13.592   {'iterations': 15771, 'data null%': 0.0, 'mask null%': 0.0, 'select%': 1.0}
   18   FilterStringFilterWithNulls/1048576/4     1.335 GiB/sec    1.500 GiB/sec    12.345    {'iterations': 960, 'data null%': 0.1, 'mask null%': 5.0, 'select%': 50.0}
   8   FilterStringFilterWithNulls/1048576/11    10.872 GiB/sec   12.110 GiB/sec    11.392   {'iterations': 7820, 'data null%': 10.0, 'mask null%': 5.0, 'select%': 1.0}
   27    FilterStringFilterNoNulls/1048576/10     1.311 GiB/sec    1.386 GiB/sec     5.668   {'iterations': 933, 'data null%': 10.0, 'mask null%': 0.0, 'select%': 50.0}
   14     FilterStringFilterNoNulls/1048576/5    20.494 GiB/sec   21.433 GiB/sec     4.579   {'iterations': 14595, 'data null%': 0.1, 'mask null%': 0.0, 'select%': 1.0}
   5    FilterStringFilterWithNulls/1048576/2    12.081 GiB/sec   12.621 GiB/sec     4.471    {'iterations': 8706, 'data null%': 0.0, 'mask null%': 5.0, 'select%': 1.0}
   16    FilterStringFilterNoNulls/1048576/13   256.578 MiB/sec  252.991 MiB/sec    -1.398   {'iterations': 182, 'data null%': 90.0, 'mask null%': 0.0, 'select%': 50.0}
   11   FilterStringFilterWithNulls/1048576/8    12.340 GiB/sec   12.157 GiB/sec    -1.479    {'iterations': 8871, 'data null%': 1.0, 'mask null%': 5.0, 'select%': 1.0}
   3      FilterStringFilterNoNulls/1048576/8    19.332 GiB/sec   18.721 GiB/sec    -3.160   {'iterations': 13954, 'data null%': 1.0, 'mask null%': 0.0, 'select%': 1.0}
   29   FilterStringFilterWithNulls/1048576/5    12.376 GiB/sec   11.794 GiB/sec    -4.700    {'iterations': 8938, 'data null%': 0.1, 'mask null%': 5.0, 'select%': 1.0}
   28    FilterStringFilterNoNulls/1048576/11    17.402 GiB/sec   14.552 GiB/sec   -16.374  {'iterations': 12528, 'data null%': 10.0, 'mask null%': 0.0, 'select%': 1.0}
   24    FilterStringFilterNoNulls/1048576/14     2.286 GiB/sec    1.760 GiB/sec   -22.986   {'iterations': 1636, 'data null%': 90.0, 'mask null%': 0.0, 'select%': 1.0}
   ```
   
   The benchmarks where there is a performance decrease seem inconsequential


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