xylaaaaa commented on issue #69884:
URL: https://github.com/apache/doris/issues/69884#issuecomment-6682219393

   ### Full TPC-DS rerun after small-table scheduling — 2026-11-06
   
   Tested 
[fb4e695560](https://github.com/apache/doris/pull/69904/commits/fb4e695560bafc1862ac398fe22bfe6338c7f02e),
 including a fresh complete FE/BE build on local macOS ARM64, ASAN. **103/103 
query files passed, with 824 executions and no result mismatches or failed 
queries.** The basic p0 suite also passed all 36 result blocks.
   
   The same retained SF1 data was reused: 24 tables, 19,557,335 rows, 96 
objects. Object paths, sizes and SHA-256 values matched the original export 
before and after testing. Hive reads the same Parquet objects as Delta; all 24 
Delta tables lack CRC files. The 103 SQL hashes match the November 2 run.
   
   | Sum of per-query medians, three alternating pairs | Hive | Delta | Extra 
Delta time |
   | --- | ---: | ---: | ---: |
   | Current full TPC-DS, 103 queries | 240.236 s | 251.496 s | **+4.69%** |
   | Current 91 nonempty-result queries | 227.810 s | 237.523 s | **+4.26%** |
   | Current 102 queries excluding fixed-order Q85 | 232.869 s | 243.990 s | 
+4.78% |
   | November 2 historical full run | 225.408 s | 262.556 s | +16.48% |
   
   The recorded overall gap is 11.79 percentage points smaller. This is **not 
an isolated before/after measurement of one patch**: master changed and the 
earlier shared FE row-count consumption was reverted in between. Hive's total 
increased 6.58% and Delta's decreased 4.21%. The current same-build Delta/Hive 
comparison is the primary result.
   
   Controls remain: SQL/file caches disabled, four pipeline tasks, 8 GiB/query, 
120-second timeout, UTC, default external batch mode and threshold 1024. Before 
timing, all 24 Delta cardinalities converged to the independent manifest under 
the default 10-minute FE refresh interval; Hive estimates were recorded 
unchanged. Q85 retains the same fixed join order on both sides, and Q30 retains 
the generator column-name adaptation. First executions are excluded; profiles 
were disabled during timing. Integer/decimal values compare exactly and 
floating results use the existing 1e-8 tolerance.
   
   **Remaining differences:** 32 queries are still over 10% slower; two are 
over twice as slow. The geometric mean of per-query ratios is 1.124, so the 
+4.69% aggregate does not mean uniform per-query parity. Largest absolute 
penalties in the full run:
   
   | Query | Rows | Hive median | Delta median | Extra time |
   | --- | ---: | ---: | ---: | ---: |
   | Q1 | 0 | 80.780 ms | 497.553 ms | 416.773 ms |
   | Q88 | 1 | 1839.121 ms | 2164.950 ms | 325.829 ms |
   | Q80 | 100 | 3006.332 ms | 3315.722 ms | 309.390 ms |
   | Q98 | 2602 | 1678.413 ms | 1960.239 ms | 281.826 ms |
   | Q64 | 2 | 2284.982 ms | 2565.427 ms | 280.446 ms |
   
   Ten complete plans/profiles were captured **after** timing for 
Q1/Q88/Q80/Q22/Q4, with results checked again. They do not replace any full-run 
sample:
   
   - **Scheduling is effective in this workload:** Q22's 
inventory/item/date_dim Delta scans now each use one scanner, versus 64 each in 
the November 2 profile; current Hive also uses one. Both readers emit 2,340,000 
/ 18,000 / 365 scan rows respectively. Q22's full-run medians are 9.319/9.311 
s, and Q4 is now +3.15% rather than the historical +50.7%.
   - **FE translation warrants the next investigation:** Q88's Hive/Delta Plan 
Time is 21/272 ms, including Nereids Translate Time of 5/227 ms (11 ms of Delta 
planning GC). Q80 is 21/201 ms and 3/137 ms, without planning GC; Q4 shows a 
similar difference. These phase counters do not yet isolate a method-level or 
IO root cause.
   - **Q1 has a separate plan/early-termination difference:** Delta prunes the 
store file to zero splits but still reads 100,000 customer, 55,820 
store_returns and 366 date_dim rows. Hive's corresponding scan output is zero 
throughout. Join/runtime-filter placement differs on the multicast CTE paths. 
With only zero/one scanner per node, excess empty scanners no longer explain 
this gap.
   - Q88's eight store_sales scans and Q80's one store_sales scan use two Delta 
scanners versus one Hive scanner for the same 137,160,979-byte file. 
Corresponding scan output counts match. Split granularity/open costs remain a 
candidate for separate measurement, not an established primary cause.
   
   **Limits and delivery:** This is local ASAN / SF1 with SF100 query 
parameters, not RELEASE, certified TPC results, cold-cache or concurrent 
throughput. TPC-H and million-file data IO were not rerun. END-03 and overall 
M1 acceptance remain open. The local tasklist and full report are updated under 
`docs/delta-m1-preflight/benchmark/post-small-table-scheduling-2026-11-06/`, 
including raw samples, comparisons, build logs, artifact hashes, profiles and 
data verification. The local PCH/float.h build conflict was handled with 
`ENABLE_PCH=OFF`; no product/test/golden-file changes were needed. FE/BE, the 
three started dependency containers and Docker Desktop are stopped; all data 
and artifacts are retained.
   


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