TinyMurky commented on PR #25497:
URL: https://github.com/apache/datafusion/pull/25497#issuecomment-5799343041

   Hello @jayzhan211 !
   Sorry for the delay, I've finished the change, and add the new benchmark to 
test the 4 KiB byte cap of `OrderedArrayAgg`. Could you review tthe change?
   
   The 4 KiB byte cap reduced the wide Utf8 update-only benchmark from 34.45 ms 
with the row-only cap to 2.09 ms, reducing runtime by approximately 93.9%.
   
   Benchmarks below show the differents between old commit (092743dce) and new 
commit (0ddf5e8e5)
   
   ```
   ordered_array_agg i64 ordered input, 1 rows per update_batch
                           time:   [1.5908 ms 1.6032 ms 1.6175 ms]
                           change: [−38.237% −36.692% −35.285%] (p = 0.00 < 
0.05)
                           Performance has improved.
   Found 11 outliers among 100 measurements (11.00%)
     3 (3.00%) high mild
     8 (8.00%) high severe
   
   Benchmarking ordered_array_agg i64 random input, 1 rows per update_batch: 
Warming up for 3.0000 s
   Warning: Unable to complete 100 samples in 5.0s. You may wish to increase 
target time to 9.4s, enable flat sampling, or reduce sample count to 50.
   Benchmarking ordered_array_agg i64 random input, 1 rows per update_batch: 
Collecting 100 samples in estimated 9.ordered_array_agg i64 random input, 1 
rows per update_batch
                           time:   [1.8412 ms 1.8520 ms 1.8631 ms]
                           change: [−47.695% −43.259% −38.684%] (p = 0.00 < 
0.05)
                           Performance has improved.
   Found 7 outliers among 100 measurements (7.00%)
     4 (4.00%) high mild
     3 (3.00%) high severe
   
   Benchmarking ordered_array_agg i64 ordered input, 8 rows per update_batch: 
Collecting 100 samples in estimated 5ordered_array_agg i64 ordered input, 8 
rows per update_batch
                           time:   [231.63 µs 233.90 µs 236.66 µs]
                           change: [−50.086% −46.184% −42.206%] (p = 0.00 < 
0.05)
                           Performance has improved.
   Found 16 outliers among 100 measurements (16.00%)
     6 (6.00%) high mild
     10 (10.00%) high severe
   
   Benchmarking ordered_array_agg i64 random input, 8 rows per update_batch: 
Collecting 100 samples in estimated 6.ordered_array_agg i64 random input, 8 
rows per update_batch
                           time:   [430.89 µs 432.56 µs 434.36 µs]
                           change: [−52.435% −48.834% −45.128%] (p = 0.00 < 
0.05)
                           Performance has improved.
   Found 9 outliers among 100 measurements (9.00%)
     6 (6.00%) high mild
     3 (3.00%) high severe
   
   Benchmarking ordered_array_agg i64 ordered input, 64 rows per update_batch: 
Collecting 100 samples in estimated ordered_array_agg i64 ordered input, 64 
rows per update_batch
                           time:   [43.170 µs 43.354 µs 43.552 µs]
                           change: [−55.102% −50.657% −45.909%] (p = 0.00 < 
0.05)
                           Performance has improved.
   Found 15 outliers among 100 measurements (15.00%)
     1 (1.00%) low mild
     7 (7.00%) high mild
     7 (7.00%) high severe
   
   Benchmarking ordered_array_agg i64 random input, 64 rows per update_batch: 
Collecting 100 samples in estimated 5ordered_array_agg i64 random input, 64 
rows per update_batch
                           time:   [233.26 µs 234.71 µs 236.45 µs]
                           change: [−46.101% −42.135% −38.055%] (p = 0.00 < 
0.05)
                           Performance has improved.
   Found 13 outliers among 100 measurements (13.00%)
     7 (7.00%) high mild
     6 (6.00%) high severe
   
   Benchmarking ordered_array_agg i64 ordered input, 2048 rows per 
update_batch: Collecting 100 samples in estimateordered_array_agg i64 ordered 
input, 2048 rows per update_batch
                           time:   [16.337 µs 16.380 µs 16.435 µs]
                           change: [−56.556% −52.611% −48.422%] (p = 0.00 < 
0.05)
                           Performance has improved.
   Found 12 outliers among 100 measurements (12.00%)
     2 (2.00%) high mild
     10 (10.00%) high severe
   
   Benchmarking ordered_array_agg i64 random input, 2048 rows per update_batch: 
Collecting 100 samples in estimatedordered_array_agg i64 random input, 2048 
rows per update_batch
                           time:   [205.26 µs 207.21 µs 210.25 µs]
                           change: [−39.842% −38.164% −36.577%] (p = 0.00 < 
0.05)
                           Performance has improved.
   Found 9 outliers among 100 measurements (9.00%)
     5 (5.00%) high mild
     4 (4.00%) high severe
   
   Benchmarking ordered_array_agg utf8 4 KiB, 1 row per update_batch: 
Collecting 100 samples in estimated 5.0868 s ordered_array_agg utf8 4 KiB, 1 
row per update_batch
                           time:   [2.0722 ms 2.0891 ms 2.1080 ms]
                           change: [−89.963% −88.934% −87.805%] (p = 0.00 < 
0.05)
                           Performance has improved.
   Found 15 outliers among 100 measurements (15.00%)
     2 (2.00%) high mild
     13 (13.00%) high severe
   ```


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