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

   @neilconway Good push for more precision — looking at the bot output again, 
the picture splits cleanly along the join/no-join axis the PR was designed 
around:
   
   **ClickBench (mostly single-table aggregations, no joins) — the target 
case:**
   
   | Benchmark | HEAD | This PR | Change |
   |---|---|---|---|
   | `physical_plan_clickbench_all` | 123.4 ms | **121.7 ms** | **−1.4 %** |
   | `physical_plan_clickbench_q10` | 1955 µs | 1909 µs | −2.3 % |
   | `physical_plan_clickbench_q11` | 2.14 ms | 2.10 ms | −2.0 % |
   | `physical_plan_clickbench_q12` | 2.16 ms | 2.10 ms | −2.8 % |
   | `physical_plan_clickbench_q13` | 1958 µs | 1930 µs | −1.4 % |
   | `physical_plan_clickbench_q14` | 2.14 ms | 2.10 ms | −2.0 % |
   
   Wins are small per-query but consistent across the 20+ join-free clickbench 
queries.
   
   **TPCH (every query joins) — the "worst case" for this PR:**
   
   | Benchmark | HEAD | This PR | Change |
   |---|---|---|---|
   | `optimizer_tpch_all` | 14.3 ms | 14.7 ms | +2.8 % |
   | `physical_plan_tpch_q22` | 1519 µs | 1556 µs | +2.4 % |
   
   Small regression on average — exactly what the design predicts: the 
`plan_has_joins` scan runs but never finds the bail-out condition (every TPCH 
plan has a join), so it's pure overhead. The scan is read-only and early-stops 
on the first join match, so the overhead is bounded.
   
   So: target workload (join-free, OLTP-shape) consistently improves; the 
worst-case workload (every plan has a join) takes a small hit. Net depends on 
the workload mix.
   
   The deeper fix to flip that trade-off — generic in-place mutable rewrite, so 
the cost paid by join-heavy workloads disappears — is tracked in #22616.
   


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