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

   Benchmark results for `array_remove`:
   
   ```
   $ cargo bench --bench array_remove -- --baseline array-remove-vanilla
      Compiling datafusion-functions-nested v52.1.0 
(/Users/neilconway/datafusion/datafusion/functions-nested)
       Finished `bench` profile [optimized] target(s) in 43.56s
        Running benches/array_remove.rs 
(target/release/deps/array_remove-91e68b677c2c1b2f)
   Gnuplot not found, using plotters backend
   Benchmarking array_remove_int64/remove/10: Warming up for 3.0000 s
   Warning: Unable to complete 100 samples in 5.0s. You may wish to increase 
target time to 8.3s, enable flat sampling, or reduce sample count to 50.
   array_remove_int64/remove/10
                           time:   [1.6484 ms 1.6534 ms 1.6584 ms]
                           change: [−39.829% −39.608% −39.399%] (p = 0.00 < 
0.05)
                           Performance has improved.
   Found 2 outliers among 100 measurements (2.00%)
     2 (2.00%) high mild
   array_remove_int64/remove/100
                           time:   [2.3840 ms 2.3879 ms 2.3921 ms]
                           change: [−29.524% −29.326% −29.124%] (p = 0.00 < 
0.05)
                           Performance has improved.
   Found 3 outliers among 100 measurements (3.00%)
     3 (3.00%) high mild
   array_remove_int64/remove/500
                           time:   [4.8667 ms 4.8753 ms 4.8855 ms]
                           change: [−15.864% −15.692% −15.496%] (p = 0.00 < 
0.05)
                           Performance has improved.
   Found 5 outliers among 100 measurements (5.00%)
     4 (4.00%) high mild
     1 (1.00%) high severe
   
   Benchmarking array_remove_f64/remove/10: Warming up for 3.0000 s
   Warning: Unable to complete 100 samples in 5.0s. You may wish to increase 
target time to 6.9s, enable flat sampling, or reduce sample count to 60.
   array_remove_f64/remove/10
                           time:   [1.3610 ms 1.3645 ms 1.3681 ms]
                           change: [−41.898% −41.691% −41.479%] (p = 0.00 < 
0.05)
                           Performance has improved.
   Benchmarking array_remove_f64/remove/100: Warming up for 3.0000 s
   Warning: Unable to complete 100 samples in 5.0s. You may wish to increase 
target time to 8.9s, enable flat sampling, or reduce sample count to 50.
   array_remove_f64/remove/100
                           time:   [1.7550 ms 1.7597 ms 1.7652 ms]
                           change: [−36.300% −36.079% −35.832%] (p = 0.00 < 
0.05)
                           Performance has improved.
   array_remove_f64/remove/500
                           time:   [2.8615 ms 2.8682 ms 2.8752 ms]
                           change: [−26.035% −25.800% −25.571%] (p = 0.00 < 
0.05)
                           Performance has improved.
   Found 1 outliers among 100 measurements (1.00%)
     1 (1.00%) high mild
   
   array_remove_strings/remove/10
                           time:   [2.1105 ms 2.1140 ms 2.1176 ms]
                           change: [−35.651% −35.512% −35.370%] (p = 0.00 < 
0.05)
                           Performance has improved.
   Found 1 outliers among 100 measurements (1.00%)
     1 (1.00%) high mild
   array_remove_strings/remove/100
                           time:   [4.3056 ms 4.3118 ms 4.3184 ms]
                           change: [−21.072% −20.906% −20.733%] (p = 0.00 < 
0.05)
                           Performance has improved.
   Found 1 outliers among 100 measurements (1.00%)
     1 (1.00%) high severe
   array_remove_strings/remove/500
                           time:   [10.565 ms 10.575 ms 10.585 ms]
                           change: [−9.1829% −9.0594% −8.9308%] (p = 0.00 < 
0.05)
                           Performance has improved.
   Found 4 outliers among 100 measurements (4.00%)
     2 (2.00%) low mild
     1 (1.00%) high mild
     1 (1.00%) high severe
   
   array_remove_binary/remove/10
                           time:   [2.1003 ms 2.1035 ms 2.1068 ms]
                           change: [−35.686% −35.570% −35.447%] (p = 0.00 < 
0.05)
                           Performance has improved.
   array_remove_binary/remove/100
                           time:   [4.2667 ms 4.2724 ms 4.2783 ms]
                           change: [−21.612% −21.488% −21.355%] (p = 0.00 < 
0.05)
                           Performance has improved.
   Found 1 outliers among 100 measurements (1.00%)
     1 (1.00%) high mild
   array_remove_binary/remove/500
                           time:   [10.490 ms 10.500 ms 10.512 ms]
                           change: [−9.6017% −9.4563% −9.3164%] (p = 0.00 < 
0.05)
                           Performance has improved.
   Found 1 outliers among 100 measurements (1.00%)
     1 (1.00%) high severe
   
   Benchmarking array_remove_boolean/remove/10: Warming up for 3.0000 s
   Warning: Unable to complete 100 samples in 5.0s. You may wish to increase 
target time to 8.3s, enable flat sampling, or reduce sample count to 50.
   array_remove_boolean/remove/10
                           time:   [1.6365 ms 1.6394 ms 1.6425 ms]
                           change: [−34.028% −33.810% −33.581%] (p = 0.00 < 
0.05)
                           Performance has improved.
   Found 3 outliers among 100 measurements (3.00%)
     2 (2.00%) high mild
     1 (1.00%) high severe
   array_remove_boolean/remove/100
                           time:   [2.8009 ms 2.8067 ms 2.8127 ms]
                           change: [−22.390% −22.152% −21.899%] (p = 0.00 < 
0.05)
                           Performance has improved.
   Found 16 outliers among 100 measurements (16.00%)
     16 (16.00%) high mild
   array_remove_boolean/remove/500
                           time:   [7.1452 ms 7.1533 ms 7.1622 ms]
                           change: [−9.4930% −9.3377% −9.1807%] (p = 0.00 < 
0.05)
                           Performance has improved.
   Found 1 outliers among 100 measurements (1.00%)
     1 (1.00%) high severe
   
   Benchmarking array_remove_decimal64/remove/10: Warming up for 3.0000 s
   Warning: Unable to complete 100 samples in 5.0s. You may wish to increase 
target time to 8.3s, enable flat sampling, or reduce sample count to 50.
   array_remove_decimal64/remove/10
                           time:   [1.6427 ms 1.6455 ms 1.6486 ms]
                           change: [−36.219% −36.091% −35.962%] (p = 0.00 < 
0.05)
                           Performance has improved.
   Found 2 outliers among 100 measurements (2.00%)
     2 (2.00%) high mild
   array_remove_decimal64/remove/100
                           time:   [2.6114 ms 2.6158 ms 2.6206 ms]
                           change: [−26.536% −26.358% −26.181%] (p = 0.00 < 
0.05)
                           Performance has improved.
   Found 17 outliers among 100 measurements (17.00%)
     3 (3.00%) high mild
     14 (14.00%) high severe
   array_remove_decimal64/remove/500
                           time:   [6.6237 ms 6.6333 ms 6.6429 ms]
                           change: [−13.919% −13.730% −13.538%] (p = 0.00 < 
0.05)
                           Performance has improved.
   
   Benchmarking array_remove_fixed_size_binary/remove/10: Warming up for 3.0000 
s
   Warning: Unable to complete 100 samples in 5.0s. You may wish to increase 
target time to 7.8s, enable flat sampling, or reduce sample count to 50.
   array_remove_fixed_size_binary/remove/10
                           time:   [1.5311 ms 1.5335 ms 1.5359 ms]
                           change: [−49.094% −49.005% −48.915%] (p = 0.00 < 
0.05)
                           Performance has improved.
   Found 4 outliers among 100 measurements (4.00%)
     1 (1.00%) low mild
     3 (3.00%) high mild
   array_remove_fixed_size_binary/remove/100
                           time:   [3.3376 ms 3.3401 ms 3.3428 ms]
                           change: [−31.046% −30.963% −30.886%] (p = 0.00 < 
0.05)
                           Performance has improved.
   Found 5 outliers among 100 measurements (5.00%)
     1 (1.00%) low mild
     3 (3.00%) high mild
     1 (1.00%) high severe
   array_remove_fixed_size_binary/remove/500
                           time:   [11.755 ms 11.774 ms 11.792 ms]
                           change: [−10.782% −10.604% −10.435%] (p = 0.00 < 
0.05)
                           Performance has improved.
   Found 5 outliers among 100 measurements (5.00%)
     1 (1.00%) low mild
     4 (4.00%) high mild
     ```
   
   I didn't benchmark the other UDFs that use this helper function but they 
should see an improvement as well.


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