zhuqi-lucas commented on PR #23701:
URL: https://github.com/apache/datafusion/pull/23701#issuecomment-5023575955

   > run benchmark hj
   ```rust
   Comparing HEAD and qizhu_help-22384-rebase
   --------------------
   Benchmark hj.json
   --------------------
   
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
   ┃ Query                                                               ┃      
                         HEAD ┃            qizhu_help-22384-rebase ┃        
Change ┃
   
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
   │ QQuery 1_density=1_prob_hit=1_25*1.5M                               │      
  2.05 / 2.37 ±0.47 / 3.31 ms │        2.28 / 2.65 ±0.38 / 3.20 ms │  1.12x 
slower │
   │ QQuery 2_density=0.026_prob_hit=1_25*1.5M                           │      
  4.17 / 4.32 ±0.19 / 4.70 ms │        4.46 / 4.55 ±0.12 / 4.78 ms │  1.05x 
slower │
   │ QQuery 3_density=1_prob_hit=1_100K*60M                              │     
85.12 / 86.95 ±1.42 / 89.05 ms │     89.75 / 90.48 ±0.59 / 91.23 ms │     no 
change │
   │ QQuery 4_density=1_prob_hit=0.1_100K*60M                            │  
195.47 / 199.45 ±3.80 / 205.34 ms │  193.88 / 196.35 ±2.26 / 200.42 ms │     no 
change │
   │ QQuery 5_density=0.75_prob_hit=1_100K*60M                           │ 
708.59 / 723.16 ±12.08 / 737.35 ms │ 701.78 / 721.07 ±13.69 / 740.04 ms │     
no change │
   │ QQuery 6_density=0.75_prob_hit=0.1_100K*60M                         │ 
278.60 / 305.07 ±26.86 / 342.72 ms │ 276.39 / 289.31 ±15.95 / 318.75 ms │ 
+1.05x faster │
   │ QQuery 7_density=0.5_prob_hit=1_100K*60M                            │ 
854.92 / 878.03 ±26.82 / 929.46 ms │ 690.25 / 709.54 ±16.08 / 739.26 ms │ 
+1.24x faster │
   │ QQuery 8_density=0.5_prob_hit=0.1_100K*60M                          │  
273.85 / 280.62 ±6.01 / 291.20 ms │ 253.19 / 272.70 ±15.72 / 295.18 ms │     no 
change │
   │ QQuery 9_density=0.2_prob_hit=1_100K*60M                            │ 
779.58 / 863.34 ±43.61 / 904.35 ms │ 728.75 / 794.98 ±47.20 / 857.73 ms │ 
+1.09x faster │
   │ QQuery 10_density=0.2_prob_hit=0.1_100K*60M                         │ 
250.70 / 266.21 ±15.79 / 291.76 ms │ 251.56 / 266.68 ±19.96 / 303.09 ms │     
no change │
   │ QQuery 11_density=0.1_prob_hit=1_100K*60M                           │ 
736.48 / 785.19 ±40.46 / 841.92 ms │  713.84 / 723.59 ±8.27 / 738.51 ms │ 
+1.09x faster │
   │ QQuery 12_density=0.1_prob_hit=0.1_100K*60M                         │ 
283.04 / 300.61 ±16.67 / 323.53 ms │ 250.72 / 266.16 ±11.18 / 278.53 ms │ 
+1.13x faster │
   │ QQuery 13_density=0.01_prob_hit=1_100K*60M                          │ 
725.32 / 801.91 ±61.86 / 889.98 ms │ 714.10 / 730.91 ±15.03 / 758.37 ms │ 
+1.10x faster │
   │ QQuery 14_density=0.01_prob_hit=0.1_100K*60M                        │ 
282.99 / 299.09 ±15.67 / 326.55 ms │ 281.87 / 318.24 ±33.22 / 370.68 ms │  
1.06x slower │
   │ QQuery 15_density=0.2_prob_hit=0.1_100K_(20%_dups)*60M              │ 
255.45 / 274.01 ±33.80 / 341.51 ms │ 275.17 / 309.55 ±43.34 / 394.87 ms │  
1.13x slower │
   │ QQuery 16_density=1_prob_hit=1_25*1.5M_RightSemi                    │      
  2.37 / 2.52 ±0.10 / 2.68 ms │        2.79 / 2.93 ±0.12 / 3.06 ms │  1.16x 
slower │
   │ QQuery 17_density=1_prob_hit=1_100K*60M_RightSemi                   │  
90.50 / 101.31 ±19.33 / 139.91 ms │ 100.66 / 111.17 ±11.60 / 130.38 ms │  1.10x 
slower │
   │ QQuery 18_density=1_prob_hit=0.1_100K*60M_RightSemi                 │ 
103.27 / 109.32 ±11.44 / 132.20 ms │ 139.24 / 147.40 ±13.93 / 175.21 ms │  
1.35x slower │
   │ QQuery 19_density=1_prob_hit=1_25*1.5M_RightAnti                    │      
  1.92 / 2.00 ±0.05 / 2.07 ms │        2.05 / 2.10 ±0.05 / 2.20 ms │     no 
change │
   │ QQuery 20_density=1_prob_hit=1_100K*60M_RightAnti                   │     
80.58 / 81.06 ±0.59 / 82.19 ms │     79.83 / 80.58 ±0.49 / 81.25 ms │     no 
change │
   │ QQuery 21_density=1_prob_hit=0.1_100K*60M_RightAnti                 │  
116.60 / 117.36 ±0.54 / 118.14 ms │  113.96 / 115.61 ±1.46 / 118.35 ms │     no 
change │
   │ QQuery 22_density=1_prob_hit=0.01_100K_(fanout_100)*60M_RightSemi   │     
92.49 / 94.37 ±1.48 / 96.23 ms │   99.39 / 100.52 ±1.07 / 101.90 ms │  1.07x 
slower │
   │ QQuery 23_density=1_prob_hit=1_32K_(fanout~78)*2.3M_long_keys_count │  
165.18 / 166.87 ±2.11 / 171.03 ms │ 161.51 / 198.76 ±19.10 / 214.64 ms │  1.19x 
slower │
   
└─────────────────────────────────────────────────────────────────────┴────────────────────────────────────┴────────────────────────────────────┴───────────────┘
   ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
   ┃ Benchmark Summary                      ┃           ┃
   ┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
   │ Total Time (HEAD)                      │ 6745.12ms │
   │ Total Time (qizhu_help-22384-rebase)   │ 6455.80ms │
   │ Average Time (HEAD)                    │  293.27ms │
   │ Average Time (qizhu_help-22384-rebase) │  280.69ms │
   │ Queries Faster                         │         6 │
   │ Queries Slower                         │         9 │
   │ Queries with No Change                 │         8 │
   │ Queries with Failure                   │         0 │
   └────────────────────────────────────────┴───────────┘
   ```
   
   Thanks @adriangb ! Net for HJ is still positive (Total -4.3%, Avg -4.3%).
   
   The 9 regressions all share one pattern: **density=1** queries where bounds 
prune 0 rows, so Layer 3 becomes pure per-row tax. Q18 RightSemi is worst 
(1.35x) since HashJoin's hash lookup already does the equivalent semantic 
filter.
   
   The 6 wins are all on low-density (0.01–0.5) where Layer 3 actually prunes. 
I will investigate a better solution in this PR or we can improve this as a 
follow-up since other benchmark looks good.
   
   


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