felipecrv commented on PR #40416:
URL: https://github.com/apache/arrow/pull/40416#issuecomment-2003957845

   I spent a lot of time trying to figure out what could possibly be causing 
these regressions, but it turns out to be randomness caused by memory 
operations and branch predictions.
   
   When running the benchmarks on a commit that doesn't even touch the code I 
get sizeable regressions too.
   
   ```
   
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
   Regressions: (42)
   
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
                                      benchmark           baseline          
contender  change %                                                             
                                                                                
                                                                                
                                                   counters
          FilterFSLInt64FilterNoNulls/4194304/8     12.655 GiB/sec     11.998 
GiB/sec    -5.188                                               
{'family_index': 2, 'per_family_instance_index': 8, 'run_name': 
'FilterFSLInt64FilterNoNulls/4194304/8', 'repetitions': 1, 'repetition_index': 
0, 'threads': 1, 'iterations': 2257, 'data null%': 1.0, 'mask null%': 0.0, 
'select%': 1.0}
               FilterRecordBatchWithNulls/100/9      5.371 GiB/sec      5.078 
GiB/sec    -5.448  {'family_index': 7, 'per_family_instance_index': 39, 
'run_name': 'FilterRecordBatchWithNulls/100/9', 'repetitions': 1, 
'repetition_index': 0, 'threads': 1, 'iterations': 50, 'data null%': 10.0, 
'extracted_size': 75952000.0, 'mask null%': 5.0, 'num_cols': 100.0, 'select%': 
99.9}
             FilterInt64FilterNoNulls/4194304/7      1.658 GiB/sec      1.566 
GiB/sec    -5.562                                                  
{'family_index': 0, 'per_family_instance_index': 7, 'run_name': 
'FilterInt64FilterNoNulls/4194304/7', 'repetitions': 1, 'repetition_index': 0, 
'threads': 1, 'iterations': 299, 'data null%': 1.0, 'mask null%': 0.0, 
'select%': 50.0}
                FilterRecordBatchWithNulls/50/7      3.781 GiB/sec      3.570 
GiB/sec    -5.596     {'family_index': 7, 'per_family_instance_index': 22, 
'run_name': 'FilterRecordBatchWithNulls/50/7', 'repetitions': 1, 
'repetition_index': 0, 'threads': 1, 'iterations': 68, 'data null%': 1.0, 
'extracted_size': 37909600.0, 'mask null%': 5.0, 'num_cols': 50.0, 'select%': 
50.0}
              FilterRecordBatchWithNulls/100/10      3.966 GiB/sec      3.733 
GiB/sec    -5.883 {'family_index': 7, 'per_family_instance_index': 40, 
'run_name': 'FilterRecordBatchWithNulls/100/10', 'repetitions': 1, 
'repetition_index': 0, 'threads': 1, 'iterations': 69, 'data null%': 10.0, 
'extracted_size': 37952800.0, 'mask null%': 5.0, 'num_cols': 100.0, 'select%': 
50.0}
     TakeInt64RandomIndicesWithNulls/4194304/10 109.672M items/sec 102.977M 
items/sec    -6.104                                                             
               {'family_index': 9, 'per_family_instance_index': 1, 'run_name': 
'TakeInt64RandomIndicesWithNulls/4194304/10', 'repetitions': 1, 
'repetition_index': 0, 'threads': 1, 'iterations': 18, 'null_percent': 10.0}
   TakeInt64RandomIndicesWithNulls/4194304/1000 134.146M items/sec 125.634M 
items/sec    -6.346                                                             
              {'family_index': 9, 'per_family_instance_index': 0, 'run_name': 
'TakeInt64RandomIndicesWithNulls/4194304/1000', 'repetitions': 1, 
'repetition_index': 0, 'threads': 1, 'iterations': 22, 'null_percent': 0.1}
       TakeInt64RandomIndicesNoNulls/4194304/10 142.865M items/sec 133.343M 
items/sec    -6.665                                                             
                 {'family_index': 8, 'per_family_instance_index': 1, 
'run_name': 'TakeInt64RandomIndicesNoNulls/4194304/10', 'repetitions': 1, 
'repetition_index': 0, 'threads': 1, 'iterations': 24, 'null_percent': 10.0}
            FilterStringFilterNoNulls/4194304/7      1.261 GiB/sec      1.177 
GiB/sec    -6.730                                                 
{'family_index': 4, 'per_family_instance_index': 7, 'run_name': 
'FilterStringFilterNoNulls/4194304/7', 'repetitions': 1, 'repetition_index': 0, 
'threads': 1, 'iterations': 224, 'data null%': 1.0, 'mask null%': 0.0, 
'select%': 50.0}
                FilterRecordBatchWithNulls/50/6      6.255 GiB/sec      5.830 
GiB/sec    -6.799     {'family_index': 7, 'per_family_instance_index': 21, 
'run_name': 'FilterRecordBatchWithNulls/50/6', 'repetitions': 1, 
'repetition_index': 0, 'threads': 1, 'iterations': 58, 'data null%': 1.0, 
'extracted_size': 75924000.0, 'mask null%': 5.0, 'num_cols': 50.0, 'select%': 
99.9}
     TakeInt64RandomIndicesNoNulls/4194304/1000 136.858M items/sec 127.408M 
items/sec    -6.906                                                             
                {'family_index': 8, 'per_family_instance_index': 0, 'run_name': 
'TakeInt64RandomIndicesNoNulls/4194304/1000', 'repetitions': 1, 
'repetition_index': 0, 'threads': 1, 'iterations': 23, 'null_percent': 0.1}
               FilterRecordBatchWithNulls/100/0      5.548 GiB/sec      5.157 
GiB/sec    -7.059   {'family_index': 7, 'per_family_instance_index': 30, 
'run_name': 'FilterRecordBatchWithNulls/100/0', 'repetitions': 1, 
'repetition_index': 0, 'threads': 1, 'iterations': 51, 'data null%': 0.0, 
'extracted_size': 75952000.0, 'mask null%': 5.0, 'num_cols': 100.0, 'select%': 
99.9}
            FilterInt64FilterNoNulls/4194304/10      1.625 GiB/sec      1.505 
GiB/sec    -7.385                                               
{'family_index': 0, 'per_family_instance_index': 10, 'run_name': 
'FilterInt64FilterNoNulls/4194304/10', 'repetitions': 1, 'repetition_index': 0, 
'threads': 1, 'iterations': 294, 'data null%': 10.0, 'mask null%': 0.0, 
'select%': 50.0}
              FilterRecordBatchWithNulls/100/12      5.554 GiB/sec      5.144 
GiB/sec    -7.385 {'family_index': 7, 'per_family_instance_index': 42, 
'run_name': 'FilterRecordBatchWithNulls/100/12', 'repetitions': 1, 
'repetition_index': 0, 'threads': 1, 'iterations': 52, 'data null%': 90.0, 
'extracted_size': 75952000.0, 'mask null%': 5.0, 'num_cols': 100.0, 'select%': 
99.9}
            FilterStringFilterNoNulls/4194304/3      2.469 GiB/sec      2.285 
GiB/sec    -7.461                                                 
{'family_index': 4, 'per_family_instance_index': 3, 'run_name': 
'FilterStringFilterNoNulls/4194304/3', 'repetitions': 1, 'repetition_index': 0, 
'threads': 1, 'iterations': 446, 'data null%': 0.1, 'mask null%': 0.0, 
'select%': 99.9}
               FilterRecordBatchWithNulls/100/3      5.536 GiB/sec      5.100 
GiB/sec    -7.866   {'family_index': 7, 'per_family_instance_index': 33, 
'run_name': 'FilterRecordBatchWithNulls/100/3', 'repetitions': 1, 
'repetition_index': 0, 'threads': 1, 'iterations': 50, 'data null%': 0.1, 
'extracted_size': 75952000.0, 'mask null%': 5.0, 'num_cols': 100.0, 'select%': 
99.9}
            FilterStringFilterNoNulls/4194304/0      2.847 GiB/sec      2.617 
GiB/sec    -8.056                                                 
{'family_index': 4, 'per_family_instance_index': 0, 'run_name': 
'FilterStringFilterNoNulls/4194304/0', 'repetitions': 1, 'repetition_index': 0, 
'threads': 1, 'iterations': 521, 'data null%': 0.0, 'mask null%': 0.0, 
'select%': 99.9}
            FilterInt64FilterNoNulls/4194304/13      1.636 GiB/sec      1.501 
GiB/sec    -8.242                                               
{'family_index': 0, 'per_family_instance_index': 13, 'run_name': 
'FilterInt64FilterNoNulls/4194304/13', 'repetitions': 1, 'repetition_index': 0, 
'threads': 1, 'iterations': 294, 'data null%': 90.0, 'mask null%': 0.0, 
'select%': 50.0}
          FilterFSLInt64FilterNoNulls/4194304/4      1.101 GiB/sec      1.004 
GiB/sec    -8.853                                               
{'family_index': 2, 'per_family_instance_index': 4, 'run_name': 
'FilterFSLInt64FilterNoNulls/4194304/4', 'repetitions': 1, 'repetition_index': 
0, 'threads': 1, 'iterations': 197, 'data null%': 0.1, 'mask null%': 0.0, 
'select%': 50.0}
               FilterRecordBatchWithNulls/100/7      3.947 GiB/sec      3.593 
GiB/sec    -8.964   {'family_index': 7, 'per_family_instance_index': 37, 
'run_name': 'FilterRecordBatchWithNulls/100/7', 'repetitions': 1, 
'repetition_index': 0, 'threads': 1, 'iterations': 75, 'data null%': 1.0, 
'extracted_size': 37952800.0, 'mask null%': 5.0, 'num_cols': 100.0, 'select%': 
50.0}
          FilterFSLInt64FilterNoNulls/4194304/5     13.319 GiB/sec     12.088 
GiB/sec    -9.246                                               
{'family_index': 2, 'per_family_instance_index': 5, 'run_name': 
'FilterFSLInt64FilterNoNulls/4194304/5', 'repetitions': 1, 'repetition_index': 
0, 'threads': 1, 'iterations': 2365, 'data null%': 0.1, 'mask null%': 0.0, 
'select%': 1.0}
           FilterInt64FilterWithNulls/4194304/6      2.960 GiB/sec      2.685 
GiB/sec    -9.291                                                
{'family_index': 1, 'per_family_instance_index': 6, 'run_name': 
'FilterInt64FilterWithNulls/4194304/6', 'repetitions': 1, 'repetition_index': 
0, 'threads': 1, 'iterations': 526, 'data null%': 1.0, 'mask null%': 5.0, 
'select%': 99.9}
      TakeInt64RandomIndicesWithNulls/4194304/1   1.451G items/sec   1.315G 
items/sec    -9.434                                                             
              {'family_index': 9, 'per_family_instance_index': 3, 'run_name': 
'TakeInt64RandomIndicesWithNulls/4194304/1', 'repetitions': 1, 
'repetition_index': 0, 'threads': 1, 'iterations': 242, 'null_percent': 100.0}
          FilterFSLInt64FilterNoNulls/4194304/2     13.907 GiB/sec     12.463 
GiB/sec   -10.381                                               
{'family_index': 2, 'per_family_instance_index': 2, 'run_name': 
'FilterFSLInt64FilterNoNulls/4194304/2', 'repetitions': 1, 'repetition_index': 
0, 'threads': 1, 'iterations': 2485, 'data null%': 0.0, 'mask null%': 0.0, 
'select%': 1.0}
          FilterFSLInt64FilterNoNulls/4194304/1      1.274 GiB/sec      1.132 
GiB/sec   -11.141                                               
{'family_index': 2, 'per_family_instance_index': 1, 'run_name': 
'FilterFSLInt64FilterNoNulls/4194304/1', 'repetitions': 1, 'repetition_index': 
0, 'threads': 1, 'iterations': 230, 'data null%': 0.0, 'mask null%': 0.0, 
'select%': 50.0}
           FilterStringFilterNoNulls/4194304/10      1.245 GiB/sec      1.100 
GiB/sec   -11.619                                              {'family_index': 
4, 'per_family_instance_index': 10, 'run_name': 
'FilterStringFilterNoNulls/4194304/10', 'repetitions': 1, 'repetition_index': 
0, 'threads': 1, 'iterations': 227, 'data null%': 10.0, 'mask null%': 0.0, 
'select%': 50.0}
            FilterStringFilterNoNulls/4194304/9    850.490 MiB/sec    749.768 
MiB/sec   -11.843                                                
{'family_index': 4, 'per_family_instance_index': 9, 'run_name': 
'FilterStringFilterNoNulls/4194304/9', 'repetitions': 1, 'repetition_index': 0, 
'threads': 1, 'iterations': 147, 'data null%': 10.0, 'mask null%': 0.0, 
'select%': 99.9}
           FilterInt64FilterWithNulls/4194304/3      3.212 GiB/sec      2.822 
GiB/sec   -12.143                                                
{'family_index': 1, 'per_family_instance_index': 3, 'run_name': 
'FilterInt64FilterWithNulls/4194304/3', 'repetitions': 1, 'repetition_index': 
0, 'threads': 1, 'iterations': 570, 'data null%': 0.1, 'mask null%': 5.0, 
'select%': 99.9}
            FilterStringFilterNoNulls/4194304/6      1.360 GiB/sec      1.192 
GiB/sec   -12.345                                                 
{'family_index': 4, 'per_family_instance_index': 6, 'run_name': 
'FilterStringFilterNoNulls/4194304/6', 'repetitions': 1, 'repetition_index': 0, 
'threads': 1, 'iterations': 243, 'data null%': 1.0, 'mask null%': 0.0, 
'select%': 99.9}
          FilterStringFilterWithNulls/4194304/4      1.252 GiB/sec      1.085 
GiB/sec   -13.320                                               
{'family_index': 5, 'per_family_instance_index': 4, 'run_name': 
'FilterStringFilterWithNulls/4194304/4', 'repetitions': 1, 'repetition_index': 
0, 'threads': 1, 'iterations': 220, 'data null%': 0.1, 'mask null%': 5.0, 
'select%': 50.0}
           FilterStringFilterNoNulls/4194304/13    277.736 MiB/sec    240.290 
MiB/sec   -13.483                                               
{'family_index': 4, 'per_family_instance_index': 13, 'run_name': 
'FilterStringFilterNoNulls/4194304/13', 'repetitions': 1, 'repetition_index': 
0, 'threads': 1, 'iterations': 48, 'data null%': 90.0, 'mask null%': 0.0, 
'select%': 50.0}
          FilterStringFilterWithNulls/4194304/3    976.622 MiB/sec    844.007 
MiB/sec   -13.579                                               
{'family_index': 5, 'per_family_instance_index': 3, 'run_name': 
'FilterStringFilterWithNulls/4194304/3', 'repetitions': 1, 'repetition_index': 
0, 'threads': 1, 'iterations': 172, 'data null%': 0.1, 'mask null%': 5.0, 
'select%': 99.9}
           FilterInt64FilterWithNulls/4194304/0      3.268 GiB/sec      2.789 
GiB/sec   -14.677                                                
{'family_index': 1, 'per_family_instance_index': 0, 'run_name': 
'FilterInt64FilterWithNulls/4194304/0', 'repetitions': 1, 'repetition_index': 
0, 'threads': 1, 'iterations': 567, 'data null%': 0.0, 'mask null%': 5.0, 
'select%': 99.9}
          FilterStringFilterWithNulls/4194304/1      1.272 GiB/sec      1.084 
GiB/sec   -14.788                                               
{'family_index': 5, 'per_family_instance_index': 1, 'run_name': 
'FilterStringFilterWithNulls/4194304/1', 'repetitions': 1, 'repetition_index': 
0, 'threads': 1, 'iterations': 221, 'data null%': 0.0, 'mask null%': 5.0, 
'select%': 50.0}
          FilterStringFilterWithNulls/4194304/6    952.154 MiB/sec    800.961 
MiB/sec   -15.879                                               
{'family_index': 5, 'per_family_instance_index': 6, 'run_name': 
'FilterStringFilterWithNulls/4194304/6', 'repetitions': 1, 'repetition_index': 
0, 'threads': 1, 'iterations': 165, 'data null%': 1.0, 'mask null%': 5.0, 
'select%': 99.9}
         FilterStringFilterWithNulls/4194304/10      1.236 GiB/sec      1.038 
GiB/sec   -16.001                                            {'family_index': 
5, 'per_family_instance_index': 10, 'run_name': 
'FilterStringFilterWithNulls/4194304/10', 'repetitions': 1, 'repetition_index': 
0, 'threads': 1, 'iterations': 223, 'data null%': 10.0, 'mask null%': 5.0, 
'select%': 50.0}
          FilterStringFilterWithNulls/4194304/7      1.254 GiB/sec      1.052 
GiB/sec   -16.104                                               
{'family_index': 5, 'per_family_instance_index': 7, 'run_name': 
'FilterStringFilterWithNulls/4194304/7', 'repetitions': 1, 'repetition_index': 
0, 'threads': 1, 'iterations': 223, 'data null%': 1.0, 'mask null%': 5.0, 
'select%': 50.0}
          FilterStringFilterWithNulls/4194304/0    995.479 MiB/sec    831.870 
MiB/sec   -16.435                                               
{'family_index': 5, 'per_family_instance_index': 0, 'run_name': 
'FilterStringFilterWithNulls/4194304/0', 'repetitions': 1, 'repetition_index': 
0, 'threads': 1, 'iterations': 174, 'data null%': 0.0, 'mask null%': 5.0, 
'select%': 99.9}
          FilterStringFilterWithNulls/4194304/9    897.171 MiB/sec    739.897 
MiB/sec   -17.530                                              {'family_index': 
5, 'per_family_instance_index': 9, 'run_name': 
'FilterStringFilterWithNulls/4194304/9', 'repetitions': 1, 'repetition_index': 
0, 'threads': 1, 'iterations': 157, 'data null%': 10.0, 'mask null%': 5.0, 
'select%': 99.9}
         FilterStringFilterWithNulls/4194304/13    258.601 MiB/sec    203.408 
MiB/sec   -21.343                                             {'family_index': 
5, 'per_family_instance_index': 13, 'run_name': 
'FilterStringFilterWithNulls/4194304/13', 'repetitions': 1, 'repetition_index': 
0, 'threads': 1, 'iterations': 45, 'data null%': 90.0, 'mask null%': 5.0, 
'select%': 50.0}
         FilterStringFilterWithNulls/4194304/12    370.972 MiB/sec    278.844 
MiB/sec   -24.834                                             {'family_index': 
5, 'per_family_instance_index': 12, 'run_name': 
'FilterStringFilterWithNulls/4194304/12', 'repetitions': 1, 'repetition_index': 
0, 'threads': 1, 'iterations': 65, 'data null%': 90.0, 'mask null%': 5.0, 
'select%': 99.9}
           FilterStringFilterNoNulls/4194304/12    442.746 MiB/sec    298.930 
MiB/sec   -32.483                                               
{'family_index': 4, 'per_family_instance_index': 12, 'run_name': 
'FilterStringFilterNoNulls/4194304/12', 'repetitions': 1, 'repetition_index': 
0, 'threads': 1, 'iterations': 77, 'data null%': 90.0, 'mask null%': 0.0, 
'select%': 99.9}
           ```


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to