adriangb commented on PR #25677: URL: https://github.com/apache/datafusion/pull/25677#issuecomment-5809027081
## Benchmark summary, round 2 (635757407b, dedup + combined bounds) Base is the same merge-base (95bb0a0) used in [round 1](https://github.com/apache/datafusion/pull/25677#issuecomment-5808006281). Times are the minimum of 5 iterations from the bot tables. Change = PR / base - 1. ### Totals per suite/config | Suite | Config | Result | Base total | PR total | Change | Round 1 change | |---|---|---|---|---|---|---| | TPC-H SF1 | default | [link](https://github.com/apache/datafusion/pull/25677#issuecomment-5808913792) | 758.82 ms | 755.56 ms | -0.4% | +0.3% | | TPC-DS SF1 | default | [link](https://github.com/apache/datafusion/pull/25677#issuecomment-5808927818) | 9024.71 ms | 9173.95 ms | +1.7% | -0.8% / +1.5% (2 runs) | | TPC-H SF1 | `pushdown_filters=true` | [link](https://github.com/apache/datafusion/pull/25677#issuecomment-5808913850) | 868.47 ms | 833.14 ms | **-4.1%** | -3.6% | | TPC-H SF10 | `pushdown_filters=true` | [link](https://github.com/apache/datafusion/pull/25677#issuecomment-5808929931) | 7898.13 ms | 7641.47 ms | **-3.2%** | -3.4% | | TPC-DS SF1 | `pushdown_filters=true` | [link](https://github.com/apache/datafusion/pull/25677#issuecomment-5808928173) | 7851.85 ms | 7272.98 ms | **-7.4%** | -5.2% | ### Key queries, round 1 vs round 2 (where the collapse can fire) | Query | Config | Round 1 base → PR | Round 1 change | Round 2 base → PR | Round 2 change | |---|---|---|---|---|---| | TPC-DS Q2 | pushdown | 45.81 → 44.66 ms | no change | 47.02 → 44.04 ms | -6.3% | | TPC-DS Q18 | pushdown | 161.79 → 115.12 ms | -28.8% | 159.32 → 104.91 ms | **-34.2%** | | TPC-DS Q65 | pushdown | 158.71 → 147.12 ms | -7.3% | 159.10 → 86.93 ms | **-45.4%** | | TPC-DS Q65 | default | 128-133 → 126-130 ms (2 runs) | no change | 130.06 → 70.36 ms | **-45.9%** | | TPC-H SF1 Q17 | pushdown | 71.82 → 44.91 ms | -37.5% | 72.03 → 43.58 ms | -39.5% | | TPC-H SF1 Q18 | pushdown | 75.21 → 65.69 ms | -12.7% | 75.91 → 67.93 ms | -10.5% | | TPC-H SF10 Q18 | pushdown | 650.79 → 408.61 ms | -37.2% | 641.30 → 410.90 ms | -35.9% | | TPC-H SF1 Q17 | default | 72.65 → 74.79 ms | no change | 77.04 → 69.94 ms | -9.2% | Q65 is the story of this round. Statistics pruning could not use the round-1 list (54,000 entries, over `max_in_list_size`), so it only benefited from routing removal. With dedup and `col >= min AND col <= max` bounds it also gets row-group/file pruning, in both the pushdown and the default config, because bounds pruning does not need `pushdown_filters`. Q18 also improved further, consistent with a shorter, deduplicated list. Q2 stays flat in both rounds, within noise. Q17/Q18 in TPC-H and TPC-DS Q25/Q29/Q64/Q95 already improved in round 1 from the base collapse and move by about the same amount again here. That is likely the general partitioned-filter pushdown gain in this PR, not specifically the dedup/bounds change, since those query shapes are less likely to hit large duplicate-heavy union lists. ### Other queries beyond noise (>~7%) this round `pushdown_filters=true`, TPC-DS SF1 (single run): | Query | Base | PR | Change | |---|---|---|---| | Q1 | 5.72 ms | 5.17 ms | -9.6% | | Q4 | 378.01 ms | 343.29 ms | -9.2% | | Q11 | 238.47 ms | 209.50 ms | -12.1% | | Q25 | 115.79 ms | 72.09 ms | **-37.7%** | | Q29 | 145.78 ms | 88.03 ms | **-39.6%** | | Q64 | 505.96 ms | 338.27 ms | **-33.1%** | | Q88 | 67.78 ms | 62.92 ms | -7.2% | | Q95 | 92.43 ms | 54.16 ms | **-41.4%** | Default config, TPC-DS SF1 (single run): | Query | Base | PR | Change | |---|---|---|---| | Q1 | 5.49 ms | 6.13 ms | +11.7% | | Q4 | 416.61 ms | 464.06 ms | +11.4% | | Q11 | 254.37 ms | 292.31 ms | +14.9% | | Q15 | 52.17 ms | 55.92 ms | +7.2% | | Q16 | 6.33 ms | 6.93 ms | +9.5% | | Q22 | 62.44 ms | 67.99 ms | +8.9% | Q1/Q4/Q11 move in opposite directions between the default and pushdown runs (single run each, no repeat). That is consistent with the round-1 finding that default-config TPC-DS movements outside the collapse-eligible queries are noise or layout effects, not this change. Q25/Q29/Q64/Q95 are not new in this round. They already moved in round 1 and hold steady here. **Conclusion:** the dedup and combined-bounds commit is a clear net win on top of round 1, driven almost entirely by TPC-DS Q65 (-7% to -46%) and a further gain on Q18, which pulls the TPC-DS `pushdown_filters=true` suite total from -5.2% to **-7.4%**. TPC-H and default-config TPC-DS totals are unchanged within noise. 🤖 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]
