You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@datafusion.apache.org by "andygrove (via GitHub)" <gi...@apache.org> on 2026/10/14 18:30:51 UTC

[PR] feat(benchmarks): prototype adaptive hash join mode selection (AQE) [datafusion]

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

   ## Which issue does this PR close?
   
   - Related to #23194 (this does not close it).
   
   ## Rationale for this change
   
   DataFusion picks the mode of each hash join at planning time from estimated statistics. It only collects the build side into a single hash table (`CollectLeft`) when the estimate is under `hash_join_single_partition_threshold` (4 MiB / 128K rows). Otherwise it hash-repartitions both inputs (`Partitioned`). At TPC-H SF100 almost every join comes out `Partitioned`, because estimates for filtered scans, joins and aggregates are rough. Many of those joins have tiny build sides, so the query hash-repartitions hundreds of millions of probe rows for nothing. For example:
   
   - Q9 repartitions all 600M `lineitem` rows to join 1.09M parts.
   - Q17 repartitions all 600M `lineitem` rows for a 20K-row part filter.
   - Q11 repartitions 80M `partsupp` rows to join 1M suppliers.
   
   This draft is a prototype to show what adaptive query execution (AQE) could gain here, and to feed the design discussion in #23194. It is not proposed for merging as is.
   
   ## What changes are included in this PR?
   
   Everything is in the benchmarks crate and uses only public APIs:
   
   - `benchmarks/src/util/adaptive.rs`: `make_adaptive(plan)` runs after normal physical planning. It wraps each `Partitioned` hash join whose probe side is hash-repartitioned in an `AdaptiveHashJoinExec`. On first execution that operator collects the build side, which a hash join must do anyway, up to a threshold:
     - If the build side fits, it runs the same join as `CollectLeft`, probing the probe input as it is, without the repartition.
     - If it does not fit, it stops collecting and runs `Partitioned` as the static plan would. The rest of the build side streams in behind the batches already collected.
   - `dfbench tpch --adaptive`, plus `--adaptive-broadcast-rows` (default 4M), `--adaptive-broadcast-rows-tracking` (default 128K) and `--adaptive-broadcast-probe-ratio` (default 0.05).
   
   The plan is otherwise unchanged:
   
   - **Execution order** is unchanged, so a parent join's dynamic filter still reaches the build sides below it.
   - **Dynamic filter:** the wrapped join keeps the one the optimizer already pushed into the probe scans.
   - **Plan properties** are unchanged, so ancestors are not re-derived and their TopK filters stay wired.
   
   Points that turned out to matter:
   
   1. **Re-planning from materialized stages** is the Spark-style approach. I tried it first: run build sides bottom-up as stages, then re-optimize with exact statistics. It made Q18 2x slower. DataFusion builds top-down along the probe spine, so the semi-join's dynamic filter (with its `KeyRangeBitmap`) prunes the build side of the join below it. A standalone stage loses that filter and builds its hash table on all 150M orders instead of 85.7M.
   2. **Joins that track matched build rows** (`Left`, `LeftSemi`, `LeftAnti`, `LeftMark`, `Full`) share one mutex-protected bitmap across probe threads in `CollectLeft`, which made Q22's anti join 20% slower. They now only broadcast build sides of up to 128K rows.
   3. **Waiting for the whole build side** before deciding cost 6-11% on joins that end up partitioned anyway, so collection stops as soon as the threshold is exceeded.
   4. **Ancestors that rely on hash partitioning:** where an ancestor relies on the join's output being hash partitioned, a broadcast join repartitions its usually much smaller output instead of its probe input (for example, the inner join under Q17's semi join).
   5. **Dynamic filter barrier:** a `Partitioned` hash join waits for every partition to report its build side before it publishes its dynamic filter. Partitions a parent never polls, for example because the parent's own build partition is empty, must still be created and dropped so that they report as canceled. Otherwise the query hangs.
   
   ## Results
   
   TPC-H SF100 parquet, `release-nonlto` build, same binary with and without `--adaptive`, median of 3 runs. The machine is a Ryzen 9 7950X3D (16 cores / 32 threads, 124 GB):
   
   | Query | main (ms) | AQE (ms) | Speedup |
   |---|---:|---:|---:|
   | Q1 | 2,499 | 2,458 | 1.02x |
   | Q2 | 1,421 | 963 | 1.48x |
   | Q3 | 3,390 | 3,334 | 1.02x |
   | Q4 | 1,217 | 1,250 | 0.97x |
   | Q5 | 6,252 | 5,816 | 1.07x |
   | Q6 | 1,154 | 1,174 | 0.98x |
   | Q7 | 10,510 | 8,289 | 1.27x |
   | Q8 | 6,484 | 4,049 | 1.60x |
   | Q9 | 11,952 | 8,169 | 1.46x |
   | Q10 | 4,942 | 5,039 | 0.98x |
   | Q11 | 1,294 | 627 | 2.07x |
   | Q12 | 1,500 | 1,389 | 1.08x |
   | Q13 | 3,420 | 3,425 | 1.00x |
   | Q14 | 1,932 | 1,916 | 1.01x |
   | Q15 | 3,938 | 3,983 | 0.99x |
   | Q16 | 844 | 775 | 1.09x |
   | Q17 | 11,625 | 9,853 | 1.18x |
   | Q18 | 15,838 | 15,886 | 1.00x |
   | Q19 | 2,147 | 2,036 | 1.05x |
   | Q20 | 3,836 | 3,699 | 1.04x |
   | Q21 | 11,744 | 10,721 | 1.10x |
   | Q22 | 533 | 539 | 0.99x |
   | **Total** | **108,472** | **95,390** | **1.14x** |
   
   All the gains come from switching to `CollectLeft` once the real build-side size is known. `dfbench tpch --debug --adaptive` prints each join's decision. On an M3 Ultra (28 cores, 96 GB, median of 6) the total is 1.08x, with the same wins. There, Q21 is 0.92x and Q10 0.93x. Q21 loses because it broadcasts the 1M-row `supplier` table against a narrow 379M-row probe: on that machine repartitioning is cheap and a 1M-entry hash table misses L2, while the 7950X3D's 128 MB L3 holds it. With every join forced to `Partitioned`, Q21 matches main, so the adaptive machinery itself costs nothing there. A real implementation would need a cost model that knows probe width and cache size, not a row threshold.
   
   For comparison, main with the static thresholds simply raised to about the same level (4M rows / 128 MiB) reaches 1.07x on the M3 Ultra, against AQE's 1.08x. It gets the same big wins, because TPC-H's estimates for filtered dimension tables are good enough. It also broadcasts on estimates where it should not: Q22 0.83x, Q21 0.88x, Q13 0.94x and Q18 0.96x, against AQE's 1.02x, 0.92x, 0.98x and 0.99x. It wins Q10 (1.09x) where AQE does not.
   
   SF1000 runs are in progress and will be added here.
   
   ## What is the testing strategy for this PR?
   
   - Unit tests in `adaptive.rs` cover three cases:
     - a small build side is collected, with results equal to the static plan;
     - a build side over the threshold stays partitioned after the early stop;
     - partitions a parent never polls do not hang the query. This test hangs and fails at its timeout without the fix.
   - All 22 TPC-H queries return the same results as main at SF1 under five settings: defaults, everything partitioned, everything collected, batch size 97, and 3 partitions. They also match at SF100 on two different datasets.
   
   ## Are there any user-facing changes?
   
   No. The only additions are the new `dfbench tpch` flags.
   


-- 
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: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] feat: pick hash join mode at runtime from the build side (AQE without stages) [datafusion]

Posted by "avantgardnerio (via GitHub)" <gi...@apache.org>.
avantgardnerio commented on PR #26328:
URL: https://github.com/apache/datafusion/pull/26328#issuecomment-6195206337

   run benchmarks


-- 
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: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] feat: pick hash join mode at runtime from the build side (AQE without stages) [datafusion]

Posted by "adriangbot (via GitHub)" <gi...@apache.org>.
adriangbot commented on PR #26328:
URL: https://github.com/apache/datafusion/pull/26328#issuecomment-6195282135

   πŸ€– Benchmark running (GKE) | [trigger](https://github.com/apache/datafusion/pull/26328#issuecomment-6195206337)
   **Instance:** `c4a-highmem-16` (12 vCPU / 65 GiB) | `Linux bench-c6195206337-3460-z24dr 6.12.94+ #1 SMP Fri Aug 21 08:00:16 UTC 2026 aarch64 GNU/Linux`
   <details><summary>CPU Details (lscpu)</summary>
   
   ```
   Architecture:                            aarch64
   CPU op-mode(s):                          64-bit
   Byte Order:                              Little Endian
   CPU(s):                                  16
   On-line CPU(s) list:                     0-15
   Vendor ID:                               ARM
   Model name:                              Neoverse-V2
   Model:                                   1
   Thread(s) per core:                      1
   Core(s) per cluster:                     16
   Socket(s):                               -
   Cluster(s):                              1
   Stepping:                                r0p1
   BogoMIPS:                                2000.00
   Flags:                                   fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 sve asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp sve2 sveaes svepmull svebitperm svesha3 svesm4 flagm2 frint svei8mm svebf16 i8mm bf16 dgh rng bti
   L1d cache:                               1 MiB (16 instances)
   L1i cache:                               1 MiB (16 instances)
   L2 cache:                                32 MiB (16 instances)
   L3 cache:                                80 MiB (1 instance)
   NUMA node(s):                            1
   NUMA node0 CPU(s):                       0-15
   Vulnerability Gather data sampling:      Not affected
   Vulnerability Indirect target selection: Not affected
   Vulnerability Itlb multihit:             Not affected
   Vulnerability L1tf:                      Not affected
   Vulnerability Mds:                       Not affected
   Vulnerability Meltdown:                  Not affected
   Vulnerability Mmio stale data:           Not affected
   Vulnerability Reg file data sampling:    Not affected
   Vulnerability Retbleed:                  Not affected
   Vulnerability Spec rstack overflow:      Not affected
   Vulnerability Spec store bypass:         Mitigation; Speculative Store Bypass disabled via prctl
   Vulnerability Spectre v1:                Mitigation; __user pointer sanitization
   Vulnerability Spectre v2:                Mitigation; CSV2, BHB
   Vulnerability Srbds:                     Not affected
   Vulnerability Tsa:                       Not affected
   Vulnerability Tsx async abort:           Not affected
   Vulnerability Vmscape:                   Not affected
   ```
   
   </details>
   
   Comparing andygrove/aqe-datafusion-tpc-h-prototype (47b94c4f44225381fde683ef566f142d6bc31be8) to 0d79252 (merge-base) [diff](https://github.com/apache/datafusion/compare/0d79252f61bd8777990b2749c216ffd07079c30d..47b94c4f44225381fde683ef566f142d6bc31be8)
   
   <details><summary>Run configuration</summary>
   
   ```yaml
   run benchmark tpcds
   ```
   
   </details>
   
   Results will be posted here when complete
   
   ---
   [File an issue](https://github.com/adriangb/datafusion-benchmarking/issues) against this benchmark runner


-- 
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: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] feat: pick hash join mode at runtime from the build side (AQE without stages) [datafusion]

Posted by "adriangbot (via GitHub)" <gi...@apache.org>.
adriangbot commented on PR #26328:
URL: https://github.com/apache/datafusion/pull/26328#issuecomment-6195491604

   πŸ€– Benchmark completed (GKE) | [trigger](https://github.com/apache/datafusion/pull/26328#issuecomment-6195206337)
   
   **Instance:** `c4a-highmem-16` (12 vCPU / 65 GiB)
   
   Comparing andygrove/aqe-datafusion-tpc-h-prototype (47b94c4f44225381fde683ef566f142d6bc31be8) to 0d79252 (merge-base) [diff](https://github.com/apache/datafusion/compare/0d79252f61bd8777990b2749c216ffd07079c30d..47b94c4f44225381fde683ef566f142d6bc31be8)
   
   <details><summary>Run configuration</summary>
   
   ```yaml
   run benchmark tpcds
   ```
   
   </details>
   
   <details><summary>CPU Details (lscpu)</summary>
   
   ```
   Architecture:                            aarch64
   CPU op-mode(s):                          64-bit
   Byte Order:                              Little Endian
   CPU(s):                                  16
   On-line CPU(s) list:                     0-15
   Vendor ID:                               ARM
   Model name:                              Neoverse-V2
   Model:                                   1
   Thread(s) per core:                      1
   Core(s) per cluster:                     16
   Socket(s):                               -
   Cluster(s):                              1
   Stepping:                                r0p1
   BogoMIPS:                                2000.00
   Flags:                                   fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 sve asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp sve2 sveaes svepmull svebitperm svesha3 svesm4 flagm2 frint svei8mm svebf16 i8mm bf16 dgh rng bti
   L1d cache:                               1 MiB (16 instances)
   L1i cache:                               1 MiB (16 instances)
   L2 cache:                                32 MiB (16 instances)
   L3 cache:                                80 MiB (1 instance)
   NUMA node(s):                            1
   NUMA node0 CPU(s):                       0-15
   Vulnerability Gather data sampling:      Not affected
   Vulnerability Indirect target selection: Not affected
   Vulnerability Itlb multihit:             Not affected
   Vulnerability L1tf:                      Not affected
   Vulnerability Mds:                       Not affected
   Vulnerability Meltdown:                  Not affected
   Vulnerability Mmio stale data:           Not affected
   Vulnerability Reg file data sampling:    Not affected
   Vulnerability Retbleed:                  Not affected
   Vulnerability Spec rstack overflow:      Not affected
   Vulnerability Spec store bypass:         Mitigation; Speculative Store Bypass disabled via prctl
   Vulnerability Spectre v1:                Mitigation; __user pointer sanitization
   Vulnerability Spectre v2:                Mitigation; CSV2, BHB
   Vulnerability Srbds:                     Not affected
   Vulnerability Tsa:                       Not affected
   Vulnerability Tsx async abort:           Not affected
   Vulnerability Vmscape:                   Not affected
   ```
   
   </details>
   
   <details><summary>Details</summary>
   <p>
   
   ```
   Comparing HEAD and andygrove_aqe-datafusion-tpc-h-prototype
   --------------------
   Benchmark tpcds_sf1.json
   --------------------
   ┏━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
   ┃ Query     ┃       HEAD ┃ andygrove_aqe-datafusion-tpc-h-prototype ┃        Change ┃
   ┑━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
   β”‚ QQuery 1  β”‚    6.03 ms β”‚                                  5.95 ms β”‚     no change β”‚
   β”‚ QQuery 2  β”‚   84.28 ms β”‚                                 81.87 ms β”‚     no change β”‚
   β”‚ QQuery 3  β”‚   30.87 ms β”‚                                 29.95 ms β”‚     no change β”‚
   β”‚ QQuery 4  β”‚  520.13 ms β”‚                                522.38 ms β”‚     no change β”‚
   β”‚ QQuery 5  β”‚   53.01 ms β”‚                                 52.01 ms β”‚     no change β”‚
   β”‚ QQuery 6  β”‚   37.83 ms β”‚                                 36.15 ms β”‚     no change β”‚
   β”‚ QQuery 7  β”‚   74.92 ms β”‚                                 73.80 ms β”‚     no change β”‚
   β”‚ QQuery 8  β”‚   37.13 ms β”‚                                 37.30 ms β”‚     no change β”‚
   β”‚ QQuery 9  β”‚   53.73 ms β”‚                                 54.85 ms β”‚     no change β”‚
   β”‚ QQuery 10 β”‚   61.60 ms β”‚                                 61.54 ms β”‚     no change β”‚
   β”‚ QQuery 11 β”‚  341.72 ms β”‚                                316.70 ms β”‚ +1.08x faster β”‚
   β”‚ QQuery 12 β”‚   32.90 ms β”‚                                 31.04 ms β”‚ +1.06x faster β”‚
   β”‚ QQuery 13 β”‚  122.92 ms β”‚                                119.30 ms β”‚     no change β”‚
   β”‚ QQuery 14 β”‚  409.31 ms β”‚                                394.59 ms β”‚     no change β”‚
   β”‚ QQuery 15 β”‚   65.45 ms β”‚                                 61.30 ms β”‚ +1.07x faster β”‚
   β”‚ QQuery 16 β”‚    6.77 ms β”‚                                  6.57 ms β”‚     no change β”‚
   β”‚ QQuery 17 β”‚   82.49 ms β”‚                                 80.84 ms β”‚     no change β”‚
   β”‚ QQuery 18 β”‚  114.11 ms β”‚                                112.09 ms β”‚     no change β”‚
   β”‚ QQuery 19 β”‚   44.00 ms β”‚                                 41.90 ms β”‚     no change β”‚
   β”‚ QQuery 20 β”‚   40.23 ms β”‚                                 36.52 ms β”‚ +1.10x faster β”‚
   β”‚ QQuery 21 β”‚   18.38 ms β”‚                                 17.41 ms β”‚ +1.06x faster β”‚
   β”‚ QQuery 22 β”‚   71.67 ms β”‚                                 71.20 ms β”‚     no change β”‚
   β”‚ QQuery 23 β”‚  350.57 ms β”‚                                346.30 ms β”‚     no change β”‚
   β”‚ QQuery 24 β”‚  214.91 ms β”‚                                213.12 ms β”‚     no change β”‚
   β”‚ QQuery 25 β”‚  115.07 ms β”‚                                113.41 ms β”‚     no change β”‚
   β”‚ QQuery 26 β”‚   48.11 ms β”‚                                 49.31 ms β”‚     no change β”‚
   β”‚ QQuery 27 β”‚    7.00 ms β”‚                                  6.91 ms β”‚     no change β”‚
   β”‚ QQuery 28 β”‚   62.41 ms β”‚                                 58.11 ms β”‚ +1.07x faster β”‚
   β”‚ QQuery 29 β”‚   99.40 ms β”‚                                101.91 ms β”‚     no change β”‚
   β”‚ QQuery 30 β”‚   34.84 ms β”‚                                 37.39 ms β”‚  1.07x slower β”‚
   β”‚ QQuery 31 β”‚  111.87 ms β”‚                                117.40 ms β”‚     no change β”‚
   β”‚ QQuery 32 β”‚   21.22 ms β”‚                                 21.97 ms β”‚     no change β”‚
   β”‚ QQuery 33 β”‚   37.84 ms β”‚                                 39.29 ms β”‚     no change β”‚
   β”‚ QQuery 34 β”‚   10.51 ms β”‚                                 11.46 ms β”‚  1.09x slower β”‚
   β”‚ QQuery 35 β”‚   79.27 ms β”‚                                 81.97 ms β”‚     no change β”‚
   β”‚ QQuery 36 β”‚    6.53 ms β”‚                                  6.47 ms β”‚     no change β”‚
   β”‚ QQuery 37 β”‚    7.51 ms β”‚                                  7.46 ms β”‚     no change β”‚
   β”‚ QQuery 38 β”‚   65.80 ms β”‚                                 67.46 ms β”‚     no change β”‚
   β”‚ QQuery 39 β”‚   78.11 ms β”‚                                 80.52 ms β”‚     no change β”‚
   β”‚ QQuery 40 β”‚   25.60 ms β”‚                                 25.76 ms β”‚     no change β”‚
   β”‚ QQuery 41 β”‚   12.98 ms β”‚                                 13.30 ms β”‚     no change β”‚
   β”‚ QQuery 42 β”‚   24.76 ms β”‚                                 25.62 ms β”‚     no change β”‚
   β”‚ QQuery 43 β”‚    5.45 ms β”‚                                  5.80 ms β”‚  1.06x slower β”‚
   β”‚ QQuery 44 β”‚    9.44 ms β”‚                                 10.10 ms β”‚  1.07x slower β”‚
   β”‚ QQuery 45 β”‚   47.58 ms β”‚                                 49.65 ms β”‚     no change β”‚
   β”‚ QQuery 46 β”‚   12.97 ms β”‚                                 14.08 ms β”‚  1.09x slower β”‚
   β”‚ QQuery 47 β”‚  264.23 ms β”‚                                264.85 ms β”‚     no change β”‚
   β”‚ QQuery 48 β”‚   93.98 ms β”‚                                 95.65 ms β”‚     no change β”‚
   β”‚ QQuery 49 β”‚   75.01 ms β”‚                                 73.12 ms β”‚     no change β”‚
   β”‚ QQuery 50 β”‚   62.23 ms β”‚                                 60.87 ms β”‚     no change β”‚
   β”‚ QQuery 51 β”‚   98.72 ms β”‚                                 95.16 ms β”‚     no change β”‚
   β”‚ QQuery 52 β”‚   25.29 ms β”‚                                 25.18 ms β”‚     no change β”‚
   β”‚ QQuery 53 β”‚   30.56 ms β”‚                                 30.23 ms β”‚     no change β”‚
   β”‚ QQuery 54 β”‚   55.92 ms β”‚                                 54.91 ms β”‚     no change β”‚
   β”‚ QQuery 55 β”‚   25.25 ms β”‚                                 24.74 ms β”‚     no change β”‚
   β”‚ QQuery 56 β”‚   40.69 ms β”‚                                 39.72 ms β”‚     no change β”‚
   β”‚ QQuery 57 β”‚  182.72 ms β”‚                                174.62 ms β”‚     no change β”‚
   β”‚ QQuery 58 β”‚  112.44 ms β”‚                                110.76 ms β”‚     no change β”‚
   β”‚ QQuery 59 β”‚  119.94 ms β”‚                                116.64 ms β”‚     no change β”‚
   β”‚ QQuery 60 β”‚   40.57 ms β”‚                                 38.82 ms β”‚     no change β”‚
   β”‚ QQuery 61 β”‚   12.18 ms β”‚                                 11.30 ms β”‚ +1.08x faster β”‚
   β”‚ QQuery 62 β”‚   46.84 ms β”‚                                 44.54 ms β”‚     no change β”‚
   β”‚ QQuery 63 β”‚   30.81 ms β”‚                                 30.02 ms β”‚     no change β”‚
   β”‚ QQuery 64 β”‚  395.34 ms β”‚                                382.96 ms β”‚     no change β”‚
   β”‚ QQuery 65 β”‚  139.26 ms β”‚                                139.54 ms β”‚     no change β”‚
   β”‚ QQuery 66 β”‚   82.07 ms β”‚                                 80.75 ms β”‚     no change β”‚
   β”‚ QQuery 67 β”‚  290.31 ms β”‚                                278.81 ms β”‚     no change β”‚
   β”‚ QQuery 68 β”‚   12.76 ms β”‚                                 13.09 ms β”‚     no change β”‚
   β”‚ QQuery 69 β”‚   58.40 ms β”‚                                 57.72 ms β”‚     no change β”‚
   β”‚ QQuery 70 β”‚  107.09 ms β”‚                                106.81 ms β”‚     no change β”‚
   β”‚ QQuery 71 β”‚   36.02 ms β”‚                                 36.97 ms β”‚     no change β”‚
   β”‚ QQuery 72 β”‚ 1773.66 ms β”‚                               1788.13 ms β”‚     no change β”‚
   β”‚ QQuery 73 β”‚   11.27 ms β”‚                                 11.08 ms β”‚     no change β”‚
   β”‚ QQuery 74 β”‚  202.85 ms β”‚                                198.73 ms β”‚     no change β”‚
   β”‚ QQuery 75 β”‚  149.62 ms β”‚                                146.25 ms β”‚     no change β”‚
   β”‚ QQuery 76 β”‚   36.41 ms β”‚                                 35.75 ms β”‚     no change β”‚
   β”‚ QQuery 77 β”‚   63.31 ms β”‚                                 61.78 ms β”‚     no change β”‚
   β”‚ QQuery 78 β”‚  178.36 ms β”‚                                173.80 ms β”‚     no change β”‚
   β”‚ QQuery 79 β”‚   70.07 ms β”‚                                 71.31 ms β”‚     no change β”‚
   β”‚ QQuery 80 β”‚  101.85 ms β”‚                                104.78 ms β”‚     no change β”‚
   β”‚ QQuery 81 β”‚   26.99 ms β”‚                                 28.95 ms β”‚  1.07x slower β”‚
   β”‚ QQuery 82 β”‚   17.24 ms β”‚                                 18.05 ms β”‚     no change β”‚
   β”‚ QQuery 83 β”‚   34.10 ms β”‚                                 34.56 ms β”‚     no change β”‚
   β”‚ QQuery 84 β”‚   30.82 ms β”‚                                 30.88 ms β”‚     no change β”‚
   β”‚ QQuery 85 β”‚  101.81 ms β”‚                                104.13 ms β”‚     no change β”‚
   β”‚ QQuery 86 β”‚   27.36 ms β”‚                                 27.63 ms β”‚     no change β”‚
   β”‚ QQuery 87 β”‚   68.66 ms β”‚                                 67.96 ms β”‚     no change β”‚
   β”‚ QQuery 88 β”‚   62.26 ms β”‚                                 61.06 ms β”‚     no change β”‚
   β”‚ QQuery 89 β”‚   37.64 ms β”‚                                 36.90 ms β”‚     no change β”‚
   β”‚ QQuery 90 β”‚   17.71 ms β”‚                                 17.59 ms β”‚     no change β”‚
   β”‚ QQuery 91 β”‚   43.06 ms β”‚                                 42.44 ms β”‚     no change β”‚
   β”‚ QQuery 92 β”‚   31.20 ms β”‚                                 30.90 ms β”‚     no change β”‚
   β”‚ QQuery 93 β”‚   52.28 ms β”‚                                 51.99 ms β”‚     no change β”‚
   β”‚ QQuery 94 β”‚   40.45 ms β”‚                                 40.05 ms β”‚     no change β”‚
   β”‚ QQuery 95 β”‚   82.83 ms β”‚                                 83.81 ms β”‚     no change β”‚
   β”‚ QQuery 96 β”‚   24.76 ms β”‚                                 24.52 ms β”‚     no change β”‚
   β”‚ QQuery 97 β”‚   53.79 ms β”‚                                 53.27 ms β”‚     no change β”‚
   β”‚ QQuery 98 β”‚   47.77 ms β”‚                                 46.58 ms β”‚     no change β”‚
   β”‚ QQuery 99 β”‚   67.64 ms β”‚                                 66.54 ms β”‚     no change β”‚
   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
   ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
   ┃ Benchmark Summary                                       ┃           ┃
   ┑━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
   β”‚ Total Time (HEAD)                                       β”‚ 9693.65ms β”‚
   β”‚ Total Time (andygrove_aqe-datafusion-tpc-h-prototype)   β”‚ 9597.22ms β”‚
   β”‚ Average Time (HEAD)                                     β”‚   97.92ms β”‚
   β”‚ Average Time (andygrove_aqe-datafusion-tpc-h-prototype) β”‚   96.94ms β”‚
   β”‚ Queries Faster                                          β”‚         7 β”‚
   β”‚ Queries Slower                                          β”‚         6 β”‚
   β”‚ Queries with No Change                                  β”‚        86 β”‚
   β”‚ Queries with Failure                                    β”‚         0 β”‚
   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
   
   Distribution per query (min / mean Β±stddev / max):
   
   Comparing HEAD and andygrove_aqe-datafusion-tpc-h-prototype
   --------------------
   Benchmark tpcds_sf1.json
   --------------------
   ┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
   ┃ Query     ┃                                   HEAD ┃ andygrove_aqe-datafusion-tpc-h-prototype ┃        Change ┃
   ┑━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
   β”‚ QQuery 1  β”‚            6.03 / 6.70 Β±1.02 / 8.74 ms β”‚              5.95 / 6.61 Β±0.99 / 8.58 ms β”‚     no change β”‚
   β”‚ QQuery 2  β”‚         84.28 / 84.72 Β±0.38 / 85.43 ms β”‚           81.87 / 82.58 Β±0.59 / 83.47 ms β”‚     no change β”‚
   β”‚ QQuery 3  β”‚         30.87 / 31.03 Β±0.17 / 31.25 ms β”‚           29.95 / 30.32 Β±0.27 / 30.67 ms β”‚     no change β”‚
   β”‚ QQuery 4  β”‚     520.13 / 535.24 Β±11.00 / 553.29 ms β”‚        522.38 / 528.33 Β±6.17 / 537.52 ms β”‚     no change β”‚
   β”‚ QQuery 5  β”‚         53.01 / 53.40 Β±0.30 / 53.88 ms β”‚           52.01 / 52.35 Β±0.41 / 53.16 ms β”‚     no change β”‚
   β”‚ QQuery 6  β”‚         37.83 / 38.53 Β±0.47 / 39.01 ms β”‚           36.15 / 36.58 Β±0.40 / 37.29 ms β”‚ +1.05x faster β”‚
   β”‚ QQuery 7  β”‚         74.92 / 75.97 Β±1.41 / 78.75 ms β”‚           73.80 / 75.36 Β±2.55 / 80.46 ms β”‚     no change β”‚
   β”‚ QQuery 8  β”‚         37.13 / 37.51 Β±0.24 / 37.83 ms β”‚           37.30 / 38.07 Β±0.48 / 38.59 ms β”‚     no change β”‚
   β”‚ QQuery 9  β”‚         53.73 / 54.77 Β±0.68 / 55.80 ms β”‚           54.85 / 56.54 Β±1.29 / 57.93 ms β”‚     no change β”‚
   β”‚ QQuery 10 β”‚         61.60 / 62.16 Β±0.55 / 63.18 ms β”‚           61.54 / 61.92 Β±0.29 / 62.29 ms β”‚     no change β”‚
   β”‚ QQuery 11 β”‚      341.72 / 348.69 Β±6.21 / 358.15 ms β”‚       316.70 / 333.24 Β±10.30 / 347.85 ms β”‚     no change β”‚
   β”‚ QQuery 12 β”‚         32.90 / 33.32 Β±0.37 / 33.81 ms β”‚           31.04 / 32.01 Β±0.78 / 33.23 ms β”‚     no change β”‚
   β”‚ QQuery 13 β”‚      122.92 / 124.39 Β±1.96 / 128.18 ms β”‚        119.30 / 122.75 Β±4.14 / 130.78 ms β”‚     no change β”‚
   β”‚ QQuery 14 β”‚      409.31 / 412.45 Β±3.68 / 418.50 ms β”‚        394.59 / 404.05 Β±7.08 / 411.44 ms β”‚     no change β”‚
   β”‚ QQuery 15 β”‚         65.45 / 66.45 Β±0.68 / 67.52 ms β”‚           61.30 / 64.21 Β±1.67 / 65.98 ms β”‚     no change β”‚
   β”‚ QQuery 16 β”‚            6.77 / 6.98 Β±0.19 / 7.32 ms β”‚              6.57 / 6.73 Β±0.13 / 6.88 ms β”‚     no change β”‚
   β”‚ QQuery 17 β”‚         82.49 / 84.18 Β±1.64 / 87.15 ms β”‚           80.84 / 83.78 Β±2.92 / 88.58 ms β”‚     no change β”‚
   β”‚ QQuery 18 β”‚      114.11 / 115.25 Β±1.32 / 117.72 ms β”‚        112.09 / 113.31 Β±0.86 / 114.55 ms β”‚     no change β”‚
   β”‚ QQuery 19 β”‚         44.00 / 45.58 Β±1.72 / 48.71 ms β”‚           41.90 / 42.83 Β±0.58 / 43.71 ms β”‚ +1.06x faster β”‚
   β”‚ QQuery 20 β”‚         40.23 / 40.68 Β±0.35 / 41.21 ms β”‚           36.52 / 37.21 Β±0.63 / 38.17 ms β”‚ +1.09x faster β”‚
   β”‚ QQuery 21 β”‚         18.38 / 18.72 Β±0.25 / 19.02 ms β”‚           17.41 / 18.23 Β±1.21 / 20.62 ms β”‚     no change β”‚
   β”‚ QQuery 22 β”‚         71.67 / 72.91 Β±0.88 / 74.20 ms β”‚           71.20 / 72.33 Β±0.73 / 73.09 ms β”‚     no change β”‚
   β”‚ QQuery 23 β”‚      350.57 / 356.44 Β±4.14 / 362.97 ms β”‚        346.30 / 353.09 Β±5.21 / 359.36 ms β”‚     no change β”‚
   β”‚ QQuery 24 β”‚      214.91 / 221.64 Β±5.61 / 229.36 ms β”‚        213.12 / 219.26 Β±7.45 / 228.46 ms β”‚     no change β”‚
   β”‚ QQuery 25 β”‚      115.07 / 117.34 Β±2.61 / 122.07 ms β”‚        113.41 / 114.94 Β±0.86 / 115.94 ms β”‚     no change β”‚
   β”‚ QQuery 26 β”‚         48.11 / 48.49 Β±0.23 / 48.75 ms β”‚           49.31 / 50.86 Β±1.38 / 53.25 ms β”‚     no change β”‚
   β”‚ QQuery 27 β”‚            7.00 / 7.15 Β±0.10 / 7.25 ms β”‚              6.91 / 7.10 Β±0.12 / 7.27 ms β”‚     no change β”‚
   β”‚ QQuery 28 β”‚         62.41 / 63.26 Β±0.66 / 64.43 ms β”‚           58.11 / 61.74 Β±2.76 / 65.21 ms β”‚     no change β”‚
   β”‚ QQuery 29 β”‚       99.40 / 103.95 Β±6.53 / 116.86 ms β”‚        101.91 / 103.95 Β±2.60 / 108.93 ms β”‚     no change β”‚
   β”‚ QQuery 30 β”‚         34.84 / 35.16 Β±0.32 / 35.67 ms β”‚           37.39 / 38.02 Β±0.65 / 38.93 ms β”‚  1.08x slower β”‚
   β”‚ QQuery 31 β”‚      111.87 / 113.66 Β±1.37 / 115.12 ms β”‚        117.40 / 118.14 Β±0.47 / 118.87 ms β”‚     no change β”‚
   β”‚ QQuery 32 β”‚         21.22 / 22.12 Β±1.06 / 24.14 ms β”‚           21.97 / 22.10 Β±0.08 / 22.19 ms β”‚     no change β”‚
   β”‚ QQuery 33 β”‚         37.84 / 38.01 Β±0.28 / 38.56 ms β”‚           39.29 / 40.21 Β±0.70 / 41.00 ms β”‚  1.06x slower β”‚
   β”‚ QQuery 34 β”‚         10.51 / 10.83 Β±0.18 / 11.02 ms β”‚           11.46 / 11.69 Β±0.32 / 12.29 ms β”‚  1.08x slower β”‚
   β”‚ QQuery 35 β”‚         79.27 / 80.38 Β±0.66 / 81.34 ms β”‚           81.97 / 83.34 Β±1.03 / 84.34 ms β”‚     no change β”‚
   β”‚ QQuery 36 β”‚            6.53 / 6.63 Β±0.11 / 6.83 ms β”‚              6.47 / 6.55 Β±0.08 / 6.67 ms β”‚     no change β”‚
   β”‚ QQuery 37 β”‚            7.51 / 7.59 Β±0.07 / 7.69 ms β”‚              7.46 / 7.72 Β±0.15 / 7.93 ms β”‚     no change β”‚
   β”‚ QQuery 38 β”‚         65.80 / 67.17 Β±1.02 / 68.98 ms β”‚           67.46 / 69.39 Β±1.99 / 73.19 ms β”‚     no change β”‚
   β”‚ QQuery 39 β”‚         78.11 / 78.83 Β±0.66 / 79.99 ms β”‚           80.52 / 82.11 Β±1.19 / 83.56 ms β”‚     no change β”‚
   β”‚ QQuery 40 β”‚         25.60 / 25.99 Β±0.25 / 26.29 ms β”‚           25.76 / 26.79 Β±0.83 / 27.77 ms β”‚     no change β”‚
   β”‚ QQuery 41 β”‚         12.98 / 13.26 Β±0.15 / 13.37 ms β”‚           13.30 / 13.46 Β±0.13 / 13.60 ms β”‚     no change β”‚
   β”‚ QQuery 42 β”‚         24.76 / 24.89 Β±0.08 / 24.97 ms β”‚           25.62 / 25.74 Β±0.11 / 25.90 ms β”‚     no change β”‚
   β”‚ QQuery 43 β”‚            5.45 / 5.50 Β±0.06 / 5.62 ms β”‚              5.80 / 5.93 Β±0.12 / 6.14 ms β”‚  1.08x slower β”‚
   β”‚ QQuery 44 β”‚            9.44 / 9.60 Β±0.11 / 9.73 ms β”‚           10.10 / 10.28 Β±0.10 / 10.40 ms β”‚  1.07x slower β”‚
   β”‚ QQuery 45 β”‚         47.58 / 48.94 Β±1.48 / 51.53 ms β”‚           49.65 / 51.93 Β±3.00 / 57.76 ms β”‚  1.06x slower β”‚
   β”‚ QQuery 46 β”‚         12.97 / 13.70 Β±0.57 / 14.74 ms β”‚           14.08 / 14.32 Β±0.19 / 14.53 ms β”‚     no change β”‚
   β”‚ QQuery 47 β”‚      264.23 / 274.67 Β±6.03 / 281.99 ms β”‚        264.85 / 278.42 Β±7.36 / 286.52 ms β”‚     no change β”‚
   β”‚ QQuery 48 β”‚         93.98 / 95.74 Β±2.19 / 99.81 ms β”‚          95.65 / 97.15 Β±1.50 / 100.01 ms β”‚     no change β”‚
   β”‚ QQuery 49 β”‚         75.01 / 75.87 Β±0.61 / 76.55 ms β”‚           73.12 / 74.31 Β±1.83 / 77.95 ms β”‚     no change β”‚
   β”‚ QQuery 50 β”‚         62.23 / 62.69 Β±0.35 / 63.31 ms β”‚           60.87 / 61.45 Β±0.57 / 62.38 ms β”‚     no change β”‚
   β”‚ QQuery 51 β”‚       98.72 / 100.18 Β±1.12 / 101.69 ms β”‚         95.16 / 101.06 Β±7.44 / 115.74 ms β”‚     no change β”‚
   β”‚ QQuery 52 β”‚         25.29 / 25.74 Β±0.23 / 25.93 ms β”‚           25.18 / 25.92 Β±0.53 / 26.83 ms β”‚     no change β”‚
   β”‚ QQuery 53 β”‚         30.56 / 30.93 Β±0.26 / 31.24 ms β”‚           30.23 / 30.63 Β±0.25 / 30.92 ms β”‚     no change β”‚
   β”‚ QQuery 54 β”‚         55.92 / 56.53 Β±0.62 / 57.34 ms β”‚           54.91 / 55.72 Β±0.59 / 56.59 ms β”‚     no change β”‚
   β”‚ QQuery 55 β”‚         25.25 / 25.50 Β±0.21 / 25.82 ms β”‚           24.74 / 25.23 Β±0.28 / 25.62 ms β”‚     no change β”‚
   β”‚ QQuery 56 β”‚         40.69 / 41.40 Β±0.53 / 42.11 ms β”‚           39.72 / 41.05 Β±0.87 / 42.26 ms β”‚     no change β”‚
   β”‚ QQuery 57 β”‚      182.72 / 185.32 Β±2.84 / 189.60 ms β”‚        174.62 / 179.03 Β±2.67 / 181.94 ms β”‚     no change β”‚
   β”‚ QQuery 58 β”‚      112.44 / 112.93 Β±0.67 / 114.25 ms β”‚        110.76 / 112.79 Β±2.85 / 118.23 ms β”‚     no change β”‚
   β”‚ QQuery 59 β”‚      119.94 / 121.76 Β±1.42 / 123.60 ms β”‚        116.64 / 118.41 Β±1.04 / 119.34 ms β”‚     no change β”‚
   β”‚ QQuery 60 β”‚         40.57 / 41.28 Β±0.51 / 42.06 ms β”‚           38.82 / 40.24 Β±0.91 / 41.53 ms β”‚     no change β”‚
   β”‚ QQuery 61 β”‚         12.18 / 12.41 Β±0.21 / 12.75 ms β”‚           11.30 / 11.67 Β±0.29 / 12.14 ms β”‚ +1.06x faster β”‚
   β”‚ QQuery 62 β”‚         46.84 / 47.36 Β±0.51 / 48.30 ms β”‚           44.54 / 45.12 Β±0.35 / 45.54 ms β”‚     no change β”‚
   β”‚ QQuery 63 β”‚         30.81 / 31.25 Β±0.32 / 31.68 ms β”‚           30.02 / 30.30 Β±0.15 / 30.45 ms β”‚     no change β”‚
   β”‚ QQuery 64 β”‚      395.34 / 402.32 Β±4.57 / 407.89 ms β”‚        382.96 / 388.28 Β±5.16 / 397.14 ms β”‚     no change β”‚
   β”‚ QQuery 65 β”‚      139.26 / 141.48 Β±1.87 / 144.87 ms β”‚        139.54 / 142.56 Β±2.06 / 145.21 ms β”‚     no change β”‚
   β”‚ QQuery 66 β”‚         82.07 / 85.04 Β±3.24 / 89.41 ms β”‚           80.75 / 81.52 Β±0.70 / 82.77 ms β”‚     no change β”‚
   β”‚ QQuery 67 β”‚      290.31 / 297.36 Β±4.82 / 304.29 ms β”‚       278.81 / 290.76 Β±11.23 / 304.95 ms β”‚     no change β”‚
   β”‚ QQuery 68 β”‚         12.76 / 12.99 Β±0.18 / 13.23 ms β”‚           13.09 / 13.44 Β±0.36 / 14.14 ms β”‚     no change β”‚
   β”‚ QQuery 69 β”‚         58.40 / 59.16 Β±0.63 / 59.99 ms β”‚           57.72 / 58.65 Β±0.59 / 59.33 ms β”‚     no change β”‚
   β”‚ QQuery 70 β”‚      107.09 / 112.62 Β±8.56 / 129.68 ms β”‚        106.81 / 112.59 Β±6.22 / 124.10 ms β”‚     no change β”‚
   β”‚ QQuery 71 β”‚         36.02 / 36.40 Β±0.24 / 36.71 ms β”‚           36.97 / 38.14 Β±0.65 / 38.90 ms β”‚     no change β”‚
   β”‚ QQuery 72 β”‚ 1773.66 / 1938.61 Β±122.53 / 2060.94 ms β”‚    1788.13 / 1929.54 Β±80.44 / 2010.98 ms β”‚     no change β”‚
   β”‚ QQuery 73 β”‚         11.27 / 12.00 Β±0.54 / 12.54 ms β”‚           11.08 / 11.42 Β±0.41 / 12.13 ms β”‚     no change β”‚
   β”‚ QQuery 74 β”‚      202.85 / 205.03 Β±3.06 / 211.03 ms β”‚        198.73 / 203.20 Β±4.10 / 209.98 ms β”‚     no change β”‚
   β”‚ QQuery 75 β”‚      149.62 / 153.21 Β±6.03 / 165.24 ms β”‚        146.25 / 148.91 Β±2.94 / 153.76 ms β”‚     no change β”‚
   β”‚ QQuery 76 β”‚         36.41 / 36.86 Β±0.46 / 37.53 ms β”‚           35.75 / 36.41 Β±0.38 / 36.88 ms β”‚     no change β”‚
   β”‚ QQuery 77 β”‚         63.31 / 63.92 Β±0.35 / 64.35 ms β”‚           61.78 / 62.90 Β±0.72 / 63.97 ms β”‚     no change β”‚
   β”‚ QQuery 78 β”‚      178.36 / 186.92 Β±5.73 / 195.43 ms β”‚       173.80 / 186.35 Β±12.37 / 208.71 ms β”‚     no change β”‚
   β”‚ QQuery 79 β”‚         70.07 / 70.83 Β±0.60 / 71.55 ms β”‚           71.31 / 72.11 Β±0.53 / 72.91 ms β”‚     no change β”‚
   β”‚ QQuery 80 β”‚      101.85 / 104.63 Β±1.88 / 107.59 ms β”‚        104.78 / 109.07 Β±5.72 / 120.29 ms β”‚     no change β”‚
   β”‚ QQuery 81 β”‚         26.99 / 27.20 Β±0.19 / 27.56 ms β”‚           28.95 / 30.61 Β±1.54 / 33.32 ms β”‚  1.13x slower β”‚
   β”‚ QQuery 82 β”‚         17.24 / 17.43 Β±0.14 / 17.66 ms β”‚           18.05 / 18.74 Β±0.43 / 19.26 ms β”‚  1.08x slower β”‚
   β”‚ QQuery 83 β”‚         34.10 / 34.39 Β±0.17 / 34.60 ms β”‚           34.56 / 35.32 Β±0.60 / 36.04 ms β”‚     no change β”‚
   β”‚ QQuery 84 β”‚         30.82 / 32.11 Β±2.03 / 36.14 ms β”‚           30.88 / 31.17 Β±0.41 / 31.96 ms β”‚     no change β”‚
   β”‚ QQuery 85 β”‚      101.81 / 104.20 Β±2.52 / 108.90 ms β”‚        104.13 / 109.17 Β±8.62 / 126.36 ms β”‚     no change β”‚
   β”‚ QQuery 86 β”‚         27.36 / 27.75 Β±0.38 / 28.37 ms β”‚           27.63 / 28.13 Β±0.56 / 29.16 ms β”‚     no change β”‚
   β”‚ QQuery 87 β”‚         68.66 / 70.55 Β±1.88 / 73.94 ms β”‚           67.96 / 69.36 Β±0.99 / 70.66 ms β”‚     no change β”‚
   β”‚ QQuery 88 β”‚         62.26 / 64.90 Β±4.39 / 73.65 ms β”‚           61.06 / 61.91 Β±0.50 / 62.38 ms β”‚     no change β”‚
   β”‚ QQuery 89 β”‚         37.64 / 38.39 Β±0.86 / 40.07 ms β”‚           36.90 / 37.93 Β±0.59 / 38.61 ms β”‚     no change β”‚
   β”‚ QQuery 90 β”‚         17.71 / 17.97 Β±0.20 / 18.25 ms β”‚           17.59 / 17.76 Β±0.20 / 18.08 ms β”‚     no change β”‚
   β”‚ QQuery 91 β”‚         43.06 / 43.83 Β±0.57 / 44.79 ms β”‚           42.44 / 42.95 Β±0.33 / 43.38 ms β”‚     no change β”‚
   β”‚ QQuery 92 β”‚         31.20 / 32.48 Β±1.71 / 35.86 ms β”‚           30.90 / 31.55 Β±0.46 / 32.07 ms β”‚     no change β”‚
   β”‚ QQuery 93 β”‚         52.28 / 54.22 Β±2.32 / 58.52 ms β”‚           51.99 / 52.86 Β±0.72 / 53.87 ms β”‚     no change β”‚
   β”‚ QQuery 94 β”‚         40.45 / 40.69 Β±0.33 / 41.29 ms β”‚           40.05 / 41.58 Β±1.80 / 45.07 ms β”‚     no change β”‚
   β”‚ QQuery 95 β”‚         82.83 / 84.13 Β±1.00 / 85.89 ms β”‚           83.81 / 86.01 Β±1.52 / 88.04 ms β”‚     no change β”‚
   β”‚ QQuery 96 β”‚         24.76 / 25.79 Β±1.80 / 29.38 ms β”‚           24.52 / 24.59 Β±0.04 / 24.65 ms β”‚     no change β”‚
   β”‚ QQuery 97 β”‚         53.79 / 56.02 Β±1.93 / 59.44 ms β”‚           53.27 / 54.27 Β±1.12 / 55.76 ms β”‚     no change β”‚
   β”‚ QQuery 98 β”‚         47.77 / 48.67 Β±0.57 / 49.24 ms β”‚           46.58 / 47.15 Β±0.65 / 48.38 ms β”‚     no change β”‚
   β”‚ QQuery 99 β”‚         67.64 / 68.66 Β±0.57 / 69.14 ms β”‚           66.54 / 66.92 Β±0.30 / 67.38 ms β”‚     no change β”‚
   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
   ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
   ┃ Benchmark Summary                                       ┃            ┃
   ┑━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
   β”‚ Total Time (HEAD)                                       β”‚ 10020.48ms β”‚
   β”‚ Total Time (andygrove_aqe-datafusion-tpc-h-prototype)   β”‚  9940.34ms β”‚
   β”‚ Average Time (HEAD)                                     β”‚   101.22ms β”‚
   β”‚ Average Time (andygrove_aqe-datafusion-tpc-h-prototype) β”‚   100.41ms β”‚
   β”‚ Queries Faster                                          β”‚          4 β”‚
   β”‚ Queries Slower                                          β”‚          8 β”‚
   β”‚ Queries with No Change                                  β”‚         87 β”‚
   β”‚ Queries with Failure                                    β”‚          0 β”‚
   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
   ```
   
   </p>
   </details>
   
   <details><summary>Resource Usage</summary>
   
   **tpcds β€” base (merge-base)**
   | Metric | Value |
   |--------|-------|
   | Wall time | 55.0s |
   | Peak memory | 1.9 GiB |
   | Avg memory | 1.2 GiB |
   | CPU user | 218.8s |
   | CPU sys | 6.4s |
   | Peak spill | 0 B |
   
   **tpcds β€” branch**
   | Metric | Value |
   |--------|-------|
   | Wall time | 55.0s |
   | Peak memory | 2.0 GiB |
   | Avg memory | 1.3 GiB |
   | CPU user | 213.9s |
   | CPU sys | 6.3s |
   | Peak spill | 0 B |
   
   </details>
   
   
   ---
   [File an issue](https://github.com/adriangb/datafusion-benchmarking/issues) against this benchmark runner


-- 
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: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] feat: pick hash join mode at runtime from the build side (AQE without stages) [datafusion]

Posted by "andygrove (via GitHub)" <gi...@apache.org>.
andygrove commented on PR #26328:
URL: https://github.com/apache/datafusion/pull/26328#issuecomment-6220359936

   > run benchmarks
   
   I know we discussed this offline already, but for the benefit of other reviewers, the new feature is disabled by default so there should be no change in benchmark results.


-- 
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: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] feat: pick hash join mode at runtime from the build side (AQE without stages) [datafusion]

Posted by "github-actions[bot] (via GitHub) via github" <gi...@datafusion.apache.org>.
github-actions[bot] commented on PR #26328:
URL: https://github.com/apache/datafusion/pull/26328#issuecomment-6536958846

   Marked as draft after 14 days without activity: merge conflicts.
   
   Please address these items and mark **Ready for review** when ready.


-- 
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: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] feat: pick hash join mode at runtime from the build side (AQE without stages) [datafusion]

Posted by "adriangbot (via GitHub)" <gi...@apache.org>.
adriangbot commented on PR #26328:
URL: https://github.com/apache/datafusion/pull/26328#issuecomment-6195272141

   πŸ€– Benchmark running (GKE) | [trigger](https://github.com/apache/datafusion/pull/26328#issuecomment-6195206337)
   **Instance:** `c4a-highmem-16` (12 vCPU / 65 GiB) | `Linux bench-c6195206337-3459-kgwn5 6.12.94+ #1 SMP Fri Aug 21 08:00:16 UTC 2026 aarch64 GNU/Linux`
   <details><summary>CPU Details (lscpu)</summary>
   
   ```
   Architecture:                            aarch64
   CPU op-mode(s):                          64-bit
   Byte Order:                              Little Endian
   CPU(s):                                  16
   On-line CPU(s) list:                     0-15
   Vendor ID:                               ARM
   Model name:                              Neoverse-V2
   Model:                                   1
   Thread(s) per core:                      1
   Core(s) per cluster:                     16
   Socket(s):                               -
   Cluster(s):                              1
   Stepping:                                r0p1
   BogoMIPS:                                2000.00
   Flags:                                   fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 sve asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp sve2 sveaes svepmull svebitperm svesha3 svesm4 flagm2 frint svei8mm svebf16 i8mm bf16 dgh rng bti
   L1d cache:                               1 MiB (16 instances)
   L1i cache:                               1 MiB (16 instances)
   L2 cache:                                32 MiB (16 instances)
   L3 cache:                                80 MiB (1 instance)
   NUMA node(s):                            1
   NUMA node0 CPU(s):                       0-15
   Vulnerability Gather data sampling:      Not affected
   Vulnerability Indirect target selection: Not affected
   Vulnerability Itlb multihit:             Not affected
   Vulnerability L1tf:                      Not affected
   Vulnerability Mds:                       Not affected
   Vulnerability Meltdown:                  Not affected
   Vulnerability Mmio stale data:           Not affected
   Vulnerability Reg file data sampling:    Not affected
   Vulnerability Retbleed:                  Not affected
   Vulnerability Spec rstack overflow:      Not affected
   Vulnerability Spec store bypass:         Mitigation; Speculative Store Bypass disabled via prctl
   Vulnerability Spectre v1:                Mitigation; __user pointer sanitization
   Vulnerability Spectre v2:                Mitigation; CSV2, BHB
   Vulnerability Srbds:                     Not affected
   Vulnerability Tsa:                       Not affected
   Vulnerability Tsx async abort:           Not affected
   Vulnerability Vmscape:                   Not affected
   ```
   
   </details>
   
   Comparing andygrove/aqe-datafusion-tpc-h-prototype (47b94c4f44225381fde683ef566f142d6bc31be8) to 0d79252 (merge-base) [diff](https://github.com/apache/datafusion/compare/0d79252f61bd8777990b2749c216ffd07079c30d..47b94c4f44225381fde683ef566f142d6bc31be8)
   
   <details><summary>Run configuration</summary>
   
   ```yaml
   run benchmark clickbench_partitioned
   ```
   
   </details>
   
   Results will be posted here when complete
   
   ---
   [File an issue](https://github.com/adriangb/datafusion-benchmarking/issues) against this benchmark runner


-- 
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: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] feat: pick hash join mode at runtime from the build side (AQE without stages) [datafusion]

Posted by "codecov-commenter (via GitHub)" <gi...@apache.org>.
codecov-commenter commented on PR #26328:
URL: https://github.com/apache/datafusion/pull/26328#issuecomment-6180657539

   ## [Codecov](https://app.codecov.io/gh/apache/datafusion/pull/26328?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) Report
   :x: Patch coverage is `78.64924%` with `98 lines` in your changes missing coverage. Please review.
   :white_check_mark: Project coverage is 82.79%. Comparing base ([`0d79252`](https://app.codecov.io/gh/apache/datafusion/commit/0d79252f61bd8777990b2749c216ffd07079c30d?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)) to head ([`47b94c4`](https://app.codecov.io/gh/apache/datafusion/commit/47b94c4f44225381fde683ef566f142d6bc31be8?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 11 commits behind head on main.
   
   | [Files with missing lines](https://app.codecov.io/gh/apache/datafusion/pull/26328?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | Patch % | Lines |
   |---|---|---|
   | [...sion/physical-plan/src/joins/hash\_join/adaptive.rs](https://app.codecov.io/gh/apache/datafusion/pull/26328?src=pr&el=tree&filepath=datafusion%2Fphysical-plan%2Fsrc%2Fjoins%2Fhash_join%2Fadaptive.rs&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-ZGF0YWZ1c2lvbi9waHlzaWNhbC1wbGFuL3NyYy9qb2lucy9oYXNoX2pvaW4vYWRhcHRpdmUucnM=) | 75.42% | [64 Missing and 22 partials :warning: ](https://app.codecov.io/gh/apache/datafusion/pull/26328?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) |
   | [...usion/physical-optimizer/src/adaptive\_hash\_join.rs](https://app.codecov.io/gh/apache/datafusion/pull/26328?src=pr&el=tree&filepath=datafusion%2Fphysical-optimizer%2Fsrc%2Fadaptive_hash_join.rs&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-ZGF0YWZ1c2lvbi9waHlzaWNhbC1vcHRpbWl6ZXIvc3JjL2FkYXB0aXZlX2hhc2hfam9pbi5ycw==) | 91.34% | [5 Missing and 4 partials :warning: ](https://app.codecov.io/gh/apache/datafusion/pull/26328?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) |
   | [benchmarks/src/tpch/run.rs](https://app.codecov.io/gh/apache/datafusion/pull/26328?src=pr&el=tree&filepath=benchmarks%2Fsrc%2Ftpch%2Frun.rs&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-YmVuY2htYXJrcy9zcmMvdHBjaC9ydW4ucnM=) | 0.00% | [3 Missing :warning: ](https://app.codecov.io/gh/apache/datafusion/pull/26328?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) |
   
   <details><summary>Additional details and impacted files</summary>
   
   
   
   ```diff
   @@            Coverage Diff             @@
   ##             main   #26328      +/-   ##
   ==========================================
   - Coverage   82.80%   82.79%   -0.01%     
   ==========================================
     Files        1149     1151       +2     
     Lines      454146   454604     +458     
     Branches   454146   454604     +458     
   ==========================================
   + Hits       376035   376386     +351     
   - Misses      55260    55336      +76     
   - Partials    22851    22882      +31     
   ```
   </details>
   
   [:umbrella: View full report in Codecov by Harness](https://app.codecov.io/gh/apache/datafusion/pull/26328?dropdown=coverage&src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache).   
   :loudspeaker: Have feedback on the report? [Share it here](https://about.codecov.io/codecov-pr-comment-feedback/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache).
   <details><summary> :rocket: New features to boost your workflow: </summary>
   
   - :snowflake: [Test Analytics](https://docs.codecov.com/docs/test-analytics): Detect flaky tests, report on failures, and find test suite problems.
   - :package: [JS Bundle Analysis](https://docs.codecov.com/docs/javascript-bundle-analysis): Save yourself from yourself by tracking and limiting bundle sizes in JS merges.
   </details>


-- 
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: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] feat: pick hash join mode at runtime from the build side (AQE without stages) [datafusion]

Posted by "adriangbot (via GitHub)" <gi...@apache.org>.
adriangbot commented on PR #26328:
URL: https://github.com/apache/datafusion/pull/26328#issuecomment-6195256275

   πŸ€– Benchmark running (GKE) | [trigger](https://github.com/apache/datafusion/pull/26328#issuecomment-6195206337)
   **Instance:** `c4a-highmem-16` (12 vCPU / 65 GiB) | `Linux bench-c6195206337-3461-xqplp 6.12.94+ #1 SMP Fri Aug 21 08:00:16 UTC 2026 aarch64 GNU/Linux`
   <details><summary>CPU Details (lscpu)</summary>
   
   ```
   Architecture:                            aarch64
   CPU op-mode(s):                          64-bit
   Byte Order:                              Little Endian
   CPU(s):                                  16
   On-line CPU(s) list:                     0-15
   Vendor ID:                               ARM
   Model name:                              Neoverse-V2
   Model:                                   1
   Thread(s) per core:                      1
   Core(s) per cluster:                     16
   Socket(s):                               -
   Cluster(s):                              1
   Stepping:                                r0p1
   BogoMIPS:                                2000.00
   Flags:                                   fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 sve asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp sve2 sveaes svepmull svebitperm svesha3 svesm4 flagm2 frint svei8mm svebf16 i8mm bf16 dgh rng bti
   L1d cache:                               1 MiB (16 instances)
   L1i cache:                               1 MiB (16 instances)
   L2 cache:                                32 MiB (16 instances)
   L3 cache:                                80 MiB (1 instance)
   NUMA node(s):                            1
   NUMA node0 CPU(s):                       0-15
   Vulnerability Gather data sampling:      Not affected
   Vulnerability Indirect target selection: Not affected
   Vulnerability Itlb multihit:             Not affected
   Vulnerability L1tf:                      Not affected
   Vulnerability Mds:                       Not affected
   Vulnerability Meltdown:                  Not affected
   Vulnerability Mmio stale data:           Not affected
   Vulnerability Reg file data sampling:    Not affected
   Vulnerability Retbleed:                  Not affected
   Vulnerability Spec rstack overflow:      Not affected
   Vulnerability Spec store bypass:         Mitigation; Speculative Store Bypass disabled via prctl
   Vulnerability Spectre v1:                Mitigation; __user pointer sanitization
   Vulnerability Spectre v2:                Mitigation; CSV2, BHB
   Vulnerability Srbds:                     Not affected
   Vulnerability Tsa:                       Not affected
   Vulnerability Tsx async abort:           Not affected
   Vulnerability Vmscape:                   Not affected
   ```
   
   </details>
   
   Comparing andygrove/aqe-datafusion-tpc-h-prototype (47b94c4f44225381fde683ef566f142d6bc31be8) to 0d79252 (merge-base) [diff](https://github.com/apache/datafusion/compare/0d79252f61bd8777990b2749c216ffd07079c30d..47b94c4f44225381fde683ef566f142d6bc31be8)
   
   <details><summary>Run configuration</summary>
   
   ```yaml
   run benchmark tpch
   ```
   
   </details>
   
   Results will be posted here when complete
   
   ---
   [File an issue](https://github.com/adriangb/datafusion-benchmarking/issues) against this benchmark runner


-- 
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: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] feat: pick hash join mode at runtime from the build side (AQE without stages) [datafusion]

Posted by "adriangbot (via GitHub)" <gi...@apache.org>.
adriangbot commented on PR #26328:
URL: https://github.com/apache/datafusion/pull/26328#issuecomment-6195435649

   πŸ€– Benchmark completed (GKE) | [trigger](https://github.com/apache/datafusion/pull/26328#issuecomment-6195206337)
   
   **Instance:** `c4a-highmem-16` (12 vCPU / 65 GiB)
   
   Comparing andygrove/aqe-datafusion-tpc-h-prototype (47b94c4f44225381fde683ef566f142d6bc31be8) to 0d79252 (merge-base) [diff](https://github.com/apache/datafusion/compare/0d79252f61bd8777990b2749c216ffd07079c30d..47b94c4f44225381fde683ef566f142d6bc31be8)
   
   <details><summary>Run configuration</summary>
   
   ```yaml
   run benchmark tpch
   ```
   
   </details>
   
   <details><summary>CPU Details (lscpu)</summary>
   
   ```
   Architecture:                            aarch64
   CPU op-mode(s):                          64-bit
   Byte Order:                              Little Endian
   CPU(s):                                  16
   On-line CPU(s) list:                     0-15
   Vendor ID:                               ARM
   Model name:                              Neoverse-V2
   Model:                                   1
   Thread(s) per core:                      1
   Core(s) per cluster:                     16
   Socket(s):                               -
   Cluster(s):                              1
   Stepping:                                r0p1
   BogoMIPS:                                2000.00
   Flags:                                   fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 sve asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp sve2 sveaes svepmull svebitperm svesha3 svesm4 flagm2 frint svei8mm svebf16 i8mm bf16 dgh rng bti
   L1d cache:                               1 MiB (16 instances)
   L1i cache:                               1 MiB (16 instances)
   L2 cache:                                32 MiB (16 instances)
   L3 cache:                                80 MiB (1 instance)
   NUMA node(s):                            1
   NUMA node0 CPU(s):                       0-15
   Vulnerability Gather data sampling:      Not affected
   Vulnerability Indirect target selection: Not affected
   Vulnerability Itlb multihit:             Not affected
   Vulnerability L1tf:                      Not affected
   Vulnerability Mds:                       Not affected
   Vulnerability Meltdown:                  Not affected
   Vulnerability Mmio stale data:           Not affected
   Vulnerability Reg file data sampling:    Not affected
   Vulnerability Retbleed:                  Not affected
   Vulnerability Spec rstack overflow:      Not affected
   Vulnerability Spec store bypass:         Mitigation; Speculative Store Bypass disabled via prctl
   Vulnerability Spectre v1:                Mitigation; __user pointer sanitization
   Vulnerability Spectre v2:                Mitigation; CSV2, BHB
   Vulnerability Srbds:                     Not affected
   Vulnerability Tsa:                       Not affected
   Vulnerability Tsx async abort:           Not affected
   Vulnerability Vmscape:                   Not affected
   ```
   
   </details>
   
   <details><summary>Details</summary>
   <p>
   
   ```
   Comparing HEAD and andygrove_aqe-datafusion-tpc-h-prototype
   --------------------
   Benchmark tpch_sf1.json
   --------------------
   ┏━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
   ┃ Query     ┃     HEAD ┃ andygrove_aqe-datafusion-tpc-h-prototype ┃    Change ┃
   ┑━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
   β”‚ QQuery 1  β”‚ 41.03 ms β”‚                                 40.32 ms β”‚ no change β”‚
   β”‚ QQuery 2  β”‚ 18.53 ms β”‚                                 18.64 ms β”‚ no change β”‚
   β”‚ QQuery 3  β”‚ 29.22 ms β”‚                                 28.97 ms β”‚ no change β”‚
   β”‚ QQuery 4  β”‚ 17.20 ms β”‚                                 17.74 ms β”‚ no change β”‚
   β”‚ QQuery 5  β”‚ 36.04 ms β”‚                                 36.68 ms β”‚ no change β”‚
   β”‚ QQuery 6  β”‚ 13.88 ms β”‚                                 13.53 ms β”‚ no change β”‚
   β”‚ QQuery 7  β”‚ 42.81 ms β”‚                                 42.83 ms β”‚ no change β”‚
   β”‚ QQuery 8  β”‚ 41.52 ms β”‚                                 41.37 ms β”‚ no change β”‚
   β”‚ QQuery 9  β”‚ 51.30 ms β”‚                                 51.34 ms β”‚ no change β”‚
   β”‚ QQuery 10 β”‚ 41.41 ms β”‚                                 40.93 ms β”‚ no change β”‚
   β”‚ QQuery 11 β”‚ 14.14 ms β”‚                                 14.03 ms β”‚ no change β”‚
   β”‚ QQuery 12 β”‚ 18.18 ms β”‚                                 18.28 ms β”‚ no change β”‚
   β”‚ QQuery 13 β”‚ 40.28 ms β”‚                                 40.96 ms β”‚ no change β”‚
   β”‚ QQuery 14 β”‚ 24.70 ms β”‚                                 24.85 ms β”‚ no change β”‚
   β”‚ QQuery 15 β”‚ 31.54 ms β”‚                                 31.28 ms β”‚ no change β”‚
   β”‚ QQuery 16 β”‚ 13.91 ms β”‚                                 13.91 ms β”‚ no change β”‚
   β”‚ QQuery 17 β”‚ 77.20 ms β”‚                                 76.94 ms β”‚ no change β”‚
   β”‚ QQuery 18 β”‚ 47.25 ms β”‚                                 46.73 ms β”‚ no change β”‚
   β”‚ QQuery 19 β”‚ 32.05 ms β”‚                                 32.22 ms β”‚ no change β”‚
   β”‚ QQuery 20 β”‚ 32.07 ms β”‚                                 32.56 ms β”‚ no change β”‚
   β”‚ QQuery 21 β”‚ 56.83 ms β”‚                                 57.33 ms β”‚ no change β”‚
   β”‚ QQuery 22 β”‚ 13.95 ms β”‚                                 14.27 ms β”‚ no change β”‚
   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
   ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┓
   ┃ Benchmark Summary                                       ┃          ┃
   ┑━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━┩
   β”‚ Total Time (HEAD)                                       β”‚ 735.04ms β”‚
   β”‚ Total Time (andygrove_aqe-datafusion-tpc-h-prototype)   β”‚ 735.72ms β”‚
   β”‚ Average Time (HEAD)                                     β”‚  33.41ms β”‚
   β”‚ Average Time (andygrove_aqe-datafusion-tpc-h-prototype) β”‚  33.44ms β”‚
   β”‚ Queries Faster                                          β”‚        0 β”‚
   β”‚ Queries Slower                                          β”‚        0 β”‚
   β”‚ Queries with No Change                                  β”‚       22 β”‚
   β”‚ Queries with Failure                                    β”‚        0 β”‚
   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
   
   Distribution per query (min / mean Β±stddev / max):
   
   Comparing HEAD and andygrove_aqe-datafusion-tpc-h-prototype
   --------------------
   Benchmark tpch_sf1.json
   --------------------
   ┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓
   ┃ Query     ┃                           HEAD ┃ andygrove_aqe-datafusion-tpc-h-prototype ┃       Change ┃
   ┑━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━┩
   β”‚ QQuery 1  β”‚ 41.03 / 42.78 Β±1.30 / 44.88 ms β”‚           40.32 / 42.75 Β±2.63 / 47.11 ms β”‚    no change β”‚
   β”‚ QQuery 2  β”‚ 18.53 / 18.98 Β±0.42 / 19.50 ms β”‚           18.64 / 19.02 Β±0.31 / 19.56 ms β”‚    no change β”‚
   β”‚ QQuery 3  β”‚ 29.22 / 30.07 Β±0.96 / 31.85 ms β”‚           28.97 / 29.52 Β±0.43 / 30.27 ms β”‚    no change β”‚
   β”‚ QQuery 4  β”‚ 17.20 / 17.41 Β±0.16 / 17.67 ms β”‚           17.74 / 18.52 Β±0.82 / 19.59 ms β”‚ 1.06x slower β”‚
   β”‚ QQuery 5  β”‚ 36.04 / 36.78 Β±0.53 / 37.51 ms β”‚           36.68 / 37.77 Β±1.18 / 40.03 ms β”‚    no change β”‚
   β”‚ QQuery 6  β”‚ 13.88 / 13.99 Β±0.09 / 14.09 ms β”‚           13.53 / 14.07 Β±0.70 / 15.43 ms β”‚    no change β”‚
   β”‚ QQuery 7  β”‚ 42.81 / 45.18 Β±1.96 / 48.11 ms β”‚           42.83 / 45.69 Β±1.70 / 47.89 ms β”‚    no change β”‚
   β”‚ QQuery 8  β”‚ 41.52 / 42.52 Β±1.31 / 45.08 ms β”‚           41.37 / 42.53 Β±1.39 / 45.26 ms β”‚    no change β”‚
   β”‚ QQuery 9  β”‚ 51.30 / 52.85 Β±0.82 / 53.64 ms β”‚           51.34 / 52.31 Β±1.01 / 54.21 ms β”‚    no change β”‚
   β”‚ QQuery 10 β”‚ 41.41 / 42.04 Β±0.82 / 43.66 ms β”‚           40.93 / 42.32 Β±0.87 / 43.49 ms β”‚    no change β”‚
   β”‚ QQuery 11 β”‚ 14.14 / 14.54 Β±0.37 / 15.13 ms β”‚           14.03 / 14.40 Β±0.57 / 15.52 ms β”‚    no change β”‚
   β”‚ QQuery 12 β”‚ 18.18 / 18.81 Β±0.36 / 19.18 ms β”‚           18.28 / 19.06 Β±0.70 / 20.19 ms β”‚    no change β”‚
   β”‚ QQuery 13 β”‚ 40.28 / 42.23 Β±1.61 / 45.04 ms β”‚           40.96 / 42.08 Β±1.28 / 44.52 ms β”‚    no change β”‚
   β”‚ QQuery 14 β”‚ 24.70 / 25.17 Β±0.36 / 25.68 ms β”‚           24.85 / 25.32 Β±0.29 / 25.56 ms β”‚    no change β”‚
   β”‚ QQuery 15 β”‚ 31.54 / 32.77 Β±0.78 / 33.49 ms β”‚           31.28 / 32.21 Β±0.63 / 32.96 ms β”‚    no change β”‚
   β”‚ QQuery 16 β”‚ 13.91 / 14.18 Β±0.20 / 14.42 ms β”‚           13.91 / 14.14 Β±0.18 / 14.34 ms β”‚    no change β”‚
   β”‚ QQuery 17 β”‚ 77.20 / 78.03 Β±0.81 / 79.11 ms β”‚           76.94 / 79.50 Β±1.89 / 82.54 ms β”‚    no change β”‚
   β”‚ QQuery 18 β”‚ 47.25 / 47.81 Β±0.52 / 48.52 ms β”‚           46.73 / 48.19 Β±1.71 / 51.31 ms β”‚    no change β”‚
   β”‚ QQuery 19 β”‚ 32.05 / 32.54 Β±0.40 / 33.22 ms β”‚           32.22 / 33.07 Β±1.05 / 35.11 ms β”‚    no change β”‚
   β”‚ QQuery 20 β”‚ 32.07 / 32.73 Β±0.43 / 33.16 ms β”‚           32.56 / 32.96 Β±0.31 / 33.44 ms β”‚    no change β”‚
   β”‚ QQuery 21 β”‚ 56.83 / 58.42 Β±1.15 / 59.92 ms β”‚           57.33 / 59.85 Β±1.64 / 61.92 ms β”‚    no change β”‚
   β”‚ QQuery 22 β”‚ 13.95 / 14.43 Β±0.43 / 15.11 ms β”‚           14.27 / 14.43 Β±0.15 / 14.67 ms β”‚    no change β”‚
   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
   ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┓
   ┃ Benchmark Summary                                       ┃          ┃
   ┑━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━┩
   β”‚ Total Time (HEAD)                                       β”‚ 754.26ms β”‚
   β”‚ Total Time (andygrove_aqe-datafusion-tpc-h-prototype)   β”‚ 759.72ms β”‚
   β”‚ Average Time (HEAD)                                     β”‚  34.28ms β”‚
   β”‚ Average Time (andygrove_aqe-datafusion-tpc-h-prototype) β”‚  34.53ms β”‚
   β”‚ Queries Faster                                          β”‚        0 β”‚
   β”‚ Queries Slower                                          β”‚        1 β”‚
   β”‚ Queries with No Change                                  β”‚       21 β”‚
   β”‚ Queries with Failure                                    β”‚        0 β”‚
   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
   ```
   
   </p>
   </details>
   
   <details><summary>Resource Usage</summary>
   
   **tpch β€” base (merge-base)**
   | Metric | Value |
   |--------|-------|
   | Wall time | 5.0s |
   | Peak memory | 1.2 GiB |
   | Avg memory | 481.4 MiB |
   | CPU user | 20.9s |
   | CPU sys | 1.8s |
   | Peak spill | 0 B |
   
   **tpch β€” branch**
   | Metric | Value |
   |--------|-------|
   | Wall time | 5.0s |
   | Peak memory | 1.1 GiB |
   | Avg memory | 469.3 MiB |
   | CPU user | 21.0s |
   | CPU sys | 1.7s |
   | Peak spill | 0 B |
   
   </details>
   
   
   ---
   [File an issue](https://github.com/adriangb/datafusion-benchmarking/issues) against this benchmark runner


-- 
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: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] feat: pick hash join mode at runtime from the build side (AQE without stages) [datafusion]

Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on PR #26328:
URL: https://github.com/apache/datafusion/pull/26328#issuecomment-6180115307

   <!-- semver-check-comment -->
   Thank you for opening this pull request!
   
   Reviewer note: [cargo-semver-checks](https://github.com/obi1kenobi/cargo-semver-checks) reported the current version number is not SemVer-compatible with the changes in this pull request (compared against the base branch).
   
   <details>
   <summary>Details</summary>
   
   ```
        Cloning apache/main
       Building datafusion v55.1.0 (current)
          Built [  57.571s] (current)
        Parsing datafusion v55.1.0 (current)
         Parsed [   0.032s] (current)
       Building datafusion v55.1.0 (baseline)
          Built [  55.023s] (baseline)
        Parsing datafusion v55.1.0 (baseline)
         Parsed [   0.033s] (baseline)
       Checking datafusion v55.1.0 -> v55.1.0 (no change; assume patch)
        Checked [   0.632s] 223 checks: 223 pass, 31 skip
        Summary no semver update required
       Finished [ 115.442s] datafusion
       Building datafusion-common v55.1.0 (current)
          Built [  32.116s] (current)
        Parsing datafusion-common v55.1.0 (current)
         Parsed [   0.065s] (current)
       Building datafusion-common v55.1.0 (baseline)
          Built [  31.866s] (baseline)
        Parsing datafusion-common v55.1.0 (baseline)
         Parsed [   0.065s] (baseline)
       Checking datafusion-common v55.1.0 -> v55.1.0 (no change; assume patch)
        Checked [   0.808s] 223 checks: 222 pass, 1 fail, 0 warn, 31 skip
   
   --- failure constructible_struct_adds_field: struct exhaustively constructible through public API adds field ---
   
   Description:
   A pub struct that could be exhaustively constructed with a literal using only public API has a new pub field, breaking existing exhaustive literals.
           ref: https://doc.rust-lang.org/reference/expressions/struct-expr.html
          impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.50.0/src/lints/constructible_struct_adds_field.ron
   
   Failed in:
     field OptimizerOptions.enable_adaptive_hash_join in /home/runner/work/datafusion/datafusion/datafusion/common/src/config.rs:1643
     field OptimizerOptions.adaptive_hash_join_threshold_rows in /home/runner/work/datafusion/datafusion/datafusion/common/src/config.rs:1643
     field OptimizerOptions.adaptive_hash_join_threshold in /home/runner/work/datafusion/datafusion/datafusion/common/src/config.rs:1643
     field OptimizerOptions.adaptive_hash_join_max_probe_ratio in /home/runner/work/datafusion/datafusion/datafusion/common/src/config.rs:1643
   
        Summary semver requires new major version: 1 major and 0 minor checks failed
       Finished [  65.983s] datafusion-common
       Building datafusion-physical-optimizer v55.1.0 (current)
          Built [  37.005s] (current)
        Parsing datafusion-physical-optimizer v55.1.0 (current)
         Parsed [   0.019s] (current)
       Building datafusion-physical-optimizer v55.1.0 (baseline)
          Built [  37.450s] (baseline)
        Parsing datafusion-physical-optimizer v55.1.0 (baseline)
         Parsed [   0.019s] (baseline)
       Checking datafusion-physical-optimizer v55.1.0 -> v55.1.0 (no change; assume patch)
        Checked [   0.115s] 223 checks: 223 pass, 31 skip
        Summary no semver update required
       Finished [  75.636s] datafusion-physical-optimizer
       Building datafusion-physical-plan v55.1.0 (current)
          Built [  34.580s] (current)
        Parsing datafusion-physical-plan v55.1.0 (current)
         Parsed [   0.182s] (current)
       Building datafusion-physical-plan v55.1.0 (baseline)
          Built [  34.408s] (baseline)
        Parsing datafusion-physical-plan v55.1.0 (baseline)
         Parsed [   0.180s] (baseline)
       Checking datafusion-physical-plan v55.1.0 -> v55.1.0 (no change; assume patch)
        Checked [   0.610s] 223 checks: 223 pass, 31 skip
        Summary no semver update required
       Finished [  71.367s] datafusion-physical-plan
       Building datafusion-sqllogictest v55.1.0 (current)
          Built [  91.632s] (current)
        Parsing datafusion-sqllogictest v55.1.0 (current)
         Parsed [   0.015s] (current)
       Building datafusion-sqllogictest v55.1.0 (baseline)
          Built [  91.931s] (baseline)
        Parsing datafusion-sqllogictest v55.1.0 (baseline)
         Parsed [   0.016s] (baseline)
       Checking datafusion-sqllogictest v55.1.0 -> v55.1.0 (no change; assume patch)
        Checked [   0.098s] 223 checks: 223 pass, 31 skip
        Summary no semver update required
       Finished [ 186.485s] datafusion-sqllogictest
   ```
   
   </details>


-- 
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: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] feat: pick hash join mode at runtime from the build side (AQE without stages) [datafusion]

Posted by "adriangbot (via GitHub)" <gi...@apache.org>.
adriangbot commented on PR #26328:
URL: https://github.com/apache/datafusion/pull/26328#issuecomment-6195569613

   πŸ€– Benchmark completed (GKE) | [trigger](https://github.com/apache/datafusion/pull/26328#issuecomment-6195206337)
   
   **Instance:** `c4a-highmem-16` (12 vCPU / 65 GiB)
   
   Comparing andygrove/aqe-datafusion-tpc-h-prototype (47b94c4f44225381fde683ef566f142d6bc31be8) to 0d79252 (merge-base) [diff](https://github.com/apache/datafusion/compare/0d79252f61bd8777990b2749c216ffd07079c30d..47b94c4f44225381fde683ef566f142d6bc31be8)
   
   <details><summary>Run configuration</summary>
   
   ```yaml
   run benchmark clickbench_partitioned
   ```
   
   </details>
   
   <details><summary>CPU Details (lscpu)</summary>
   
   ```
   Architecture:                            aarch64
   CPU op-mode(s):                          64-bit
   Byte Order:                              Little Endian
   CPU(s):                                  16
   On-line CPU(s) list:                     0-15
   Vendor ID:                               ARM
   Model name:                              Neoverse-V2
   Model:                                   1
   Thread(s) per core:                      1
   Core(s) per cluster:                     16
   Socket(s):                               -
   Cluster(s):                              1
   Stepping:                                r0p1
   BogoMIPS:                                2000.00
   Flags:                                   fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 sve asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp sve2 sveaes svepmull svebitperm svesha3 svesm4 flagm2 frint svei8mm svebf16 i8mm bf16 dgh rng bti
   L1d cache:                               1 MiB (16 instances)
   L1i cache:                               1 MiB (16 instances)
   L2 cache:                                32 MiB (16 instances)
   L3 cache:                                80 MiB (1 instance)
   NUMA node(s):                            1
   NUMA node0 CPU(s):                       0-15
   Vulnerability Gather data sampling:      Not affected
   Vulnerability Indirect target selection: Not affected
   Vulnerability Itlb multihit:             Not affected
   Vulnerability L1tf:                      Not affected
   Vulnerability Mds:                       Not affected
   Vulnerability Meltdown:                  Not affected
   Vulnerability Mmio stale data:           Not affected
   Vulnerability Reg file data sampling:    Not affected
   Vulnerability Retbleed:                  Not affected
   Vulnerability Spec rstack overflow:      Not affected
   Vulnerability Spec store bypass:         Mitigation; Speculative Store Bypass disabled via prctl
   Vulnerability Spectre v1:                Mitigation; __user pointer sanitization
   Vulnerability Spectre v2:                Mitigation; CSV2, BHB
   Vulnerability Srbds:                     Not affected
   Vulnerability Tsa:                       Not affected
   Vulnerability Tsx async abort:           Not affected
   Vulnerability Vmscape:                   Not affected
   ```
   
   </details>
   
   <details><summary>Details</summary>
   <p>
   
   ```
   Comparing HEAD and andygrove_aqe-datafusion-tpc-h-prototype
   --------------------
   Benchmark clickbench_partitioned.json
   --------------------
   ┏━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
   ┃ Query     ┃       HEAD ┃ andygrove_aqe-datafusion-tpc-h-prototype ┃        Change ┃
   ┑━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
   β”‚ QQuery 0  β”‚    1.32 ms β”‚                                  1.29 ms β”‚     no change β”‚
   β”‚ QQuery 1  β”‚   11.98 ms β”‚                                 12.14 ms β”‚     no change β”‚
   β”‚ QQuery 2  β”‚   36.79 ms β”‚                                 36.99 ms β”‚     no change β”‚
   β”‚ QQuery 3  β”‚   32.13 ms β”‚                                 32.40 ms β”‚     no change β”‚
   β”‚ QQuery 4  β”‚  261.31 ms β”‚                                262.07 ms β”‚     no change β”‚
   β”‚ QQuery 5  β”‚  292.84 ms β”‚                                302.73 ms β”‚     no change β”‚
   β”‚ QQuery 6  β”‚    1.31 ms β”‚                                  1.30 ms β”‚     no change β”‚
   β”‚ QQuery 7  β”‚   13.62 ms β”‚                                 13.65 ms β”‚     no change β”‚
   β”‚ QQuery 8  β”‚  362.88 ms β”‚                                376.82 ms β”‚     no change β”‚
   β”‚ QQuery 9  β”‚  500.77 ms β”‚                                531.71 ms β”‚  1.06x slower β”‚
   β”‚ QQuery 10 β”‚   66.36 ms β”‚                                 68.89 ms β”‚     no change β”‚
   β”‚ QQuery 11 β”‚   80.01 ms β”‚                                 79.91 ms β”‚     no change β”‚
   β”‚ QQuery 12 β”‚  300.14 ms β”‚                                299.74 ms β”‚     no change β”‚
   β”‚ QQuery 13 β”‚  399.29 ms β”‚                                396.65 ms β”‚     no change β”‚
   β”‚ QQuery 14 β”‚  315.55 ms β”‚                                296.19 ms β”‚ +1.07x faster β”‚
   β”‚ QQuery 15 β”‚  333.35 ms β”‚                                314.82 ms β”‚ +1.06x faster β”‚
   β”‚ QQuery 16 β”‚  695.47 ms β”‚                                699.77 ms β”‚     no change β”‚
   β”‚ QQuery 17 β”‚  694.41 ms β”‚                                707.05 ms β”‚     no change β”‚
   β”‚ QQuery 18 β”‚ 1402.00 ms β”‚                               1389.00 ms β”‚     no change β”‚
   β”‚ QQuery 19 β”‚   28.57 ms β”‚                                 29.35 ms β”‚     no change β”‚
   β”‚ QQuery 20 β”‚  534.52 ms β”‚                                524.47 ms β”‚     no change β”‚
   β”‚ QQuery 21 β”‚  527.13 ms β”‚                                526.10 ms β”‚     no change β”‚
   β”‚ QQuery 22 β”‚ 1055.93 ms β”‚                               1064.59 ms β”‚     no change β”‚
   β”‚ QQuery 23 β”‚ 3371.28 ms β”‚                               3306.31 ms β”‚     no change β”‚
   β”‚ QQuery 24 β”‚   43.53 ms β”‚                                 41.93 ms β”‚     no change β”‚
   β”‚ QQuery 25 β”‚  109.87 ms β”‚                                107.52 ms β”‚     no change β”‚
   β”‚ QQuery 26 β”‚   43.19 ms β”‚                                 42.90 ms β”‚     no change β”‚
   β”‚ QQuery 27 β”‚  526.85 ms β”‚                                529.71 ms β”‚     no change β”‚
   β”‚ QQuery 28 β”‚ 3002.31 ms β”‚                               3045.23 ms β”‚     no change β”‚
   β”‚ QQuery 29 β”‚   40.95 ms β”‚                                 40.71 ms β”‚     no change β”‚
   β”‚ QQuery 30 β”‚  336.50 ms β”‚                                334.21 ms β”‚     no change β”‚
   β”‚ QQuery 31 β”‚  294.48 ms β”‚                                297.63 ms β”‚     no change β”‚
   β”‚ QQuery 32 β”‚ 1304.13 ms β”‚                               1282.35 ms β”‚     no change β”‚
   β”‚ QQuery 33 β”‚ 1783.11 ms β”‚                               1806.35 ms β”‚     no change β”‚
   β”‚ QQuery 34 β”‚ 1751.77 ms β”‚                               1852.09 ms β”‚  1.06x slower β”‚
   β”‚ QQuery 35 β”‚  361.95 ms β”‚                                381.75 ms β”‚  1.05x slower β”‚
   β”‚ QQuery 36 β”‚   72.57 ms β”‚                                 78.08 ms β”‚  1.08x slower β”‚
   β”‚ QQuery 37 β”‚   39.98 ms β”‚                                 39.22 ms β”‚     no change β”‚
   β”‚ QQuery 38 β”‚   44.95 ms β”‚                                 47.69 ms β”‚  1.06x slower β”‚
   β”‚ QQuery 39 β”‚  151.38 ms β”‚                                164.04 ms β”‚  1.08x slower β”‚
   β”‚ QQuery 40 β”‚   15.37 ms β”‚                                 15.42 ms β”‚     no change β”‚
   β”‚ QQuery 41 β”‚   14.43 ms β”‚                                 14.85 ms β”‚     no change β”‚
   β”‚ QQuery 42 β”‚   14.01 ms β”‚                                 14.55 ms β”‚     no change β”‚
   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
   ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
   ┃ Benchmark Summary                                       ┃            ┃
   ┑━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
   β”‚ Total Time (HEAD)                                       β”‚ 21270.31ms β”‚
   β”‚ Total Time (andygrove_aqe-datafusion-tpc-h-prototype)   β”‚ 21410.15ms β”‚
   β”‚ Average Time (HEAD)                                     β”‚   494.66ms β”‚
   β”‚ Average Time (andygrove_aqe-datafusion-tpc-h-prototype) β”‚   497.91ms β”‚
   β”‚ Queries Faster                                          β”‚          2 β”‚
   β”‚ Queries Slower                                          β”‚          6 β”‚
   β”‚ Queries with No Change                                  β”‚         35 β”‚
   β”‚ Queries with Failure                                    β”‚          0 β”‚
   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
   
   Distribution per query (min / mean Β±stddev / max):
   
   Comparing HEAD and andygrove_aqe-datafusion-tpc-h-prototype
   --------------------
   Benchmark clickbench_partitioned.json
   --------------------
   ┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
   ┃ Query     ┃                                   HEAD ┃ andygrove_aqe-datafusion-tpc-h-prototype ┃        Change ┃
   ┑━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
   β”‚ QQuery 0  β”‚           1.32 / 4.73 Β±6.62 / 17.96 ms β”‚             1.29 / 4.67 Β±6.54 / 17.75 ms β”‚     no change β”‚
   β”‚ QQuery 1  β”‚         11.98 / 12.35 Β±0.22 / 12.68 ms β”‚           12.14 / 12.36 Β±0.19 / 12.62 ms β”‚     no change β”‚
   β”‚ QQuery 2  β”‚         36.79 / 37.17 Β±0.31 / 37.61 ms β”‚           36.99 / 37.17 Β±0.16 / 37.41 ms β”‚     no change β”‚
   β”‚ QQuery 3  β”‚         32.13 / 33.27 Β±1.10 / 34.90 ms β”‚           32.40 / 32.68 Β±0.22 / 32.89 ms β”‚     no change β”‚
   β”‚ QQuery 4  β”‚      261.31 / 269.03 Β±4.97 / 275.69 ms β”‚        262.07 / 271.38 Β±9.28 / 286.20 ms β”‚     no change β”‚
   β”‚ QQuery 5  β”‚      292.84 / 304.39 Β±7.64 / 316.49 ms β”‚        302.73 / 308.08 Β±3.87 / 313.73 ms β”‚     no change β”‚
   β”‚ QQuery 6  β”‚            1.31 / 1.48 Β±0.24 / 1.95 ms β”‚              1.30 / 1.48 Β±0.23 / 1.93 ms β”‚     no change β”‚
   β”‚ QQuery 7  β”‚         13.62 / 13.94 Β±0.18 / 14.12 ms β”‚           13.65 / 13.91 Β±0.14 / 14.03 ms β”‚     no change β”‚
   β”‚ QQuery 8  β”‚     362.88 / 381.46 Β±11.26 / 394.08 ms β”‚        376.82 / 379.95 Β±1.71 / 381.86 ms β”‚     no change β”‚
   β”‚ QQuery 9  β”‚     500.77 / 513.13 Β±11.12 / 531.53 ms β”‚       531.71 / 544.03 Β±13.58 / 568.34 ms β”‚  1.06x slower β”‚
   β”‚ QQuery 10 β”‚         66.36 / 67.99 Β±1.98 / 71.54 ms β”‚           68.89 / 69.89 Β±0.71 / 70.98 ms β”‚     no change β”‚
   β”‚ QQuery 11 β”‚         80.01 / 81.29 Β±1.14 / 83.32 ms β”‚           79.91 / 82.79 Β±3.37 / 89.28 ms β”‚     no change β”‚
   β”‚ QQuery 12 β”‚      300.14 / 307.42 Β±4.87 / 312.63 ms β”‚        299.74 / 304.77 Β±5.47 / 314.82 ms β”‚     no change β”‚
   β”‚ QQuery 13 β”‚     399.29 / 417.83 Β±11.81 / 430.33 ms β”‚       396.65 / 410.22 Β±17.79 / 444.88 ms β”‚     no change β”‚
   β”‚ QQuery 14 β”‚      315.55 / 320.71 Β±4.88 / 329.60 ms β”‚        296.19 / 306.55 Β±9.81 / 323.72 ms β”‚     no change β”‚
   β”‚ QQuery 15 β”‚     333.35 / 344.48 Β±10.55 / 358.53 ms β”‚       314.82 / 339.09 Β±14.59 / 359.03 ms β”‚     no change β”‚
   β”‚ QQuery 16 β”‚     695.47 / 706.72 Β±12.75 / 731.36 ms β”‚       699.77 / 716.41 Β±14.81 / 740.21 ms β”‚     no change β”‚
   β”‚ QQuery 17 β”‚      694.41 / 706.22 Β±9.04 / 719.39 ms β”‚        707.05 / 713.33 Β±7.00 / 725.29 ms β”‚     no change β”‚
   β”‚ QQuery 18 β”‚  1402.00 / 1437.39 Β±35.83 / 1482.55 ms β”‚    1389.00 / 1429.03 Β±28.82 / 1472.62 ms β”‚     no change β”‚
   β”‚ QQuery 19 β”‚        28.57 / 40.04 Β±16.92 / 72.95 ms β”‚           29.35 / 29.97 Β±0.72 / 31.37 ms β”‚ +1.34x faster β”‚
   β”‚ QQuery 20 β”‚     534.52 / 546.00 Β±13.92 / 571.89 ms β”‚       524.47 / 557.87 Β±30.16 / 613.98 ms β”‚     no change β”‚
   β”‚ QQuery 21 β”‚      527.13 / 534.26 Β±5.80 / 540.71 ms β”‚        526.10 / 533.33 Β±6.95 / 543.85 ms β”‚     no change β”‚
   β”‚ QQuery 22 β”‚  1055.93 / 1072.98 Β±28.64 / 1130.08 ms β”‚    1064.59 / 1104.68 Β±37.35 / 1166.86 ms β”‚     no change β”‚
   β”‚ QQuery 23 β”‚ 3371.28 / 3551.95 Β±238.47 / 4024.27 ms β”‚   3306.31 / 3633.02 Β±316.33 / 4238.74 ms β”‚     no change β”‚
   β”‚ QQuery 24 β”‚       43.53 / 73.55 Β±52.61 / 178.25 ms β”‚           41.93 / 42.31 Β±0.29 / 42.73 ms β”‚ +1.74x faster β”‚
   β”‚ QQuery 25 β”‚      109.87 / 111.04 Β±1.14 / 113.08 ms β”‚      107.52 / 261.40 Β±186.40 / 514.31 ms β”‚  2.35x slower β”‚
   β”‚ QQuery 26 β”‚       43.19 / 64.51 Β±35.05 / 134.14 ms β”‚           42.90 / 43.62 Β±0.61 / 44.56 ms β”‚ +1.48x faster β”‚
   β”‚ QQuery 27 β”‚      526.85 / 539.93 Β±9.46 / 553.90 ms β”‚       529.71 / 543.28 Β±10.13 / 557.73 ms β”‚     no change β”‚
   β”‚ QQuery 28 β”‚  3002.31 / 3080.29 Β±48.27 / 3138.65 ms β”‚    3045.23 / 3072.64 Β±22.74 / 3113.94 ms β”‚     no change β”‚
   β”‚ QQuery 29 β”‚         40.95 / 41.66 Β±1.11 / 43.82 ms β”‚         40.71 / 61.21 Β±38.84 / 138.87 ms β”‚  1.47x slower β”‚
   β”‚ QQuery 30 β”‚     336.50 / 372.49 Β±28.20 / 400.28 ms β”‚       334.21 / 355.44 Β±18.98 / 386.37 ms β”‚     no change β”‚
   β”‚ QQuery 31 β”‚     294.48 / 315.31 Β±16.12 / 336.74 ms β”‚       297.63 / 312.31 Β±11.40 / 325.98 ms β”‚     no change β”‚
   β”‚ QQuery 32 β”‚ 1304.13 / 1468.65 Β±142.88 / 1721.56 ms β”‚   1282.35 / 1462.88 Β±154.90 / 1663.77 ms β”‚     no change β”‚
   β”‚ QQuery 33 β”‚ 1783.11 / 1889.56 Β±102.87 / 2081.63 ms β”‚    1806.35 / 1869.59 Β±51.03 / 1951.36 ms β”‚     no change β”‚
   β”‚ QQuery 34 β”‚  1751.77 / 1815.50 Β±44.89 / 1859.18 ms β”‚    1852.09 / 1898.30 Β±43.07 / 1966.85 ms β”‚     no change β”‚
   β”‚ QQuery 35 β”‚     361.95 / 429.91 Β±83.70 / 585.97 ms β”‚      381.75 / 476.67 Β±163.44 / 803.23 ms β”‚  1.11x slower β”‚
   β”‚ QQuery 36 β”‚         72.57 / 81.89 Β±7.80 / 94.37 ms β”‚           78.08 / 80.87 Β±3.74 / 88.25 ms β”‚     no change β”‚
   β”‚ QQuery 37 β”‚         39.98 / 47.00 Β±6.01 / 56.19 ms β”‚         39.22 / 60.39 Β±33.29 / 126.73 ms β”‚  1.29x slower β”‚
   β”‚ QQuery 38 β”‚         44.95 / 47.02 Β±2.52 / 51.32 ms β”‚           47.69 / 51.16 Β±4.93 / 60.84 ms β”‚  1.09x slower β”‚
   β”‚ QQuery 39 β”‚     151.38 / 173.38 Β±19.47 / 206.05 ms β”‚       164.04 / 183.02 Β±14.67 / 202.44 ms β”‚  1.06x slower β”‚
   β”‚ QQuery 40 β”‚         15.37 / 16.02 Β±0.50 / 16.79 ms β”‚           15.42 / 16.67 Β±1.13 / 18.65 ms β”‚     no change β”‚
   β”‚ QQuery 41 β”‚         14.43 / 14.85 Β±0.24 / 15.14 ms β”‚           14.85 / 16.28 Β±2.18 / 20.56 ms β”‚  1.10x slower β”‚
   β”‚ QQuery 42 β”‚         14.01 / 19.22 Β±7.66 / 34.18 ms β”‚           14.55 / 14.71 Β±0.24 / 15.17 ms β”‚ +1.31x faster β”‚
   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
   ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
   ┃ Benchmark Summary                                       ┃            ┃
   ┑━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
   β”‚ Total Time (HEAD)                                       β”‚ 22307.97ms β”‚
   β”‚ Total Time (andygrove_aqe-datafusion-tpc-h-prototype)   β”‚ 22659.40ms β”‚
   β”‚ Average Time (HEAD)                                     β”‚   518.79ms β”‚
   β”‚ Average Time (andygrove_aqe-datafusion-tpc-h-prototype) β”‚   526.96ms β”‚
   β”‚ Queries Faster                                          β”‚          4 β”‚
   β”‚ Queries Slower                                          β”‚          8 β”‚
   β”‚ Queries with No Change                                  β”‚         31 β”‚
   β”‚ Queries with Failure                                    β”‚          0 β”‚
   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
   ```
   
   </p>
   </details>
   
   <details><summary>Resource Usage</summary>
   
   **clickbench_partitioned β€” base (merge-base)**
   | Metric | Value |
   |--------|-------|
   | Wall time | 115.0s |
   | Peak memory | 18.3 GiB |
   | Avg memory | 6.1 GiB |
   | CPU user | 1087.6s |
   | CPU sys | 115.8s |
   | Peak spill | 0 B |
   
   **clickbench_partitioned β€” branch**
   | Metric | Value |
   |--------|-------|
   | Wall time | 115.0s |
   | Peak memory | 18.3 GiB |
   | Avg memory | 6.2 GiB |
   | CPU user | 1089.1s |
   | CPU sys | 120.3s |
   | Peak spill | 0 B |
   
   </details>
   
   
   ---
   [File an issue](https://github.com/adriangb/datafusion-benchmarking/issues) against this benchmark runner


-- 
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: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org