neilconway commented on PR #20588:
URL: https://github.com/apache/datafusion/pull/20588#issuecomment-3994664263

   Here are the results on the Hetzner machine with 512 row chunks:
   
   ```
   group                                          base                          
         target
     -----                                          ----                        
           ------
     array_has_all/all_found_small_needle/10        4.73      6.5±0.03ms        
? ?/sec    1.00   1377.3±7.28µs        ? ?/sec
     array_has_all/all_found_small_needle/100       1.50     15.5±0.05ms        
? ?/sec    1.00     10.3±0.03ms        ? ?/sec
     array_has_all/all_found_small_needle/500       1.05     54.7±0.15ms        
? ?/sec    1.00     52.2±1.56ms        ? ?/sec
     array_has_all/not_all_found/10                 5.84      6.3±0.07ms        
? ?/sec    1.00   1087.9±4.54µs        ? ?/sec
     array_has_all/not_all_found/100                1.60     14.3±0.33ms        
? ?/sec    1.00      9.0±0.08ms        ? ?/sec
     array_has_all/not_all_found/500                1.10     49.0±0.13ms        
? ?/sec    1.00     44.4±0.50ms        ? ?/sec
     array_has_all_strings/all_found/10             2.73      5.4±0.02ms        
? ?/sec    1.00  1958.8±19.92µs        ? ?/sec
     array_has_all_strings/all_found/100            1.36     15.1±0.06ms        
? ?/sec    1.00     11.1±0.08ms        ? ?/sec
     array_has_all_strings/all_found/500            1.13     60.6±1.65ms        
? ?/sec    1.00     53.8±1.26ms        ? ?/sec
     array_has_all_strings/not_all_found/10         3.03      4.0±0.04ms        
? ?/sec    1.00   1305.8±9.69µs        ? ?/sec
     array_has_all_strings/not_all_found/100        1.42     13.6±0.08ms        
? ?/sec    1.00      9.5±0.05ms        ? ?/sec
     array_has_all_strings/not_all_found/500        1.14     69.7±0.27ms        
? ?/sec    1.00     61.1±0.32ms        ? ?/sec
     array_has_any/no_match/10                      3.23      7.3±0.04ms        
? ?/sec    1.00      2.3±0.01ms        ? ?/sec
     array_has_any/no_match/100                     1.22     22.9±0.10ms        
? ?/sec    1.00     18.8±0.05ms        ? ?/sec
     array_has_any/no_match/500                     1.00     92.3±0.24ms        
? ?/sec    1.01     93.2±0.39ms        ? ?/sec
     array_has_any/scalar_no_match/10               1.00      2.2±0.02ms        
? ?/sec    1.00      2.2±0.01ms        ? ?/sec
     array_has_any/scalar_no_match/100              1.00     20.8±0.17ms        
? ?/sec    1.00     20.9±0.11ms        ? ?/sec
     array_has_any/scalar_no_match/500              1.00    136.6±1.66ms        
? ?/sec    1.02    140.0±1.22ms        ? ?/sec
     array_has_any/scalar_some_match/10             1.00  1069.6±17.71µs        
? ?/sec    1.01   1075.2±5.81µs        ? ?/sec
     array_has_any/scalar_some_match/100            1.00     11.0±0.08ms        
? ?/sec    1.01     11.1±0.08ms        ? ?/sec
     array_has_any/scalar_some_match/500            1.00     84.8±0.51ms        
? ?/sec    1.01     85.7±0.71ms        ? ?/sec
     array_has_any/some_match/10                    5.06      6.4±0.04ms        
? ?/sec    1.00   1257.1±4.21µs        ? ?/sec
     array_has_any/some_match/100                   1.46     14.6±0.07ms        
? ?/sec    1.00     10.0±0.19ms        ? ?/sec
     array_has_any/some_match/500                   1.02     51.1±0.15ms        
? ?/sec    1.00     50.0±0.33ms        ? ?/sec
     array_has_any_scalar/i64_no_match/1            1.00    375.2±4.65µs        
? ?/sec    1.02   382.6±30.10µs        ? ?/sec
     array_has_any_scalar/i64_no_match/10           1.00   451.1±11.52µs        
? ?/sec    1.03   464.7±10.41µs        ? ?/sec
     array_has_any_scalar/i64_no_match/100          1.01   638.5±27.58µs        
? ?/sec    1.00   633.0±19.30µs        ? ?/sec
     array_has_any_scalar/i64_no_match/1000         1.00   543.6±11.89µs        
? ?/sec    1.00   544.2±13.11µs        ? ?/sec
     array_has_any_scalar/string_no_match/1         1.00    249.8±1.86µs        
? ?/sec    1.03    258.4±3.13µs        ? ?/sec
     array_has_any_scalar/string_no_match/10        1.00    419.9±8.88µs        
? ?/sec    1.04   438.5±10.85µs        ? ?/sec
     array_has_any_scalar/string_no_match/100       1.00   550.3±23.91µs        
? ?/sec    1.01   556.2±18.31µs        ? ?/sec
     array_has_any_scalar/string_no_match/1000      1.00    461.9±8.79µs        
? ?/sec    1.01    465.6±7.16µs        ? ?/sec
     array_has_any_strings/no_match/10              2.04      5.0±0.03ms        
? ?/sec    1.00      2.5±0.01ms        ? ?/sec
     array_has_any_strings/no_match/100             1.16     21.6±0.14ms        
? ?/sec    1.00     18.7±0.09ms        ? ?/sec
     array_has_any_strings/no_match/500             1.01    129.2±0.40ms        
? ?/sec    1.00    127.5±0.42ms        ? ?/sec
     array_has_any_strings/scalar_no_match/10       1.00    867.0±2.78µs        
? ?/sec    1.07    926.9±9.70µs        ? ?/sec
     array_has_any_strings/scalar_no_match/100      1.00      7.4±0.02ms        
? ?/sec    1.08      8.0±0.03ms        ? ?/sec
     array_has_any_strings/scalar_no_match/500      1.00     85.6±0.35ms        
? ?/sec    1.07     92.0±0.37ms        ? ?/sec
     array_has_any_strings/scalar_some_match/10     1.00   764.9±12.75µs        
? ?/sec    1.04   797.9±10.23µs        ? ?/sec
     array_has_any_strings/scalar_some_match/100    1.00      5.1±0.07ms        
? ?/sec    1.06      5.4±0.05ms        ? ?/sec
     array_has_any_strings/scalar_some_match/500    1.00     17.3±0.10ms        
? ?/sec    1.07     18.6±0.12ms        ? ?/sec
     array_has_any_strings/some_match/10            2.37      4.3±0.01ms        
? ?/sec    1.00  1810.8±172.72µs        ? ?/sec
     array_has_any_strings/some_match/100           1.32     14.2±0.30ms        
? ?/sec    1.00     10.7±0.26ms        ? ?/sec
     array_has_any_strings/some_match/500           1.04     52.4±0.16ms        
? ?/sec    1.00     50.6±0.26ms        ? ?/sec
     array_has_i64/found/10                         1.00    144.5±4.87µs        
? ?/sec    1.03    148.4±4.69µs        ? ?/sec
     array_has_i64/found/100                        1.00   629.1±59.20µs        
? ?/sec    1.03   645.1±46.47µs        ? ?/sec
     array_has_i64/found/500                        1.00      4.4±0.07ms        
? ?/sec    1.04      4.6±0.22ms        ? ?/sec
     array_has_i64/not_found/10                     1.04     69.4±0.56µs        
? ?/sec    1.00     66.6±1.26µs        ? ?/sec
     array_has_i64/not_found/100                    1.00   492.8±37.60µs        
? ?/sec    1.00   491.9±38.98µs        ? ?/sec
     array_has_i64/not_found/500                    1.00      4.3±0.09ms        
? ?/sec    1.00      4.3±0.10ms        ? ?/sec
     array_has_strings/found/10                     1.00    676.5±6.13µs        
? ?/sec    1.01    686.6±7.26µs        ? ?/sec
     array_has_strings/found/100                    1.00      2.7±0.05ms        
? ?/sec    1.02      2.7±0.02ms        ? ?/sec
     array_has_strings/found/500                    1.01     15.6±0.18ms        
? ?/sec    1.00     15.5±0.22ms        ? ?/sec
     array_has_strings/not_found/10                 1.02    152.4±1.15µs        
? ?/sec    1.00    149.3±1.57µs        ? ?/sec
     array_has_strings/not_found/100                1.00      5.7±0.02ms        
? ?/sec    1.01      5.8±0.01ms        ? ?/sec
     array_has_strings/not_found/500                1.00     16.2±0.04ms        
? ?/sec    1.01     16.4±0.55ms        ? ?/sec
   ```
   
   I'm inclined to go with 512 row chunking: it seems that this reduces cache 
pressure sufficiently, while doing half as many row-conversion calls as 256 row 
chunking. I've updated the PR with that approach.


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


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to