adriangb commented on PR #25752:
URL: https://github.com/apache/datafusion/pull/25752#issuecomment-5835885985

   ## Sweep: optional filter floor, `pruning_only` and placement off
   
   Head 8084d3239b against merge-base 5719930. main uses the defaults 
(`pushdown_filters = false`). All branch configs use `pushdown_filters = true`. 
Times are the min of 5 iterations, in ms. Ratio = branch / main. **Bold** = 
more than 7% slower. ClickBench query numbers start at 0.
   
   | Config | Branch env (plus `PARQUET_PUSHDOWN_FILTERS: "true"`) | Trigger |
   |---|---|---|
   | X=20 | `OPTIONAL_FILTER_MIN_SAVING_NS_PER_ROW: "20"` | 
[5835267282](https://github.com/apache/datafusion/pull/25752#issuecomment-5835267282)
 |
   | X=10 | `OPTIONAL_FILTER_MIN_SAVING_NS_PER_ROW: "10"` | 
[5835312017](https://github.com/apache/datafusion/pull/25752#issuecomment-5835312017)
 |
   | X=5 | `OPTIONAL_FILTER_MIN_SAVING_NS_PER_ROW: "5"` | 
[5835325769](https://github.com/apache/datafusion/pull/25752#issuecomment-5835325769)
 |
   | X=0 | `OPTIONAL_FILTER_MIN_SAVING_NS_PER_ROW: "0"` | 
[5835339860](https://github.com/apache/datafusion/pull/25752#issuecomment-5835339860)
 |
   | pruning_only | `OPTIONAL_FILTER_MODE: "pruning_only"` | 
[5835668569](https://github.com/apache/datafusion/pull/25752#issuecomment-5835668569)
 |
   | placement off | `ADAPTIVE_FILTER_PLACEMENT: "false"` | 
[5835668816](https://github.com/apache/datafusion/pull/25752#issuecomment-5835668816)
 |
   
   ### Suite totals
   
   | Suite | Config | main | branch | ratio | slower > 7% | faster > 7% | worst 
3 |
   |---|---|---|---|---|---|---|---|
   | [TPC-H 
SF1](https://github.com/apache/datafusion/pull/25752#issuecomment-5835372782) | 
X=20 | 760 | 753 | 0.99 | 10 | 5 | Q9 1.31, Q3 1.16, Q4 1.14 |
   | [TPC-H 
SF1](https://github.com/apache/datafusion/pull/25752#issuecomment-5835388568) | 
X=10 | 733 | 733 | 1.00 | 10 | 4 | Q9 1.32, Q5 1.16, Q3 1.14 |
   | [TPC-H 
SF1](https://github.com/apache/datafusion/pull/25752#issuecomment-5835453649) | 
X=5 | 735 | 754 | 1.03 | 10 | 3 | Q9 1.32, Q3 1.15, Q5 1.13 |
   | [TPC-H 
SF1](https://github.com/apache/datafusion/pull/25752#issuecomment-5835478850) | 
X=0 | 737 | 754 | 1.02 | 10 | 3 | Q9 1.30, Q3 1.16, Q5 1.15 |
   | [TPC-H 
SF1](https://github.com/apache/datafusion/pull/25752#issuecomment-5835743505) | 
pruning_only | 752 | 762 | 1.01 | 2 | 1 | Q15 1.09, Q11 1.07 |
   | [TPC-H 
SF1](https://github.com/apache/datafusion/pull/25752#issuecomment-5835752430) | 
placement off | 760 | 812 | 1.07 | 14 | 2 | Q12 1.62, Q4 1.48, Q6 1.36 |
   | [TPC-DS 
SF1](https://github.com/apache/datafusion/pull/25752#issuecomment-5835394494) | 
X=20 | 9,128 | 6,904 | 0.76 | 26 | 38 | Q37 1.27, Q38 1.27, Q87 1.25 |
   | [TPC-DS 
SF1](https://github.com/apache/datafusion/pull/25752#issuecomment-5835407734) | 
X=10 | 8,947 | 6,831 | 0.76 | 26 | 35 | Q37 1.29, Q87 1.26, Q38 1.26 |
   | [TPC-DS 
SF1](https://github.com/apache/datafusion/pull/25752#issuecomment-5835476308) | 
X=5 | 9,446 | 7,100 | 0.75 | 24 | 38 | Q10 1.40, Q69 1.26, Q38 1.26 |
   | [TPC-DS 
SF1](https://github.com/apache/datafusion/pull/25752#issuecomment-5835498469) | 
X=0 | 9,188 | 6,888 | 0.75 | 21 | 44 | Q10 1.44, Q69 1.39, Q67 1.22 |
   | [TPC-DS 
SF1](https://github.com/apache/datafusion/pull/25752#issuecomment-5835779113) | 
pruning_only | 8,978 | 9,106 | 1.01 | 10 | 3 | Q37 1.24, Q82 1.12, Q32 1.11 |
   | [TPC-DS 
SF1](https://github.com/apache/datafusion/pull/25752#issuecomment-5835771066) | 
placement off | 9,117 | 7,158 | 0.79 | 28 | 32 | Q9 2.19, Q82 1.90, Q48 1.33 |
   | [ClickBench 
partitioned](https://github.com/apache/datafusion/pull/25752#issuecomment-5835448990)
 | X=20 | 20,597 | 17,060 | 0.83 | 1 | 7 | Q25 1.28 |
   | [ClickBench 
partitioned](https://github.com/apache/datafusion/pull/25752#issuecomment-5835468560)
 | X=10 | 19,851 | 16,454 | 0.83 | 2 | 6 | Q25 1.21, Q40 1.07 |
   | [ClickBench 
partitioned](https://github.com/apache/datafusion/pull/25752#issuecomment-5835526409)
 | X=5 | 19,738 | 16,677 | 0.84 | 5 | 7 | Q15 1.23, Q16 1.17, Q14 1.13 |
   | [ClickBench 
partitioned](https://github.com/apache/datafusion/pull/25752#issuecomment-5835597636)
 | X=0 | 19,974 | 16,623 | 0.83 | 3 | 4 | Q25 1.19, Q36 1.08, Q40 1.08 |
   | [ClickBench 
partitioned](https://github.com/apache/datafusion/pull/25752#issuecomment-5835863718)
 | pruning_only | 20,158 | 17,050 | 0.85 | 0 | 4 | - |
   | [ClickBench 
partitioned](https://github.com/apache/datafusion/pull/25752#issuecomment-5835802026)
 | placement off | 19,370 | 16,205 | 0.84 | 15 | 7 | Q10 1.40, Q11 1.33, Q25 
1.28 |
   
   ### Queries more than 7% slower at X=20, and the configs that fix them
   
   "Fixed by" lists the configs where the ratio is 1.07 or less.
   
   | Group | Query | X=20 | X=10 | X=5 | X=0 | pruning_only | placement off | 
Fixed by |
   |---|---|---|---|---|---|---|---|---|
   | G1 | DS Q10 | **1.20** | **1.20** | **1.40** | **1.44** | 1.04 | **1.19** 
| pruning_only |
   | G1 | DS Q21 | **1.16** | **1.12** | 1.06 | **1.12** | 1.06 | **1.12** | 
X=5, pruning_only |
   | G1 | DS Q38 | **1.27** | **1.26** | **1.26** | **1.20** | **1.10** | 
**1.25** | none |
   | G1 | DS Q69 | **1.24** | **1.26** | **1.26** | **1.39** | 1.04 | **1.27** 
| pruning_only |
   | G1 | DS Q87 | **1.25** | **1.26** | **1.26** | 1.02 | **1.10** | **1.25** 
| X=0 |
   | G1 | DS Q89 | **1.18** | **1.21** | **1.24** | **1.13** | 1.05 | **1.22** 
| pruning_only |
   | G2 | H Q3 | **1.16** | **1.14** | **1.15** | **1.16** | 1.01 | **1.11** | 
pruning_only |
   | G2 | H Q5 | **1.14** | **1.16** | **1.13** | **1.15** | 1.03 | **1.22** | 
pruning_only |
   | G2 | H Q9 | **1.31** | **1.32** | **1.32** | **1.30** | 1.03 | **1.23** | 
pruning_only |
   | G2 | DS Q17 | **1.17** | **1.17** | **1.16** | **1.13** | 1.05 | **1.16** 
| pruning_only |
   | G2 | DS Q29 | **1.17** | **1.10** | **1.09** | 1.06 | 1.04 | **1.09** | 
X=0, pruning_only |
   | G2 | DS Q50 | **1.16** | **1.22** | **1.20** | **1.19** | 0.99 | **1.19** 
| pruning_only |
   | G3 | H Q4 | **1.14** | **1.13** | **1.07** | **1.09** | 1.05 | **1.48** | 
pruning_only |
   | G3 | DS Q13 | **1.09** | **1.10** | **1.07** | **1.10** | 1.01 | 1.00 | 
pruning_only, placement off |
   | G4 | CB Q25 | **1.28** | **1.21** | **1.12** | **1.19** | 1.00 | **1.28** 
| pruning_only |
   | - | H Q7 | **1.11** | **1.12** | **1.13** | **1.11** | 1.02 | 1.03 | 
pruning_only, placement off |
   | - | H Q10 | **1.07** | **1.08** | **1.08** | **1.08** | 1.01 | **1.14** | 
pruning_only |
   | - | H Q11 | **1.11** | **1.13** | **1.12** | **1.14** | **1.07** | 
**1.10** | none |
   | - | H Q14 | **1.08** | **1.08** | **1.07** | **1.08** | 1.07 | **1.08** | 
pruning_only |
   | - | H Q15 | **1.08** | **1.10** | **1.09** | **1.08** | **1.09** | 
**1.31** | none |
   | - | H Q22 | **1.12** | **1.10** | **1.08** | **1.07** | 1.01 | **1.19** | 
pruning_only |
   | - | DS Q9 | **1.08** | **1.10** | **1.11** | **1.07** | **1.10** | 
**2.19** | none |
   | - | DS Q14 | **1.09** | 1.07 | 1.04 | 1.01 | 1.02 | **1.09** | X=10, X=5, 
X=0, pruning_only |
   | - | DS Q22 | **1.07** | 1.00 | 1.02 | 0.99 | 1.03 | 0.99 | X=10, X=5, X=0, 
pruning_only, placement off |
   | - | DS Q23 | **1.15** | **1.17** | **1.11** | **1.09** | 1.02 | **1.14** | 
pruning_only |
   | - | DS Q27 | **1.09** | 0.97 | 0.97 | 0.99 | 0.97 | 1.00 | X=10, X=5, X=0, 
pruning_only, placement off |
   | - | DS Q30 | **1.10** | 0.98 | 1.00 | 0.91 | 0.98 | 1.00 | X=10, X=5, X=0, 
pruning_only, placement off |
   | - | DS Q31 | **1.13** | **1.12** | **1.10** | 1.02 | 1.03 | **1.11** | 
X=0, pruning_only |
   | - | DS Q35 | **1.16** | **1.17** | 1.06 | 0.95 | 1.03 | **1.13** | X=5, 
X=0, pruning_only |
   | - | DS Q37 | **1.27** | **1.29** | **1.24** | **1.12** | **1.24** | 0.99 | 
placement off |
   | - | DS Q48 | **1.13** | **1.14** | 1.00 | 0.99 | 1.00 | **1.33** | X=5, 
X=0, pruning_only |
   | - | DS Q51 | **1.10** | **1.09** | **1.09** | 1.07 | 1.01 | **1.09** | 
X=0, pruning_only |
   | - | DS Q70 | **1.09** | **1.11** | **1.09** | **1.08** | 1.02 | **1.11** | 
pruning_only |
   | - | DS Q82 | **1.10** | **1.12** | **1.11** | **1.08** | **1.12** | 
**1.90** | none |
   | - | DS Q85 | **1.16** | **1.15** | **1.18** | **1.16** | 0.97 | **1.22** | 
pruning_only |
   | - | DS Q86 | **1.16** | **1.15** | **1.19** | 1.02 | 1.06 | **1.18** | 
X=0, pruning_only |
   | - | DS Q96 | **1.09** | **1.09** | **1.09** | **1.12** | 1.00 | **1.11** | 
pruning_only |
   
   Fixed count, of 37 queries: X=10 4, X=5 7, X=0 11, pruning_only 30, 
placement off 6.
   
   ### Wins to protect
   
   | Query | X=20 | X=10 | X=5 | X=0 | pruning_only | placement off |
   |---|---|---|---|---|---|---|
   | H Q6 | 0.93 | 0.92 | 0.94 | 0.95 | 0.94 | **1.36** |
   | H Q12 | 0.98 | 0.98 | 0.97 | 0.97 | 0.91 | **1.62** |
   | H Q17 | 0.55 | 0.59 | 0.90 | 0.89 | 0.97 | 0.57 |
   | H Q18 | 0.85 | 0.86 | 0.84 | 0.84 | 1.02 | 0.91 |
   | DS Q72 | 0.06 | 0.06 | 0.06 | 0.06 | 1.04 | 0.06 |
   | DS Q65 | 0.69 | 0.69 | 0.68 | 0.79 | 0.55 | 0.68 |
   | DS Q54 | 0.53 | 0.52 | 0.51 | 0.79 | 0.99 | 0.52 |
   | CB Q23 | 0.08 | 0.08 | 0.08 | 0.08 | 0.12 | 0.04 |
   | CB Q24 | 0.68 | 0.67 | 0.63 | 0.68 | 0.96 | **1.08** |
   
   H Q17, DS Q54 and CB Q24 are not in the triage list. They are included 
because a low floor or `pruning_only` removes their win.
   
   Conclusion: no floor value fixes the regressions (keep the default of 20; 
X=5 and X=0 also remove the H Q17 win), `pruning_only` fixes almost all of them 
but removes the join filter wins (TPC-DS total 1.01 against 0.76), and 
placement off makes more queries slower; thus the regressions come from the 
row-by-row evaluation of the optional filters, and the adaptive gate does not 
pause them.
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)
   


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