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


   Here are some vector-hash benchmarks comparing this branch with master. The 
performance "regressions" are for the 99%-100% null cases, I'll take a quick 
look at these in the implementation but these perf changes don't concern me
   
   ```
   $ archery benchmark diff --cc=gcc-8 --cxx=g++-8 ARROW-9214 master 
--suite-filter=vector-hash
                     benchmark          baseline        contender  change %     
                                                       counters
   35           UniqueInt64/13     3.377 GiB/sec   14.983 GiB/sec   343.678   
{'iterations': 76, 'null_percent': 100.0, 'num_unique': 100000.0}
   23            UniqueInt64/6     3.401 GiB/sec   14.871 GiB/sec   337.243     
 {'iterations': 76, 'null_percent': 100.0, 'num_unique': 100.0}
   42            UniqueInt64/5     2.642 GiB/sec    7.320 GiB/sec   177.036     
  {'iterations': 57, 'null_percent': 99.0, 'num_unique': 100.0}
   27           UniqueInt64/12     2.268 GiB/sec    5.175 GiB/sec   128.206    
{'iterations': 50, 'null_percent': 99.0, 'num_unique': 100000.0}
   33            UniqueInt64/0     2.121 GiB/sec    4.793 GiB/sec   125.974     
   {'iterations': 48, 'null_percent': 0.0, 'num_unique': 100.0}
   31            UniqueInt64/1     1.994 GiB/sec    4.212 GiB/sec   111.160     
   {'iterations': 44, 'null_percent': 0.1, 'num_unique': 100.0}
   11           UniqueInt64/10   565.967 MiB/sec    1.054 GiB/sec    90.635    
{'iterations': 12, 'null_percent': 10.0, 'num_unique': 100000.0}
   44            UniqueInt64/2     1.810 GiB/sec    3.215 GiB/sec    77.589     
   {'iterations': 41, 'null_percent': 1.0, 'num_unique': 100.0}
   34            UniqueInt64/9   679.320 MiB/sec    1.113 GiB/sec    67.808     
{'iterations': 14, 'null_percent': 1.0, 'num_unique': 100000.0}
   32           UniqueInt64/11   618.468 MiB/sec  959.261 MiB/sec    55.103    
{'iterations': 12, 'null_percent': 50.0, 'num_unique': 100000.0}
   3             UniqueInt64/8   785.346 MiB/sec    1.186 GiB/sec    54.663     
{'iterations': 18, 'null_percent': 0.1, 'num_unique': 100000.0}
   7             UniqueInt64/7   846.630 MiB/sec    1.241 GiB/sec    50.088     
{'iterations': 18, 'null_percent': 0.0, 'num_unique': 100000.0}
   8             UniqueInt64/3     1.510 GiB/sec    2.212 GiB/sec    46.508     
  {'iterations': 34, 'null_percent': 10.0, 'num_unique': 100.0}
   28            UniqueInt64/4     1.066 GiB/sec    1.398 GiB/sec    31.131     
  {'iterations': 24, 'null_percent': 50.0, 'num_unique': 100.0}
   24          BuildDictionary  1014.450 MiB/sec    1.282 GiB/sec    29.367     
        {'iterations': 177, 'null_percent': 11.111047470674487}
   19            UniqueUInt8/1     1.322 GiB/sec    1.453 GiB/sec     9.968     
  {'iterations': 241, 'null_percent': 0.1, 'num_unique': 200.0}
   12            UniqueUInt8/3   434.316 MiB/sec  443.925 MiB/sec     2.212     
  {'iterations': 76, 'null_percent': 10.0, 'num_unique': 200.0}
   30   UniqueString100bytes/8     1.025 GiB/sec    1.043 GiB/sec     1.705     
 {'iterations': 2, 'null_percent': 0.1, 'num_unique': 100000.0}
   22            UniqueUInt8/2   837.222 MiB/sec  848.342 MiB/sec     1.328     
  {'iterations': 145, 'null_percent': 1.0, 'num_unique': 200.0}
   29            UniqueUInt8/6     1.759 GiB/sec    1.778 GiB/sec     1.065     
{'iterations': 316, 'null_percent': 100.0, 'num_unique': 200.0}
   47   UniqueString100bytes/1     4.643 GiB/sec    4.661 GiB/sec     0.373     
    {'iterations': 8, 'null_percent': 0.1, 'num_unique': 100.0}
   25   UniqueString100bytes/2     4.654 GiB/sec    4.669 GiB/sec     0.326     
    {'iterations': 8, 'null_percent': 1.0, 'num_unique': 100.0}
   6     UniqueString10bytes/8   311.452 MiB/sec  310.589 MiB/sec    -0.277     
 {'iterations': 5, 'null_percent': 0.1, 'num_unique': 100000.0}
   43    UniqueString10bytes/7   316.291 MiB/sec  315.246 MiB/sec    -0.330     
 {'iterations': 5, 'null_percent': 0.0, 'num_unique': 100000.0}
   37  UniqueString100bytes/11     1.883 GiB/sec    1.876 GiB/sec    -0.402     
{'iterations': 3, 'null_percent': 50.0, 'num_unique': 100000.0}
   15  UniqueString100bytes/10     1.130 GiB/sec    1.125 GiB/sec    -0.407     
{'iterations': 2, 'null_percent': 10.0, 'num_unique': 100000.0}
   48   UniqueString10bytes/10   333.843 MiB/sec  331.318 MiB/sec    -0.756     
{'iterations': 6, 'null_percent': 10.0, 'num_unique': 100000.0}
   2     UniqueString10bytes/9   313.340 MiB/sec  310.886 MiB/sec    -0.783     
 {'iterations': 5, 'null_percent': 1.0, 'num_unique': 100000.0}
   17            UniqueUInt8/4   210.495 MiB/sec  208.540 MiB/sec    -0.929     
  {'iterations': 37, 'null_percent': 50.0, 'num_unique': 200.0}
   36   UniqueString100bytes/7     1.038 GiB/sec    1.029 GiB/sec    -0.950     
 {'iterations': 2, 'null_percent': 0.0, 'num_unique': 100000.0}
   20   UniqueString100bytes/0     4.733 GiB/sec    4.676 GiB/sec    -1.217     
    {'iterations': 9, 'null_percent': 0.0, 'num_unique': 100.0}
   9     UniqueString10bytes/1   864.482 MiB/sec  846.163 MiB/sec    -2.119     
   {'iterations': 15, 'null_percent': 0.1, 'num_unique': 100.0}
   40   UniqueString100bytes/9     1.053 GiB/sec    1.030 GiB/sec    -2.164     
 {'iterations': 2, 'null_percent': 1.0, 'num_unique': 100000.0}
   49    UniqueString10bytes/0   888.924 MiB/sec  867.735 MiB/sec    -2.384     
   {'iterations': 15, 'null_percent': 0.0, 'num_unique': 100.0}
   50    UniqueString10bytes/2   847.994 MiB/sec  814.093 MiB/sec    -3.998     
   {'iterations': 15, 'null_percent': 1.0, 'num_unique': 100.0}
   18    BuildStringDictionary    83.145 MiB/sec   79.804 MiB/sec    -4.018     
                                            {'iterations': 193}
   4    UniqueString100bytes/3     4.929 GiB/sec    4.705 GiB/sec    -4.537     
   {'iterations': 9, 'null_percent': 10.0, 'num_unique': 100.0}
   0    UniqueString100bytes/4     6.460 GiB/sec    6.033 GiB/sec    -6.613     
  {'iterations': 11, 'null_percent': 50.0, 'num_unique': 100.0}
   39   UniqueString10bytes/11   523.332 MiB/sec  485.400 MiB/sec    -7.248     
{'iterations': 9, 'null_percent': 50.0, 'num_unique': 100000.0}
   46            UniqueUInt8/0     2.000 GiB/sec    1.839 GiB/sec    -8.028     
  {'iterations': 357, 'null_percent': 0.0, 'num_unique': 200.0}
   5     UniqueString10bytes/3   860.971 MiB/sec  780.666 MiB/sec    -9.327     
  {'iterations': 15, 'null_percent': 10.0, 'num_unique': 100.0}
   16    UniqueString10bytes/4  1001.379 MiB/sec  853.948 MiB/sec   -14.723     
  {'iterations': 18, 'null_percent': 50.0, 'num_unique': 100.0}
   45            UniqueUInt8/5     1.113 GiB/sec  951.864 MiB/sec   -16.483     
 {'iterations': 198, 'null_percent': 99.0, 'num_unique': 200.0}
   13  UniqueString100bytes/12    55.644 GiB/sec   26.845 GiB/sec   -51.757    
{'iterations': 90, 'null_percent': 99.0, 'num_unique': 100000.0}
   21   UniqueString10bytes/12     6.835 GiB/sec    3.059 GiB/sec   -55.249   
{'iterations': 115, 'null_percent': 99.0, 'num_unique': 100000.0}
   41   UniqueString100bytes/5    87.160 GiB/sec   33.534 GiB/sec   -61.526     
 {'iterations': 158, 'null_percent': 99.0, 'num_unique': 100.0}
   10    UniqueString10bytes/5     9.343 GiB/sec    3.447 GiB/sec   -63.110     
 {'iterations': 167, 'null_percent': 99.0, 'num_unique': 100.0}
   1    UniqueString10bytes/13    27.211 GiB/sec    4.708 GiB/sec   -82.700  
{'iterations': 492, 'null_percent': 100.0, 'num_unique': 100000.0}
   26    UniqueString10bytes/6    27.206 GiB/sec    4.698 GiB/sec   -82.731     
{'iterations': 490, 'null_percent': 100.0, 'num_unique': 100.0}
   38   UniqueString100bytes/6   272.658 GiB/sec   47.068 GiB/sec   -82.737     
{'iterations': 470, 'null_percent': 100.0, 'num_unique': 100.0}
   14  UniqueString100bytes/13   272.585 GiB/sec   46.815 GiB/sec   -82.826  
{'iterations': 490, 'null_percent': 100.0, 'num_unique': 100000.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:
[email protected]


Reply via email to