jonathanc-n commented on PR #20768:
URL: https://github.com/apache/datafusion/pull/20768#issuecomment-4019765639

   <details>
   <summary>Main benchmark</summary>
   
   cargo bench --bench stats_merge --package datafusion-common -- 
--save-baseline main 2>&1
   Compiling datafusion-common v52.2.0 
(/Users/jonathanchen/Documents/GitHub/datafusion/datafusion/common)
       Finished `bench` profile [optimized] target(s) in 39.17s
        Running benches/stats_merge.rs 
(target/release/deps/stats_merge-9ea63eb990f61794)
   Gnuplot not found, using plotters backend
   Benchmarking stats_merge/try_merge_iter/10parts_1cols
   Benchmarking stats_merge/try_merge_iter/10parts_1cols: Warming up for 3.0000 
s
   Benchmarking stats_merge/try_merge_iter/10parts_1cols: Collecting 100 
samples in estimated 5.0027 s (2.1M iterations)
   Benchmarking stats_merge/try_merge_iter/10parts_1cols: Analyzing
   stats_merge/try_merge_iter/10parts_1cols
                           time:   [2.2793 µs 2.3045 µs 2.3333 µs]
   Found 17 outliers among 100 measurements (17.00%)
     16 (16.00%) high mild
     1 (1.00%) high severe
   Benchmarking stats_merge/try_merge_iter/10parts_5cols
   Benchmarking stats_merge/try_merge_iter/10parts_5cols: Warming up for 3.0000 
s
   Benchmarking stats_merge/try_merge_iter/10parts_5cols: Collecting 100 
samples in estimated 5.0026 s (490k iterations)
   Benchmarking stats_merge/try_merge_iter/10parts_5cols: Analyzing
   stats_merge/try_merge_iter/10parts_5cols
                           time:   [10.415 µs 10.804 µs 11.336 µs]
   Found 6 outliers among 100 measurements (6.00%)
     4 (4.00%) high mild
     2 (2.00%) high severe
   Benchmarking stats_merge/try_merge_iter/10parts_20cols
   Benchmarking stats_merge/try_merge_iter/10parts_20cols: Warming up for 
3.0000 s
   Benchmarking stats_merge/try_merge_iter/10parts_20cols: Collecting 100 
samples in estimated 5.0821 s (126k iterations)
   Benchmarking stats_merge/try_merge_iter/10parts_20cols: Analyzing
   stats_merge/try_merge_iter/10parts_20cols
                           time:   [39.750 µs 40.193 µs 40.724 µs]
   Found 17 outliers among 100 measurements (17.00%)
     11 (11.00%) high mild
     6 (6.00%) high severe
   Benchmarking stats_merge/try_merge_iter/100parts_1cols
   Benchmarking stats_merge/try_merge_iter/100parts_1cols: Warming up for 
3.0000 s
   Benchmarking stats_merge/try_merge_iter/100parts_1cols: Collecting 100 
samples in estimated 5.1022 s (227k iterations)
   Benchmarking stats_merge/try_merge_iter/100parts_1cols: Analyzing
   stats_merge/try_merge_iter/100parts_1cols
                           time:   [22.068 µs 22.322 µs 22.632 µs]
   Found 19 outliers among 100 measurements (19.00%)
     17 (17.00%) high mild
     2 (2.00%) high severe
   Benchmarking stats_merge/try_merge_iter/100parts_5cols
   Benchmarking stats_merge/try_merge_iter/100parts_5cols: Warming up for 
3.0000 s
   Benchmarking stats_merge/try_merge_iter/100parts_5cols: Collecting 100 
samples in estimated 5.4778 s (50k iterations)
   Benchmarking stats_merge/try_merge_iter/100parts_5cols: Analyzing
   stats_merge/try_merge_iter/100parts_5cols
                           time:   [115.09 µs 117.26 µs 119.73 µs]
   Found 3 outliers among 100 measurements (3.00%)
     3 (3.00%) high mild
   Benchmarking stats_merge/try_merge_iter/100parts_20cols
   Benchmarking stats_merge/try_merge_iter/100parts_20cols: Warming up for 
3.0000 s
   Benchmarking stats_merge/try_merge_iter/100parts_20cols: Collecting 100 
samples in estimated 5.0523 s (10k iterations)
   Benchmarking stats_merge/try_merge_iter/100parts_20cols: Analyzing
   stats_merge/try_merge_iter/100parts_20cols
                           time:   [471.86 µs 478.85 µs 486.69 µs]
   Found 16 outliers among 100 measurements (16.00%)
     12 (12.00%) high mild
     4 (4.00%) high severe
   Benchmarking stats_merge/try_merge_iter/500parts_1cols
   Benchmarking stats_merge/try_merge_iter/500parts_1cols: Warming up for 
3.0000 s
   Benchmarking stats_merge/try_merge_iter/500parts_1cols: Collecting 100 
samples in estimated 5.5118 s (45k iterations)
   Benchmarking stats_merge/try_merge_iter/500parts_1cols: Analyzing
   stats_merge/try_merge_iter/500parts_1cols
                           time:   [122.45 µs 124.32 µs 126.49 µs]
   Found 3 outliers among 100 measurements (3.00%)
     3 (3.00%) high mild
   Benchmarking stats_merge/try_merge_iter/500parts_5cols
   Benchmarking stats_merge/try_merge_iter/500parts_5cols: Warming up for 
3.0000 s
   Benchmarking stats_merge/try_merge_iter/500parts_5cols: Collecting 100 
samples in estimated 5.7578 s (10k iterations)
   Benchmarking stats_merge/try_merge_iter/500parts_5cols: Analyzing
   stats_merge/try_merge_iter/500parts_5cols
                           time:   [556.81 µs 563.27 µs 570.61 µs]
   Found 18 outliers among 100 measurements (18.00%)
     15 (15.00%) high mild
     3 (3.00%) high severe
   Benchmarking stats_merge/try_merge_iter/500parts_20cols
   Benchmarking stats_merge/try_merge_iter/500parts_20cols: Warming up for 
3.0000 s
   Benchmarking stats_merge/try_merge_iter/500parts_20cols: Collecting 100 
samples in estimated 5.1959 s (2300 iterations)
   Benchmarking stats_merge/try_merge_iter/500parts_20cols: Analyzing
   stats_merge/try_merge_iter/500parts_20cols
                           time:   [2.2558 ms 2.3018 ms 2.3507 ms]
   Found 13 outliers among 100 measurements (13.00%)
     13 (13.00%) high mild
   
   </details>
   
   <details>
   <summary>Speed up benchmark</summary>
   cargo bench --bench stats_merge --package datafusion-common -- --baseline 
main 2>&1
   Compiling datafusion-common v52.2.0 
(/Users/jonathanchen/Documents/GitHub/datafusion/datafusion/common)
       Finished `bench` profile [optimized] target(s) in 36.93s
        Running benches/stats_merge.rs 
(target/release/deps/stats_merge-9ea63eb990f61794)
   Gnuplot not found, using plotters backend
   Benchmarking stats_merge/try_merge_iter/10parts_1cols
   Benchmarking stats_merge/try_merge_iter/10parts_1cols: Warming up for 3.0000 
s
   Benchmarking stats_merge/try_merge_iter/10parts_1cols: Collecting 100 
samples in estimated 5.0001 s (21M iterations)
   Benchmarking stats_merge/try_merge_iter/10parts_1cols: Analyzing
   stats_merge/try_merge_iter/10parts_1cols
                           time:   [236.31 ns 236.87 ns 237.44 ns]
                           change: [−90.353% −90.177% −90.002%] (p = 0.00 < 
0.05)
                           Performance has improved.
   Found 4 outliers among 100 measurements (4.00%)
     2 (2.00%) high mild
     2 (2.00%) high severe
   Benchmarking stats_merge/try_merge_iter/10parts_5cols
   Benchmarking stats_merge/try_merge_iter/10parts_5cols: Warming up for 3.0000 
s
   Benchmarking stats_merge/try_merge_iter/10parts_5cols: Collecting 100 
samples in estimated 5.0010 s (5.6M iterations)
   Benchmarking stats_merge/try_merge_iter/10parts_5cols: Analyzing
   stats_merge/try_merge_iter/10parts_5cols
                           time:   [880.23 ns 882.90 ns 885.78 ns]
                           change: [−92.639% −92.317% −92.014%] (p = 0.00 < 
0.05)
                           Performance has improved.
   Found 2 outliers among 100 measurements (2.00%)
     1 (1.00%) high mild
     1 (1.00%) high severe
   Benchmarking stats_merge/try_merge_iter/10parts_20cols
   Benchmarking stats_merge/try_merge_iter/10parts_20cols: Warming up for 
3.0000 s
   Benchmarking stats_merge/try_merge_iter/10parts_20cols: Collecting 100 
samples in estimated 5.0075 s (1.5M iterations)
   Benchmarking stats_merge/try_merge_iter/10parts_20cols: Analyzing
   stats_merge/try_merge_iter/10parts_20cols
                           time:   [3.2228 µs 3.3417 µs 3.4869 µs]
                           change: [−92.502% −92.280% −92.045%] (p = 0.00 < 
0.05)
                           Performance has improved.
   Found 8 outliers among 100 measurements (8.00%)
     3 (3.00%) high mild
     5 (5.00%) high severe
   Benchmarking stats_merge/try_merge_iter/100parts_1cols
   Benchmarking stats_merge/try_merge_iter/100parts_1cols: Warming up for 
3.0000 s
   Benchmarking stats_merge/try_merge_iter/100parts_1cols: Collecting 100 
samples in estimated 5.0080 s (2.5M iterations)
   Benchmarking stats_merge/try_merge_iter/100parts_1cols: Analyzing
   stats_merge/try_merge_iter/100parts_1cols
                           time:   [2.0240 µs 2.0402 µs 2.0677 µs]
                           change: [−91.564% −91.373% −91.177%] (p = 0.00 < 
0.05)
                           Performance has improved.
   Found 5 outliers among 100 measurements (5.00%)
     3 (3.00%) high mild
     2 (2.00%) high severe
   Benchmarking stats_merge/try_merge_iter/100parts_5cols
   Benchmarking stats_merge/try_merge_iter/100parts_5cols: Warming up for 
3.0000 s
   Benchmarking stats_merge/try_merge_iter/100parts_5cols: Collecting 100 
samples in estimated 5.0060 s (545k iterations)
   Benchmarking stats_merge/try_merge_iter/100parts_5cols: Analyzing
   stats_merge/try_merge_iter/100parts_5cols
                           time:   [9.1888 µs 9.2089 µs 9.2306 µs]
                           change: [−92.623% −92.450% −92.277%] (p = 0.00 < 
0.05)
                           Performance has improved.
   Found 6 outliers among 100 measurements (6.00%)
     1 (1.00%) low mild
     5 (5.00%) high mild
   Benchmarking stats_merge/try_merge_iter/100parts_20cols
   Benchmarking stats_merge/try_merge_iter/100parts_20cols: Warming up for 
3.0000 s
   Benchmarking stats_merge/try_merge_iter/100parts_20cols: Collecting 100 
samples in estimated 5.1036 s (146k iterations)
   Benchmarking stats_merge/try_merge_iter/100parts_20cols: Analyzing
   stats_merge/try_merge_iter/100parts_20cols
                           time:   [34.055 µs 34.146 µs 34.256 µs]
                           change: [−93.360% −93.215% −93.075%] (p = 0.00 < 
0.05)
                           Performance has improved.
   Found 11 outliers among 100 measurements (11.00%)
     9 (9.00%) high mild
     2 (2.00%) high severe
   Benchmarking stats_merge/try_merge_iter/500parts_1cols
   Benchmarking stats_merge/try_merge_iter/500parts_1cols: Warming up for 
3.0000 s
   Benchmarking stats_merge/try_merge_iter/500parts_1cols: Collecting 100 
samples in estimated 5.0427 s (505k iterations)
   Benchmarking stats_merge/try_merge_iter/500parts_1cols: Analyzing
   stats_merge/try_merge_iter/500parts_1cols
                           time:   [9.8597 µs 9.8938 µs 9.9345 µs]
                           change: [−92.696% −92.532% −92.366%] (p = 0.00 < 
0.05)
                           Performance has improved.
   Found 7 outliers among 100 measurements (7.00%)
     2 (2.00%) low mild
     2 (2.00%) high mild
     3 (3.00%) high severe
   Benchmarking stats_merge/try_merge_iter/500parts_5cols
   Benchmarking stats_merge/try_merge_iter/500parts_5cols: Warming up for 
3.0000 s
   Benchmarking stats_merge/try_merge_iter/500parts_5cols: Collecting 100 
samples in estimated 5.2203 s (111k iterations)
   Benchmarking stats_merge/try_merge_iter/500parts_5cols: Analyzing
   stats_merge/try_merge_iter/500parts_5cols
                           time:   [45.800 µs 45.883 µs 45.968 µs]
                           change: [−92.405% −92.247% −92.096%] (p = 0.00 < 
0.05)
                           Performance has improved.
   Found 4 outliers among 100 measurements (4.00%)
     2 (2.00%) low mild
     2 (2.00%) high mild
   Benchmarking stats_merge/try_merge_iter/500parts_20cols
   Benchmarking stats_merge/try_merge_iter/500parts_20cols: Warming up for 
3.0000 s
   Benchmarking stats_merge/try_merge_iter/500parts_20cols: Collecting 100 
samples in estimated 5.2143 s (30k iterations)
   Benchmarking stats_merge/try_merge_iter/500parts_20cols: Analyzing
   stats_merge/try_merge_iter/500parts_20cols
                           time:   [171.52 µs 171.75 µs 171.97 µs]
                           change: [−92.700% −92.543% −92.392%] (p = 0.00 < 
0.05)
                           Performance has improved.
   Found 6 outliers among 100 measurements (6.00%)
     1 (1.00%) low mild
     4 (4.00%) high mild
     1 (1.00%) high severe
   
   </details>
   
   added bench. Looking at around a 10-12x improvement


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