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 2022/07/20 13:23:40 UTC

[GitHub] [arrow] pitrou commented on pull request #13654: ARROW-17135: [C++] Reduce code size in compute/kernels/scalar_compare.cc

pitrou commented on PR #13654:
URL: https://github.com/apache/arrow/pull/13654#issuecomment-1190282677

   Benchmark results on my work machine (a AMD Zen 2 CPU):
   ```
   -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
   Non-regressions: (46)
   -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
                                     benchmark           baseline          contender  change %                                                                                                                                                                                                        counters
               GreaterArrayScalarInt64/32768/0   1.519G items/sec   2.887G items/sec    89.993             {'family_index': 1, 'per_family_instance_index': 5, 'run_name': 'GreaterArrayScalarInt64/32768/0', 'repetitions': 1, 'repetition_index': 0, 'threads': 1, 'iterations': 32357, 'null_percent': 0.0}
           GreaterArrayScalarInt64/32768/10000   1.493G items/sec   2.797G items/sec    87.275        {'family_index': 1, 'per_family_instance_index': 0, 'run_name': 'GreaterArrayScalarInt64/32768/10000', 'repetitions': 1, 'repetition_index': 0, 'threads': 1, 'iterations': 31872, 'null_percent': 0.01}
               GreaterArrayScalarInt64/32768/2   1.495G items/sec   2.783G items/sec    86.147            {'family_index': 1, 'per_family_instance_index': 3, 'run_name': 'GreaterArrayScalarInt64/32768/2', 'repetitions': 1, 'repetition_index': 0, 'threads': 1, 'iterations': 31886, 'null_percent': 50.0}
              GreaterArrayScalarInt64/32768/10   1.496G items/sec   2.755G items/sec    84.135           {'family_index': 1, 'per_family_instance_index': 2, 'run_name': 'GreaterArrayScalarInt64/32768/10', 'repetitions': 1, 'repetition_index': 0, 'threads': 1, 'iterations': 31902, 'null_percent': 10.0}
             GreaterArrayScalarInt64/32768/100   1.496G items/sec   2.730G items/sec    82.564           {'family_index': 1, 'per_family_instance_index': 1, 'run_name': 'GreaterArrayScalarInt64/32768/100', 'repetitions': 1, 'repetition_index': 0, 'threads': 1, 'iterations': 31822, 'null_percent': 1.0}
               GreaterArrayScalarInt64/32768/1   1.496G items/sec   2.726G items/sec    82.191           {'family_index': 1, 'per_family_instance_index': 4, 'run_name': 'GreaterArrayScalarInt64/32768/1', 'repetitions': 1, 'repetition_index': 0, 'threads': 1, 'iterations': 31870, 'null_percent': 100.0}
                GreaterArrayArrayInt64/32768/0   1.459G items/sec   2.575G items/sec    76.419              {'family_index': 0, 'per_family_instance_index': 5, 'run_name': 'GreaterArrayArrayInt64/32768/0', 'repetitions': 1, 'repetition_index': 0, 'threads': 1, 'iterations': 31129, 'null_percent': 0.0}
              GreaterArrayArrayInt64/32768/100   1.439G items/sec   2.494G items/sec    73.355            {'family_index': 0, 'per_family_instance_index': 1, 'run_name': 'GreaterArrayArrayInt64/32768/100', 'repetitions': 1, 'repetition_index': 0, 'threads': 1, 'iterations': 30590, 'null_percent': 1.0}
            GreaterArrayArrayInt64/32768/10000   1.438G items/sec   2.489G items/sec    73.105         {'family_index': 0, 'per_family_instance_index': 0, 'run_name': 'GreaterArrayArrayInt64/32768/10000', 'repetitions': 1, 'repetition_index': 0, 'threads': 1, 'iterations': 30442, 'null_percent': 0.01}
                GreaterArrayArrayInt64/32768/2   1.437G items/sec   2.487G items/sec    73.037             {'family_index': 0, 'per_family_instance_index': 3, 'run_name': 'GreaterArrayArrayInt64/32768/2', 'repetitions': 1, 'repetition_index': 0, 'threads': 1, 'iterations': 30627, 'null_percent': 50.0}
               GreaterArrayArrayInt64/32768/10   1.435G items/sec   2.473G items/sec    72.307            {'family_index': 0, 'per_family_instance_index': 2, 'run_name': 'GreaterArrayArrayInt64/32768/10', 'repetitions': 1, 'repetition_index': 0, 'threads': 1, 'iterations': 30633, 'null_percent': 10.0}
                GreaterArrayArrayInt64/32768/1   1.436G items/sec   2.453G items/sec    70.814            {'family_index': 0, 'per_family_instance_index': 4, 'run_name': 'GreaterArrayArrayInt64/32768/1', 'repetitions': 1, 'repetition_index': 0, 'threads': 1, 'iterations': 30647, 'null_percent': 100.0}
    MaxElementWiseArrayScalarInt64/32768/10000 951.172M items/sec   1.091G items/sec    14.717 {'family_index': 5, 'per_family_instance_index': 0, 'run_name': 'MaxElementWiseArrayScalarInt64/32768/10000', 'repetitions': 1, 'repetition_index': 0, 'threads': 1, 'iterations': 20443, 'null_percent': 0.01}
         MaxElementWiseArrayArrayInt64/32768/0 628.126M items/sec 716.152M items/sec    14.014       {'family_index': 4, 'per_family_instance_index': 5, 'run_name': 'MaxElementWiseArrayArrayInt64/32768/0', 'repetitions': 1, 'repetition_index': 0, 'threads': 1, 'iterations': 13342, 'null_percent': 0.0}
        MaxElementWiseArrayScalarInt64/32768/0   1.129G items/sec   1.277G items/sec    13.103      {'family_index': 5, 'per_family_instance_index': 5, 'run_name': 'MaxElementWiseArrayScalarInt64/32768/0', 'repetitions': 1, 'repetition_index': 0, 'threads': 1, 'iterations': 23890, 'null_percent': 0.0}
      MaxElementWiseArrayScalarInt64/32768/100 797.989M items/sec 861.147M items/sec     7.915    {'family_index': 5, 'per_family_instance_index': 1, 'run_name': 'MaxElementWiseArrayScalarInt64/32768/100', 'repetitions': 1, 'repetition_index': 0, 'threads': 1, 'iterations': 16979, 'null_percent': 1.0}
        MaxElementWiseArrayScalarInt64/32768/1   4.785G items/sec   5.135G items/sec     7.310   {'family_index': 5, 'per_family_instance_index': 4, 'run_name': 'MaxElementWiseArrayScalarInt64/32768/1', 'repetitions': 1, 'repetition_index': 0, 'threads': 1, 'iterations': 102277, 'null_percent': 100.0}
         MaxElementWiseArrayArrayInt64/32768/1   4.046G items/sec   4.326G items/sec     6.923     {'family_index': 4, 'per_family_instance_index': 4, 'run_name': 'MaxElementWiseArrayArrayInt64/32768/1', 'repetitions': 1, 'repetition_index': 0, 'threads': 1, 'iterations': 86088, 'null_percent': 100.0}
        MaxElementWiseArrayScalarInt64/32768/2 230.920M items/sec 246.430M items/sec     6.717      {'family_index': 5, 'per_family_instance_index': 3, 'run_name': 'MaxElementWiseArrayScalarInt64/32768/2', 'repetitions': 1, 'repetition_index': 0, 'threads': 1, 'iterations': 4903, 'null_percent': 50.0}
         MaxElementWiseArrayArrayInt64/32768/2 115.210M items/sec 122.406M items/sec     6.247       {'family_index': 4, 'per_family_instance_index': 3, 'run_name': 'MaxElementWiseArrayArrayInt64/32768/2', 'repetitions': 1, 'repetition_index': 0, 'threads': 1, 'iterations': 2454, 'null_percent': 50.0}
               GreaterArrayArrayString/32768/0 123.254M items/sec 126.920M items/sec     2.974              {'family_index': 2, 'per_family_instance_index': 5, 'run_name': 'GreaterArrayArrayString/32768/0', 'repetitions': 1, 'repetition_index': 0, 'threads': 1, 'iterations': 2622, 'null_percent': 0.0}
     MaxElementWiseArrayArrayInt64/32768/10000 455.482M items/sec 468.196M items/sec     2.791   {'family_index': 4, 'per_family_instance_index': 0, 'run_name': 'MaxElementWiseArrayArrayInt64/32768/10000', 'repetitions': 1, 'repetition_index': 0, 'threads': 1, 'iterations': 9743, 'null_percent': 0.01}
       MaxElementWiseArrayArrayInt64/32768/100 350.201M items/sec 358.919M items/sec     2.490      {'family_index': 4, 'per_family_instance_index': 1, 'run_name': 'MaxElementWiseArrayArrayInt64/32768/100', 'repetitions': 1, 'repetition_index': 0, 'threads': 1, 'iterations': 7471, 'null_percent': 1.0}
          GreaterArrayScalarString/32768/10000 780.553M items/sec 799.631M items/sec     2.444       {'family_index': 3, 'per_family_instance_index': 0, 'run_name': 'GreaterArrayScalarString/32768/10000', 'repetitions': 1, 'repetition_index': 0, 'threads': 1, 'iterations': 16635, 'null_percent': 0.01}
              GreaterArrayScalarString/32768/0 786.099M items/sec 804.830M items/sec     2.383            {'family_index': 3, 'per_family_instance_index': 5, 'run_name': 'GreaterArrayScalarString/32768/0', 'repetitions': 1, 'repetition_index': 0, 'threads': 1, 'iterations': 16776, 'null_percent': 0.0}
              GreaterArrayScalarString/32768/1 779.519M items/sec 797.986M items/sec     2.369          {'family_index': 3, 'per_family_instance_index': 4, 'run_name': 'GreaterArrayScalarString/32768/1', 'repetitions': 1, 'repetition_index': 0, 'threads': 1, 'iterations': 16620, 'null_percent': 100.0}
             GreaterArrayScalarString/32768/10 780.164M items/sec 798.110M items/sec     2.300          {'family_index': 3, 'per_family_instance_index': 2, 'run_name': 'GreaterArrayScalarString/32768/10', 'repetitions': 1, 'repetition_index': 0, 'threads': 1, 'iterations': 16631, 'null_percent': 10.0}
        MaxElementWiseArrayArrayInt64/32768/10 231.824M items/sec 236.831M items/sec     2.160      {'family_index': 4, 'per_family_instance_index': 2, 'run_name': 'MaxElementWiseArrayArrayInt64/32768/10', 'repetitions': 1, 'repetition_index': 0, 'threads': 1, 'iterations': 4934, 'null_percent': 10.0}
              GreaterArrayScalarString/32768/2 780.730M items/sec 796.308M items/sec     1.995           {'family_index': 3, 'per_family_instance_index': 3, 'run_name': 'GreaterArrayScalarString/32768/2', 'repetitions': 1, 'repetition_index': 0, 'threads': 1, 'iterations': 16624, 'null_percent': 50.0}
            GreaterArrayScalarString/32768/100 780.414M items/sec 795.846M items/sec     1.977          {'family_index': 3, 'per_family_instance_index': 1, 'run_name': 'GreaterArrayScalarString/32768/100', 'repetitions': 1, 'repetition_index': 0, 'threads': 1, 'iterations': 16636, 'null_percent': 1.0}
       MaxElementWiseArrayScalarInt64/32768/10 603.255M items/sec 612.917M items/sec     1.602    {'family_index': 5, 'per_family_instance_index': 2, 'run_name': 'MaxElementWiseArrayScalarInt64/32768/10', 'repetitions': 1, 'repetition_index': 0, 'threads': 1, 'iterations': 12784, 'null_percent': 10.0}
    MaxElementWiseArrayArrayString/32768/10000  41.111M items/sec  41.547M items/sec     1.061   {'family_index': 6, 'per_family_instance_index': 0, 'run_name': 'MaxElementWiseArrayArrayString/32768/10000', 'repetitions': 1, 'repetition_index': 0, 'threads': 1, 'iterations': 873, 'null_percent': 0.01}
      MaxElementWiseArrayArrayString/32768/100  41.341M items/sec  41.639M items/sec     0.721      {'family_index': 6, 'per_family_instance_index': 1, 'run_name': 'MaxElementWiseArrayArrayString/32768/100', 'repetitions': 1, 'repetition_index': 0, 'threads': 1, 'iterations': 860, 'null_percent': 1.0}
       MaxElementWiseArrayScalarString/32768/1  90.721M items/sec  90.225M items/sec    -0.547    {'family_index': 7, 'per_family_instance_index': 4, 'run_name': 'MaxElementWiseArrayScalarString/32768/1', 'repetitions': 1, 'repetition_index': 0, 'threads': 1, 'iterations': 1935, 'null_percent': 100.0}
               GreaterArrayArrayString/32768/1 653.076M items/sec 648.121M items/sec    -0.759           {'family_index': 2, 'per_family_instance_index': 4, 'run_name': 'GreaterArrayArrayString/32768/1', 'repetitions': 1, 'repetition_index': 0, 'threads': 1, 'iterations': 13918, 'null_percent': 100.0}
             GreaterArrayArrayString/32768/100 122.658M items/sec 121.365M items/sec    -1.055            {'family_index': 2, 'per_family_instance_index': 1, 'run_name': 'GreaterArrayArrayString/32768/100', 'repetitions': 1, 'repetition_index': 0, 'threads': 1, 'iterations': 2629, 'null_percent': 1.0}
        MaxElementWiseArrayArrayString/32768/2  42.217M items/sec  41.698M items/sec    -1.230       {'family_index': 6, 'per_family_instance_index': 3, 'run_name': 'MaxElementWiseArrayArrayString/32768/2', 'repetitions': 1, 'repetition_index': 0, 'threads': 1, 'iterations': 887, 'null_percent': 50.0}
              GreaterArrayArrayString/32768/10 121.931M items/sec 120.381M items/sec    -1.271            {'family_index': 2, 'per_family_instance_index': 2, 'run_name': 'GreaterArrayArrayString/32768/10', 'repetitions': 1, 'repetition_index': 0, 'threads': 1, 'iterations': 2593, 'null_percent': 10.0}
        MaxElementWiseArrayArrayString/32768/1 183.437M items/sec 181.061M items/sec    -1.295     {'family_index': 6, 'per_family_instance_index': 4, 'run_name': 'MaxElementWiseArrayArrayString/32768/1', 'repetitions': 1, 'repetition_index': 0, 'threads': 1, 'iterations': 3919, 'null_percent': 100.0}
           GreaterArrayArrayString/32768/10000 123.361M items/sec 121.560M items/sec    -1.460         {'family_index': 2, 'per_family_instance_index': 0, 'run_name': 'GreaterArrayArrayString/32768/10000', 'repetitions': 1, 'repetition_index': 0, 'threads': 1, 'iterations': 2631, 'null_percent': 0.01}
               GreaterArrayArrayString/32768/2 208.825M items/sec 205.202M items/sec    -1.735             {'family_index': 2, 'per_family_instance_index': 3, 'run_name': 'GreaterArrayArrayString/32768/2', 'repetitions': 1, 'repetition_index': 0, 'threads': 1, 'iterations': 4440, 'null_percent': 50.0}
       MaxElementWiseArrayArrayString/32768/10  41.613M items/sec  40.830M items/sec    -1.881      {'family_index': 6, 'per_family_instance_index': 2, 'run_name': 'MaxElementWiseArrayArrayString/32768/10', 'repetitions': 1, 'repetition_index': 0, 'threads': 1, 'iterations': 881, 'null_percent': 10.0}
        MaxElementWiseArrayArrayString/32768/0  42.734M items/sec  41.408M items/sec    -3.104        {'family_index': 6, 'per_family_instance_index': 5, 'run_name': 'MaxElementWiseArrayArrayString/32768/0', 'repetitions': 1, 'repetition_index': 0, 'threads': 1, 'iterations': 901, 'null_percent': 0.0}
   MaxElementWiseArrayScalarString/32768/10000  55.931M items/sec  53.645M items/sec    -4.088 {'family_index': 7, 'per_family_instance_index': 0, 'run_name': 'MaxElementWiseArrayScalarString/32768/10000', 'repetitions': 1, 'repetition_index': 0, 'threads': 1, 'iterations': 1185, 'null_percent': 0.01}
     MaxElementWiseArrayScalarString/32768/100  55.952M items/sec  53.643M items/sec    -4.126    {'family_index': 7, 'per_family_instance_index': 1, 'run_name': 'MaxElementWiseArrayScalarString/32768/100', 'repetitions': 1, 'repetition_index': 0, 'threads': 1, 'iterations': 1171, 'null_percent': 1.0}
      MaxElementWiseArrayScalarString/32768/10  55.265M items/sec  52.728M items/sec    -4.592    {'family_index': 7, 'per_family_instance_index': 2, 'run_name': 'MaxElementWiseArrayScalarString/32768/10', 'repetitions': 1, 'repetition_index': 0, 'threads': 1, 'iterations': 1171, 'null_percent': 10.0}
   
   -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
   Regressions: (2)
   -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
                                 benchmark          baseline         contender  change %                                                                                                                                                                                                    counters
   MaxElementWiseArrayScalarString/32768/2 53.362M items/sec 50.664M items/sec    -5.055 {'family_index': 7, 'per_family_instance_index': 3, 'run_name': 'MaxElementWiseArrayScalarString/32768/2', 'repetitions': 1, 'repetition_index': 0, 'threads': 1, 'iterations': 1133, 'null_percent': 50.0}
   MaxElementWiseArrayScalarString/32768/0 57.910M items/sec 53.893M items/sec    -6.937  {'family_index': 7, 'per_family_instance_index': 5, 'run_name': 'MaxElementWiseArrayScalarString/32768/0', 'repetitions': 1, 'repetition_index': 0, 'threads': 1, 'iterations': 1208, 'null_percent': 0.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.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org