devanbenz opened a new pull request, #26249:
URL: https://github.com/apache/datafusion/pull/26249

   Work in progress/experiment, attempting to resolve a few performance issues 
with large CASE statements during dynamic filter scans. This commit reduces the 
amount of copies required during a predicate lookup. Specifically this was seen 
as a bottleneck on Q17 of TPC-H: 
https://github.com/apache/datafusion/issues/26169#issuecomment-6125269091 
   
   
     | query | polars | main (pushdown) | this branch (pushdown) | this branch 
/ main | this branch / polars |
     |---|---:|---:|---:|---:|---:|
     | q01 | 2.00 | 2.59 | 2.82 | 1.09x | 1.42x |
     | q02 | 0.17 | 0.95 | 0.64 | 0.67x | 3.74x |
     | q03 | 1.50 | 2.65 | 2.09 | 0.79x | 1.40x |
     | q04 | 0.77 | 2.25 | 1.60 | 0.71x | 2.08x |
     | q05 | 1.71 | 3.25 | 2.41 | 0.74x | 1.41x |
     | q06 | 0.62 | 1.61 | 1.68 | 1.04x | 2.71x |
     | q07 | 1.95 | 3.43 | 2.38 | 0.69x | 1.22x |
     | q08 | 2.80 | 5.64 | 5.14 | 0.91x | 1.84x |
     | q09 | 4.92 | 9.14 | 7.95 | 0.87x | 1.61x |
     | q10 | 2.47 | 2.88 | 2.86 | 0.99x | 1.16x |
     | q11 | 0.16 | 0.90 | 0.49 | 0.54x | 2.96x |
     | q12 | 0.65 | 2.44 | 2.02 | 0.83x | 3.11x |
     | q13 | 2.41 | 3.16 | 2.83 | 0.90x | 1.17x |
     | q14 | 1.03 | 1.32 | 1.31 | 0.99x | 1.27x |
     | q15 | 0.98 | 3.24 | 3.13 | 0.97x | 3.19x |
     | q16 | 0.44 | 0.55 | 0.43 | 0.79x | 0.99x |
     | q17 | 1.41 | 5.57 | 2.20 | 0.39x | 1.55x |
     | q18 | 2.59 | 5.86 | 6.18 | 1.06x | 2.39x |
     | q19 | 1.09 | 1.73 | 1.76 | 1.02x | 1.61x |
     | q20 | 1.15 | 2.10 | 1.74 | 0.83x | 1.52x |
     | q21 | 3.62 | 12.76 | 11.12 | 0.87x | 3.07x |
     | q22 | 0.43 | 0.96 | 0.53 | 0.56x | 1.23x |
     | **total** | **34.9** | **75.0** | **63.3** | **0.84x** | **1.82x** |


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