Skip to content

POC hash aggregate repartition subpartitions#23186

Draft
Rachelint wants to merge 19 commits into
apache:mainfrom
Rachelint:final-aggr-with-lazily-materialize-poc
Draft

POC hash aggregate repartition subpartitions#23186
Rachelint wants to merge 19 commits into
apache:mainfrom
Rachelint:final-aggr-with-lazily-materialize-poc

Conversation

@Rachelint

@Rachelint Rachelint commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

Which issue does this PR close?

  • Experimental POC; does not close an issue yet.

Rationale for this change

Final aggregation should receive reasonably sized batches that each belong to one relative aggregate partition. Building multi-batch group and accumulator APIs in final aggregation added substantial complexity without improving locality.

This version moves partition-aware batching into RepartitionExec, where rows are already split by aggregate partition.

What changes are included in this PR?

  • Replace the shared repartition coalescer with a local BatchCoalescer enum:
    • Single(LimitedBatchCoalescer) for normal repartitioning.
    • Partitioned(PartitionedLimitedBatchCoalescer) for aggregate repartitioning.
  • Give each relative aggregate partition its own LimitedBatchCoalescer.
  • Keep one repartition output batch per output partition and append the relative-partition hidden column.
  • Split that batch by contiguous hidden-column runs inside PartitionedLimitedBatchCoalescer::push_batch.
  • Push each slice into its relative partition's LimitedBatchCoalescer.
  • Store the singular relative partition on coalesced output using internal schema metadata.
  • Preserve the metadata across the spill path using the spill marker.
  • Remove final-side reorder/materialization.
  • Make final aggregation buffer each complete batch directly by its relative-partition metadata.

Are these changes tested?

  • Added tests for relative-partition metadata, partitioned coalescing, aggregate partition routing, and final aggregation replay.
  • cargo fmt --all
  • cargo clippy --all-targets --all-features -- -D warnings
  • All four targeted tests pass.
  • cargo test -p datafusion-physical-plan --lib: 1515 passed; the existing aggregates::tests::test_order_is_retained_when_spilling 600-byte memory-pool test failed with an allocation error and also failed when rerun alone. It does not exercise this repartition path.

Are there any user-facing changes?

No. This is an internal experimental optimization.

@github-actions github-actions Bot added optimizer Optimizer rules core Core DataFusion crate physical-plan Changes to the physical-plan crate labels Jun 25, 2026
@Rachelint
Rachelint force-pushed the final-aggr-with-lazily-materialize-poc branch 3 times, most recently from 86eb45e to ce1b786 Compare June 27, 2026 14:05
@Rachelint
Rachelint force-pushed the final-aggr-with-lazily-materialize-poc branch from ce1b786 to 182c5b0 Compare June 27, 2026 14:44
@github-actions github-actions Bot added auto detected api change Auto detected API change and removed auto detected api change Auto detected API change labels Jul 1, 2026
@Rachelint

Copy link
Copy Markdown
Contributor Author

run benchmarks clickbench_partitioned

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c4862758747-795-q2znf 6.12.85+ #1 SMP Mon May 11 08:17:35 UTC 2026 aarch64 GNU/Linux

CPU Details (lscpu)
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

Comparing final-aggr-with-lazily-materialize-poc (56181e3) to eaafba4 (merge-base) diff using: clickbench_partitioned
Results will be posted here when complete


File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark completed (GKE) | trigger

Instance: c4a-highmem-16 (12 vCPU / 65 GiB)

CPU Details (lscpu)
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 HEAD and final-aggr-with-lazily-materialize-poc
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                  HEAD ┃ final-aggr-with-lazily-materialize-poc ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0  │          1.24 / 4.05 ±5.49 / 15.03 ms │           1.21 / 4.01 ±5.46 / 14.92 ms │     no change │
│ QQuery 1  │        13.01 / 13.28 ±0.24 / 13.70 ms │         12.73 / 12.96 ±0.15 / 13.10 ms │     no change │
│ QQuery 2  │        36.20 / 36.39 ±0.21 / 36.75 ms │         35.51 / 35.72 ±0.25 / 36.21 ms │     no change │
│ QQuery 3  │        31.69 / 32.39 ±0.72 / 33.71 ms │         30.44 / 30.73 ±0.32 / 31.32 ms │ +1.05x faster │
│ QQuery 4  │     223.87 / 226.44 ±1.52 / 228.10 ms │      193.56 / 196.31 ±1.82 / 199.14 ms │ +1.15x faster │
│ QQuery 5  │     271.13 / 273.83 ±1.88 / 276.40 ms │      286.36 / 290.80 ±3.85 / 297.23 ms │  1.06x slower │
│ QQuery 6  │           1.28 / 1.43 ±0.23 / 1.87 ms │            1.26 / 1.41 ±0.23 / 1.87 ms │     no change │
│ QQuery 7  │        14.44 / 14.54 ±0.06 / 14.63 ms │         13.97 / 14.03 ±0.05 / 14.09 ms │     no change │
│ QQuery 8  │     320.72 / 323.17 ±1.70 / 325.19 ms │      299.67 / 306.51 ±6.53 / 314.63 ms │ +1.05x faster │
│ QQuery 9  │     455.35 / 461.37 ±7.62 / 475.28 ms │      418.06 / 424.94 ±9.09 / 441.27 ms │ +1.09x faster │
│ QQuery 10 │        72.09 / 73.21 ±0.90 / 74.24 ms │         71.75 / 72.71 ±0.59 / 73.37 ms │     no change │
│ QQuery 11 │        83.35 / 86.32 ±4.54 / 95.32 ms │         83.63 / 84.77 ±0.81 / 86.11 ms │     no change │
│ QQuery 12 │     267.95 / 272.98 ±4.34 / 280.26 ms │      280.15 / 288.46 ±5.08 / 296.16 ms │  1.06x slower │
│ QQuery 13 │     378.56 / 388.11 ±8.79 / 400.78 ms │      381.68 / 390.18 ±6.50 / 400.68 ms │     no change │
│ QQuery 14 │     283.02 / 285.39 ±1.68 / 287.67 ms │      287.78 / 291.90 ±2.89 / 296.76 ms │     no change │
│ QQuery 15 │     272.95 / 280.39 ±9.87 / 299.69 ms │     250.76 / 265.36 ±16.14 / 289.61 ms │ +1.06x faster │
│ QQuery 16 │     613.87 / 621.20 ±5.98 / 628.95 ms │     606.30 / 621.54 ±19.88 / 659.87 ms │     no change │
│ QQuery 17 │     622.34 / 627.36 ±4.23 / 633.34 ms │     507.97 / 523.99 ±13.03 / 546.14 ms │ +1.20x faster │
│ QQuery 18 │ 1260.31 / 1273.00 ±10.46 / 1286.09 ms │  1214.03 / 1279.59 ±50.36 / 1360.37 ms │     no change │
│ QQuery 19 │       28.48 / 37.17 ±15.60 / 68.36 ms │        27.74 / 36.70 ±16.15 / 68.98 ms │     no change │
│ QQuery 20 │    514.39 / 524.61 ±11.15 / 545.94 ms │      530.83 / 540.40 ±8.55 / 550.68 ms │     no change │
│ QQuery 21 │     519.52 / 522.42 ±3.37 / 528.43 ms │      522.10 / 528.46 ±3.83 / 533.49 ms │     no change │
│ QQuery 22 │  983.15 / 1001.66 ±10.80 / 1013.95 ms │   997.20 / 1043.47 ±30.35 / 1082.39 ms │     no change │
│ QQuery 23 │ 3075.18 / 3094.07 ±16.66 / 3125.15 ms │  3159.35 / 3180.12 ±19.52 / 3212.54 ms │     no change │
│ QQuery 24 │        41.90 / 45.45 ±5.40 / 56.06 ms │         42.41 / 45.73 ±5.04 / 55.70 ms │     no change │
│ QQuery 25 │     113.24 / 115.51 ±1.98 / 118.99 ms │      112.52 / 118.65 ±6.38 / 129.76 ms │     no change │
│ QQuery 26 │        42.34 / 43.66 ±1.35 / 46.21 ms │         41.97 / 47.28 ±8.04 / 63.11 ms │  1.08x slower │
│ QQuery 27 │     669.99 / 677.75 ±8.82 / 694.55 ms │      675.83 / 678.96 ±2.89 / 684.24 ms │     no change │
│ QQuery 28 │ 3014.38 / 3034.17 ±22.72 / 3073.34 ms │  3084.30 / 3098.63 ±10.30 / 3114.28 ms │     no change │
│ QQuery 29 │        40.77 / 40.90 ±0.11 / 41.07 ms │        40.41 / 50.90 ±20.40 / 91.70 ms │  1.24x slower │
│ QQuery 30 │    300.91 / 312.14 ±13.81 / 338.71 ms │      287.59 / 296.67 ±7.23 / 307.28 ms │     no change │
│ QQuery 31 │     286.06 / 294.90 ±7.06 / 306.19 ms │      263.21 / 272.59 ±6.64 / 280.71 ms │ +1.08x faster │
│ QQuery 32 │    925.79 / 965.99 ±23.58 / 996.50 ms │     763.20 / 817.59 ±40.27 / 870.74 ms │ +1.18x faster │
│ QQuery 33 │ 1450.00 / 1480.46 ±18.74 / 1507.48 ms │  1698.91 / 1754.55 ±76.98 / 1906.13 ms │  1.19x slower │
│ QQuery 34 │  1486.91 / 1496.43 ±9.89 / 1514.10 ms │  1700.67 / 1742.37 ±37.79 / 1809.49 ms │  1.16x slower │
│ QQuery 35 │    277.94 / 298.85 ±20.66 / 335.87 ms │     266.26 / 311.33 ±65.51 / 437.10 ms │     no change │
│ QQuery 36 │        65.19 / 78.58 ±9.55 / 90.02 ms │        66.25 / 79.03 ±11.94 / 97.02 ms │     no change │
│ QQuery 37 │        35.47 / 36.14 ±0.54 / 36.99 ms │         36.11 / 43.84 ±6.70 / 55.05 ms │  1.21x slower │
│ QQuery 38 │        42.93 / 46.63 ±3.38 / 51.95 ms │         40.42 / 43.33 ±3.79 / 50.00 ms │ +1.08x faster │
│ QQuery 39 │     138.62 / 149.55 ±7.74 / 162.00 ms │     141.20 / 162.59 ±12.65 / 179.48 ms │  1.09x slower │
│ QQuery 40 │        14.36 / 15.73 ±2.02 / 19.73 ms │         14.96 / 18.27 ±5.05 / 28.31 ms │  1.16x slower │
│ QQuery 41 │        13.64 / 14.14 ±0.45 / 14.90 ms │         14.23 / 14.54 ±0.31 / 14.99 ms │     no change │
│ QQuery 42 │        13.39 / 15.51 ±4.00 / 23.51 ms │         13.49 / 13.71 ±0.19 / 13.93 ms │ +1.13x faster │
└───────────┴───────────────────────────────────────┴────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                                     ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                                     │ 19637.28ms │
│ Total Time (final-aggr-with-lazily-materialize-poc)   │ 20075.62ms │
│ Average Time (HEAD)                                   │   456.68ms │
│ Average Time (final-aggr-with-lazily-materialize-poc) │   466.87ms │
│ Queries Faster                                        │         10 │
│ Queries Slower                                        │          9 │
│ Queries with No Change                                │         24 │
│ Queries with Failure                                  │          0 │
└───────────────────────────────────────────────────────┴────────────┘

Resource Usage

clickbench_partitioned — base (merge-base)

Metric Value
Wall time 100.0s
Peak memory 11.1 GiB
Avg memory 4.5 GiB
CPU user 1010.1s
CPU sys 70.1s
Peak spill 0 B

clickbench_partitioned — branch

Metric Value
Wall time 105.0s
Peak memory 11.7 GiB
Avg memory 4.2 GiB
CPU user 974.6s
CPU sys 88.3s
Peak spill 0 B

File an issue against this benchmark runner

@Rachelint

Copy link
Copy Markdown
Contributor Author

run benchmarks clickbench_partitioned

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c4862903506-796-7h5wm 6.12.85+ #1 SMP Mon May 11 08:17:35 UTC 2026 aarch64 GNU/Linux

CPU Details (lscpu)
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

Comparing final-aggr-with-lazily-materialize-poc (a8d2b6c) to eaafba4 (merge-base) diff using: clickbench_partitioned
Results will be posted here when complete


File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark completed (GKE) | trigger

Instance: c4a-highmem-16 (12 vCPU / 65 GiB)

CPU Details (lscpu)
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 HEAD and final-aggr-with-lazily-materialize-poc
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                  HEAD ┃ final-aggr-with-lazily-materialize-poc ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0  │          1.22 / 3.97 ±5.41 / 14.78 ms │           1.23 / 3.92 ±5.30 / 14.53 ms │     no change │
│ QQuery 1  │        12.65 / 13.06 ±0.23 / 13.32 ms │         12.69 / 12.85 ±0.17 / 13.13 ms │     no change │
│ QQuery 2  │        36.49 / 36.76 ±0.25 / 37.19 ms │         35.74 / 36.05 ±0.22 / 36.29 ms │     no change │
│ QQuery 3  │        31.27 / 31.84 ±0.64 / 33.08 ms │         30.42 / 30.76 ±0.20 / 31.02 ms │     no change │
│ QQuery 4  │     220.07 / 223.69 ±2.54 / 226.94 ms │      194.30 / 198.44 ±4.45 / 207.08 ms │ +1.13x faster │
│ QQuery 5  │     270.09 / 271.65 ±1.20 / 273.46 ms │      285.42 / 288.64 ±3.17 / 293.73 ms │  1.06x slower │
│ QQuery 6  │           1.29 / 1.44 ±0.23 / 1.89 ms │            1.26 / 1.42 ±0.24 / 1.88 ms │     no change │
│ QQuery 7  │        13.85 / 13.93 ±0.04 / 13.97 ms │         14.03 / 14.24 ±0.17 / 14.52 ms │     no change │
│ QQuery 8  │     316.03 / 321.64 ±3.58 / 326.28 ms │      298.91 / 303.26 ±4.30 / 309.99 ms │ +1.06x faster │
│ QQuery 9  │     450.95 / 454.45 ±3.29 / 460.70 ms │      408.99 / 409.68 ±0.76 / 411.12 ms │ +1.11x faster │
│ QQuery 10 │        71.84 / 74.19 ±2.71 / 79.38 ms │        73.47 / 79.39 ±10.03 / 99.42 ms │  1.07x slower │
│ QQuery 11 │        83.75 / 84.45 ±0.71 / 85.66 ms │         85.64 / 86.56 ±0.99 / 88.47 ms │     no change │
│ QQuery 12 │     266.14 / 269.10 ±3.11 / 274.70 ms │      284.89 / 291.73 ±5.47 / 298.10 ms │  1.08x slower │
│ QQuery 13 │     360.77 / 371.31 ±7.63 / 384.00 ms │     378.37 / 394.94 ±11.90 / 409.26 ms │  1.06x slower │
│ QQuery 14 │     281.62 / 285.96 ±4.05 / 292.03 ms │      288.02 / 294.44 ±7.44 / 308.51 ms │     no change │
│ QQuery 15 │     270.86 / 275.05 ±2.44 / 278.39 ms │     244.18 / 256.55 ±11.28 / 275.45 ms │ +1.07x faster │
│ QQuery 16 │     607.26 / 614.73 ±4.57 / 620.75 ms │      614.28 / 621.95 ±7.24 / 634.75 ms │     no change │
│ QQuery 17 │     614.86 / 621.60 ±7.34 / 630.73 ms │      504.13 / 517.70 ±9.54 / 531.34 ms │ +1.20x faster │
│ QQuery 18 │ 1258.69 / 1270.12 ±10.36 / 1288.12 ms │  1210.05 / 1260.49 ±45.36 / 1328.35 ms │     no change │
│ QQuery 19 │        28.18 / 31.21 ±5.62 / 42.46 ms │        28.02 / 34.49 ±12.39 / 59.27 ms │  1.11x slower │
│ QQuery 20 │    513.54 / 524.51 ±17.41 / 559.11 ms │     520.37 / 543.77 ±42.25 / 628.22 ms │     no change │
│ QQuery 21 │     508.81 / 514.22 ±3.54 / 517.76 ms │      515.76 / 525.42 ±7.29 / 537.13 ms │     no change │
│ QQuery 22 │     976.32 / 985.74 ±7.19 / 998.44 ms │      991.56 / 993.99 ±2.77 / 997.95 ms │     no change │
│ QQuery 23 │ 3060.69 / 3082.10 ±20.29 / 3117.72 ms │  3111.60 / 3158.37 ±32.13 / 3198.69 ms │     no change │
│ QQuery 24 │        41.09 / 41.55 ±0.32 / 41.91 ms │         41.33 / 43.53 ±2.86 / 48.83 ms │     no change │
│ QQuery 25 │     112.67 / 114.51 ±2.29 / 118.98 ms │      112.36 / 113.68 ±1.41 / 115.46 ms │     no change │
│ QQuery 26 │        41.61 / 43.24 ±1.94 / 47.01 ms │         41.75 / 44.04 ±2.16 / 46.72 ms │     no change │
│ QQuery 27 │     665.84 / 673.80 ±7.37 / 687.76 ms │      664.02 / 673.72 ±6.62 / 683.50 ms │     no change │
│ QQuery 28 │ 2998.34 / 3043.16 ±23.07 / 3062.14 ms │  3058.75 / 3082.56 ±25.11 / 3123.25 ms │     no change │
│ QQuery 29 │        40.74 / 40.94 ±0.28 / 41.48 ms │         40.34 / 41.09 ±1.26 / 43.59 ms │     no change │
│ QQuery 30 │     299.56 / 308.74 ±6.82 / 316.42 ms │     285.90 / 296.34 ±10.53 / 316.29 ms │     no change │
│ QQuery 31 │     282.48 / 291.51 ±6.47 / 299.15 ms │      261.97 / 267.28 ±4.88 / 274.95 ms │ +1.09x faster │
│ QQuery 32 │    913.72 / 933.14 ±13.90 / 955.17 ms │     748.02 / 816.63 ±88.29 / 979.98 ms │ +1.14x faster │
│ QQuery 33 │ 1449.56 / 1484.70 ±35.25 / 1549.06 ms │  1646.52 / 1680.11 ±21.92 / 1710.87 ms │  1.13x slower │
│ QQuery 34 │ 1466.33 / 1481.75 ±15.56 / 1501.78 ms │  1707.45 / 1801.50 ±93.97 / 1927.95 ms │  1.22x slower │
│ QQuery 35 │    280.68 / 301.95 ±20.75 / 336.46 ms │     256.01 / 341.54 ±96.21 / 472.14 ms │  1.13x slower │
│ QQuery 36 │        66.25 / 71.39 ±4.14 / 78.34 ms │         73.20 / 78.38 ±7.07 / 92.31 ms │  1.10x slower │
│ QQuery 37 │        35.88 / 37.89 ±2.91 / 43.62 ms │         36.14 / 36.49 ±0.21 / 36.78 ms │     no change │
│ QQuery 38 │        43.01 / 48.48 ±6.49 / 58.74 ms │        40.46 / 47.64 ±11.23 / 69.93 ms │     no change │
│ QQuery 39 │     140.12 / 151.05 ±6.26 / 159.04 ms │     138.74 / 159.95 ±11.95 / 170.37 ms │  1.06x slower │
│ QQuery 40 │        13.69 / 14.44 ±0.52 / 15.25 ms │         14.25 / 15.00 ±0.61 / 15.78 ms │     no change │
│ QQuery 41 │        13.58 / 19.60 ±8.30 / 35.37 ms │         13.68 / 17.21 ±6.65 / 30.50 ms │ +1.14x faster │
│ QQuery 42 │        13.02 / 15.66 ±2.98 / 19.34 ms │         13.05 / 17.07 ±4.59 / 24.45 ms │  1.09x slower │
└───────────┴───────────────────────────────────────┴────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                                     ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                                     │ 19494.18ms │
│ Total Time (final-aggr-with-lazily-materialize-poc)   │ 19932.82ms │
│ Average Time (HEAD)                                   │   453.35ms │
│ Average Time (final-aggr-with-lazily-materialize-poc) │   463.55ms │
│ Queries Faster                                        │          8 │
│ Queries Slower                                        │         11 │
│ Queries with No Change                                │         24 │
│ Queries with Failure                                  │          0 │
└───────────────────────────────────────────────────────┴────────────┘

Resource Usage

clickbench_partitioned — base (merge-base)

Metric Value
Wall time 100.0s
Peak memory 12.1 GiB
Avg memory 4.5 GiB
CPU user 1007.0s
CPU sys 65.9s
Peak spill 0 B

clickbench_partitioned — branch

Metric Value
Wall time 100.0s
Peak memory 12.1 GiB
Avg memory 4.4 GiB
CPU user 968.7s
CPU sys 82.3s
Peak spill 0 B

File an issue against this benchmark runner

@github-actions github-actions Bot added logical-expr Logical plan and expressions functions Changes to functions implementation and removed common Related to common crate labels Jul 17, 2026
@Rachelint

Copy link
Copy Markdown
Contributor Author

run benchmarks clickbench_partitioned --query 32

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c5021611726-1170-889ht 6.12.85+ #1 SMP Mon May 11 08:17:35 UTC 2026 aarch64 GNU/Linux

CPU Details (lscpu)
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

Comparing final-aggr-with-lazily-materialize-poc (91738e3) to eaafba4 (merge-base) diff using: clickbench_partitioned
Results will be posted here when complete


File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c5021611726-1171-zlpwq 6.12.85+ #1 SMP Mon May 11 08:17:35 UTC 2026 aarch64 GNU/Linux

CPU Details (lscpu)
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

Comparing final-aggr-with-lazily-materialize-poc (91738e3) to eaafba4 (merge-base) diff using: --query
Results will be posted here when complete


File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c5021611726-1172-xgqj8 6.12.85+ #1 SMP Mon May 11 08:17:35 UTC 2026 aarch64 GNU/Linux

CPU Details (lscpu)
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

Comparing final-aggr-with-lazily-materialize-poc (91738e3) to eaafba4 (merge-base) diff using: 32
Results will be posted here when complete


File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

Benchmark for this request failed.

Last 20 lines of output:

Click to expand
eaafba48074c5390a8d235414d95dd0f24784155
Cloning into '/workspace/datafusion-bench'...
HEAD is now at 3b1ce16 test: add advanced dictionary test (#23483)
Cache MISS: --query
Unknown option --query
error: unexpected argument '--query' found

  tip: to pass '--query' as a value, use '-- --query'

Usage: bench-cache download --bucket <BUCKET> --data-dir <DATA_DIR> <BENCHMARK>

For more information, try '--help'.
error: unexpected argument '--query' found

  tip: to pass '--query' as a value, use '-- --query'

Usage: bench-cache upload --bucket <BUCKET> --data-dir <DATA_DIR> <BENCHMARK>

For more information, try '--help'.
Unknown option --query

File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

Benchmark for this request failed.

Last 20 lines of output:

Click to expand
# Micro-Benchmarks (specific operators and features)
cancellation:           How long cancelling a query takes
nlj:                    Benchmark for simple nested loop joins, testing various join scenarios
hj:                     Benchmark for simple hash joins, testing various join scenarios
smj:                    Benchmark for simple sort merge joins, testing various join scenarios
dict:                   Benchmark for dictionary-encoded group-by scenarios
compile_profile:        Compile and execute TPC-H across selected Cargo profiles, reporting timing and binary size


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Supported Configuration (Environment Variables)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
DATA_DIR            directory to store datasets
CARGO_COMMAND       command that runs the benchmark binary
DATAFUSION_DIR      directory to use (default /workspace/datafusion-base)
RESULTS_NAME        folder where the benchmark files are stored
PREFER_HASH_JOIN    Prefer hash join algorithm (default true)
SIMULATE_LATENCY    Simulate object store latency to mimic S3 (default false)
DATAFUSION_*        Set the given datafusion configuration


File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark completed (GKE) | trigger

Instance: c4a-highmem-16 (12 vCPU / 65 GiB)

CPU Details (lscpu)
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 HEAD and final-aggr-with-lazily-materialize-poc
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                  HEAD ┃ final-aggr-with-lazily-materialize-poc ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0  │          1.27 / 4.02 ±5.44 / 14.91 ms │           1.22 / 3.94 ±5.37 / 14.67 ms │     no change │
│ QQuery 1  │        12.53 / 12.90 ±0.20 / 13.10 ms │         12.29 / 12.73 ±0.24 / 12.97 ms │     no change │
│ QQuery 2  │        35.85 / 36.11 ±0.26 / 36.47 ms │         35.89 / 36.17 ±0.30 / 36.74 ms │     no change │
│ QQuery 3  │        31.21 / 31.76 ±0.77 / 33.23 ms │         30.62 / 31.02 ±0.21 / 31.18 ms │     no change │
│ QQuery 4  │     224.04 / 226.65 ±1.77 / 229.28 ms │      229.31 / 232.81 ±2.94 / 237.35 ms │     no change │
│ QQuery 5  │     271.96 / 275.72 ±2.54 / 278.70 ms │      281.95 / 287.78 ±4.12 / 292.43 ms │     no change │
│ QQuery 6  │           1.28 / 1.42 ±0.22 / 1.86 ms │            1.29 / 1.46 ±0.26 / 1.96 ms │     no change │
│ QQuery 7  │        13.94 / 14.02 ±0.07 / 14.10 ms │         13.86 / 13.97 ±0.12 / 14.18 ms │     no change │
│ QQuery 8  │     322.71 / 324.65 ±1.34 / 325.98 ms │      298.94 / 306.23 ±6.06 / 314.25 ms │ +1.06x faster │
│ QQuery 9  │     453.21 / 459.29 ±5.27 / 469.10 ms │     427.47 / 439.60 ±10.38 / 457.63 ms │     no change │
│ QQuery 10 │        70.74 / 71.30 ±0.40 / 71.95 ms │         71.60 / 72.38 ±0.96 / 74.28 ms │     no change │
│ QQuery 11 │        82.02 / 82.85 ±0.81 / 84.35 ms │       83.32 / 90.13 ±11.38 / 112.76 ms │  1.09x slower │
│ QQuery 12 │     268.94 / 271.81 ±1.82 / 274.36 ms │      280.23 / 286.67 ±5.81 / 294.79 ms │  1.05x slower │
│ QQuery 13 │    363.07 / 377.48 ±10.50 / 391.63 ms │     396.87 / 414.78 ±10.90 / 427.38 ms │  1.10x slower │
│ QQuery 14 │     280.39 / 283.57 ±2.77 / 288.36 ms │     289.10 / 301.34 ±11.38 / 321.01 ms │  1.06x slower │
│ QQuery 15 │     270.04 / 279.17 ±9.53 / 297.19 ms │     278.44 / 293.61 ±11.19 / 309.87 ms │  1.05x slower │
│ QQuery 16 │     613.95 / 617.29 ±1.88 / 619.07 ms │     596.73 / 633.36 ±23.03 / 665.53 ms │     no change │
│ QQuery 17 │    607.04 / 625.43 ±10.85 / 640.64 ms │     508.75 / 522.78 ±11.93 / 538.30 ms │ +1.20x faster │
│ QQuery 18 │ 1234.37 / 1262.91 ±15.66 / 1280.31 ms │  1221.77 / 1259.17 ±29.79 / 1297.30 ms │     no change │
│ QQuery 19 │        28.13 / 28.71 ±0.58 / 29.64 ms │         28.20 / 28.55 ±0.19 / 28.74 ms │     no change │
│ QQuery 20 │    513.64 / 525.22 ±11.24 / 546.37 ms │     524.72 / 542.46 ±18.26 / 575.46 ms │     no change │
│ QQuery 21 │     514.68 / 520.95 ±4.50 / 526.50 ms │     526.27 / 539.91 ±12.73 / 563.63 ms │     no change │
│ QQuery 22 │   993.94 / 1002.38 ±7.02 / 1014.36 ms │   1040.61 / 1047.77 ±6.70 / 1055.97 ms │     no change │
│ QQuery 23 │ 3062.54 / 3093.01 ±28.13 / 3146.17 ms │  3122.57 / 3158.16 ±27.78 / 3201.70 ms │     no change │
│ QQuery 24 │        43.02 / 46.21 ±3.58 / 52.33 ms │         42.22 / 43.06 ±0.53 / 43.76 ms │ +1.07x faster │
│ QQuery 25 │     112.23 / 112.88 ±0.60 / 113.73 ms │      113.33 / 118.68 ±9.46 / 137.57 ms │  1.05x slower │
│ QQuery 26 │        41.99 / 42.35 ±0.54 / 43.43 ms │        43.40 / 50.58 ±13.32 / 77.21 ms │  1.19x slower │
│ QQuery 27 │    514.96 / 524.70 ±12.50 / 549.04 ms │      532.37 / 539.24 ±3.86 / 544.08 ms │     no change │
│ QQuery 28 │ 2890.04 / 2911.27 ±24.35 / 2956.49 ms │  2854.77 / 2901.70 ±32.75 / 2939.14 ms │     no change │
│ QQuery 29 │       41.16 / 49.11 ±10.05 / 65.73 ms │         40.33 / 44.03 ±6.97 / 57.97 ms │ +1.12x faster │
│ QQuery 30 │    295.74 / 309.25 ±10.96 / 328.92 ms │     286.58 / 307.04 ±18.76 / 330.37 ms │     no change │
│ QQuery 31 │    283.03 / 300.63 ±12.66 / 322.54 ms │      265.78 / 271.39 ±5.66 / 280.89 ms │ +1.11x faster │
│ QQuery 32 │    955.29 / 969.54 ±13.39 / 993.28 ms │     740.77 / 811.18 ±48.32 / 889.43 ms │ +1.20x faster │
│ QQuery 33 │ 1433.72 / 1468.48 ±17.79 / 1481.76 ms │  1589.98 / 1629.09 ±29.00 / 1661.31 ms │  1.11x slower │
│ QQuery 34 │ 1446.66 / 1510.92 ±53.92 / 1587.61 ms │  1580.96 / 1618.32 ±32.60 / 1673.99 ms │  1.07x slower │
│ QQuery 35 │    281.11 / 321.88 ±58.71 / 436.06 ms │     286.71 / 333.04 ±37.97 / 378.46 ms │     no change │
│ QQuery 36 │        66.60 / 70.37 ±4.15 / 77.71 ms │         66.33 / 73.87 ±5.03 / 81.72 ms │     no change │
│ QQuery 37 │       35.42 / 44.14 ±10.64 / 63.23 ms │         36.51 / 39.29 ±3.24 / 45.54 ms │ +1.12x faster │
│ QQuery 38 │        43.04 / 44.68 ±1.34 / 46.75 ms │         40.99 / 44.85 ±3.44 / 50.70 ms │     no change │
│ QQuery 39 │     142.04 / 150.42 ±6.83 / 162.36 ms │      151.06 / 159.45 ±5.62 / 166.71 ms │  1.06x slower │
│ QQuery 40 │        14.44 / 14.99 ±0.67 / 16.18 ms │         14.35 / 16.96 ±3.01 / 20.84 ms │  1.13x slower │
│ QQuery 41 │        13.99 / 14.11 ±0.12 / 14.33 ms │         13.81 / 14.08 ±0.31 / 14.67 ms │     no change │
│ QQuery 42 │        13.30 / 15.18 ±3.17 / 21.51 ms │         13.34 / 15.24 ±3.70 / 22.64 ms │     no change │
└───────────┴───────────────────────────────────────┴────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                                     ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                                     │ 19349.76ms │
│ Total Time (final-aggr-with-lazily-materialize-poc)   │ 19587.90ms │
│ Average Time (HEAD)                                   │   449.99ms │
│ Average Time (final-aggr-with-lazily-materialize-poc) │   455.53ms │
│ Queries Faster                                        │          7 │
│ Queries Slower                                        │         11 │
│ Queries with No Change                                │         25 │
│ Queries with Failure                                  │          0 │
└───────────────────────────────────────────────────────┴────────────┘

Resource Usage

clickbench_partitioned — base (merge-base)

Metric Value
Wall time 100.0s
Peak memory 11.4 GiB
Avg memory 4.3 GiB
CPU user 992.4s
CPU sys 70.7s
Peak spill 0 B

clickbench_partitioned — branch

Metric Value
Wall time 100.0s
Peak memory 12.5 GiB
Avg memory 4.6 GiB
CPU user 973.2s
CPU sys 88.6s
Peak spill 0 B

File an issue against this benchmark runner

@Rachelint

Copy link
Copy Markdown
Contributor Author

run benchmarks clickbench_partitioned

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c5021856063-1174-kgxfh 6.12.85+ #1 SMP Mon May 11 08:17:35 UTC 2026 aarch64 GNU/Linux

CPU Details (lscpu)
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

Comparing final-aggr-with-lazily-materialize-poc (91738e3) to eaafba4 (merge-base) diff using: clickbench_partitioned
Results will be posted here when complete


File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark completed (GKE) | trigger

Instance: c4a-highmem-16 (12 vCPU / 65 GiB)

CPU Details (lscpu)
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 HEAD and final-aggr-with-lazily-materialize-poc
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                  HEAD ┃ final-aggr-with-lazily-materialize-poc ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0  │          1.24 / 3.96 ±5.36 / 14.69 ms │           1.24 / 3.96 ±5.36 / 14.68 ms │     no change │
│ QQuery 1  │        12.50 / 12.94 ±0.25 / 13.12 ms │         12.46 / 12.80 ±0.18 / 12.99 ms │     no change │
│ QQuery 2  │        36.12 / 36.56 ±0.50 / 37.43 ms │         35.66 / 36.00 ±0.18 / 36.17 ms │     no change │
│ QQuery 3  │        30.85 / 31.72 ±0.75 / 32.89 ms │         30.62 / 30.97 ±0.28 / 31.36 ms │     no change │
│ QQuery 4  │     225.78 / 228.34 ±1.73 / 230.30 ms │      224.40 / 231.27 ±3.62 / 235.20 ms │     no change │
│ QQuery 5  │     272.97 / 274.21 ±0.77 / 275.35 ms │      278.85 / 283.65 ±3.54 / 289.01 ms │     no change │
│ QQuery 6  │           1.30 / 1.45 ±0.24 / 1.92 ms │            1.28 / 1.44 ±0.23 / 1.88 ms │     no change │
│ QQuery 7  │        14.03 / 14.16 ±0.08 / 14.26 ms │         13.81 / 13.97 ±0.15 / 14.22 ms │     no change │
│ QQuery 8  │     320.00 / 324.24 ±4.00 / 331.13 ms │      301.10 / 305.62 ±3.72 / 310.54 ms │ +1.06x faster │
│ QQuery 9  │     454.24 / 459.89 ±4.35 / 467.43 ms │      419.94 / 428.39 ±6.38 / 436.17 ms │ +1.07x faster │
│ QQuery 10 │        71.30 / 72.80 ±1.37 / 75.37 ms │         71.62 / 72.13 ±0.46 / 72.98 ms │     no change │
│ QQuery 11 │        83.31 / 84.28 ±0.78 / 85.44 ms │         82.77 / 84.77 ±1.68 / 87.47 ms │     no change │
│ QQuery 12 │     267.55 / 271.26 ±4.04 / 278.08 ms │      278.44 / 284.81 ±6.64 / 294.79 ms │     no change │
│ QQuery 13 │    368.57 / 386.54 ±13.74 / 409.11 ms │     391.86 / 412.80 ±17.54 / 437.34 ms │  1.07x slower │
│ QQuery 14 │     284.82 / 288.58 ±7.06 / 302.68 ms │     287.12 / 299.66 ±12.57 / 323.30 ms │     no change │
│ QQuery 15 │     271.52 / 278.62 ±6.26 / 287.65 ms │     285.96 / 298.86 ±15.94 / 329.77 ms │  1.07x slower │
│ QQuery 16 │     610.40 / 617.33 ±6.61 / 625.42 ms │     615.16 / 637.69 ±22.57 / 677.19 ms │     no change │
│ QQuery 17 │     612.33 / 620.92 ±6.74 / 629.48 ms │      514.30 / 520.02 ±5.22 / 529.46 ms │ +1.19x faster │
│ QQuery 18 │ 1251.68 / 1272.94 ±13.20 / 1288.15 ms │  1245.77 / 1275.74 ±21.12 / 1295.22 ms │     no change │
│ QQuery 19 │        27.85 / 28.33 ±0.41 / 28.87 ms │         28.07 / 28.39 ±0.43 / 29.23 ms │     no change │
│ QQuery 20 │    515.69 / 530.68 ±16.42 / 562.39 ms │      529.65 / 540.42 ±6.19 / 547.42 ms │     no change │
│ QQuery 21 │     512.59 / 518.29 ±4.66 / 523.49 ms │     517.87 / 534.50 ±14.33 / 555.59 ms │     no change │
│ QQuery 22 │    982.11 / 989.57 ±7.03 / 1001.13 ms │    984.27 / 996.99 ±12.67 / 1016.96 ms │     no change │
│ QQuery 23 │ 3052.63 / 3095.81 ±24.07 / 3126.03 ms │  3117.21 / 3141.36 ±23.66 / 3179.36 ms │     no change │
│ QQuery 24 │        41.84 / 47.25 ±7.45 / 61.36 ms │        41.31 / 47.44 ±10.88 / 69.13 ms │     no change │
│ QQuery 25 │     112.69 / 114.12 ±1.16 / 115.37 ms │      111.74 / 114.43 ±3.02 / 120.00 ms │     no change │
│ QQuery 26 │        42.31 / 42.96 ±0.52 / 43.80 ms │         41.89 / 42.11 ±0.30 / 42.71 ms │     no change │
│ QQuery 27 │     514.26 / 520.03 ±4.23 / 527.10 ms │      521.57 / 529.90 ±5.21 / 537.42 ms │     no change │
│ QQuery 28 │  2883.46 / 2893.41 ±9.01 / 2909.37 ms │  2877.04 / 2898.18 ±15.57 / 2922.50 ms │     no change │
│ QQuery 29 │        40.73 / 43.69 ±3.80 / 50.91 ms │        40.69 / 50.07 ±18.52 / 87.11 ms │  1.15x slower │
│ QQuery 30 │     300.74 / 306.24 ±5.32 / 313.11 ms │      289.97 / 296.94 ±7.88 / 309.24 ms │     no change │
│ QQuery 31 │     283.71 / 294.94 ±6.71 / 303.35 ms │      262.20 / 264.37 ±1.47 / 266.69 ms │ +1.12x faster │
│ QQuery 32 │   923.08 / 961.65 ±31.61 / 1013.97 ms │     760.82 / 798.45 ±33.57 / 855.85 ms │ +1.20x faster │
│ QQuery 33 │ 1430.10 / 1463.12 ±24.24 / 1497.09 ms │  1605.70 / 1630.01 ±26.28 / 1680.63 ms │  1.11x slower │
│ QQuery 34 │ 1475.86 / 1486.57 ±13.08 / 1508.76 ms │  1569.84 / 1609.65 ±27.67 / 1653.53 ms │  1.08x slower │
│ QQuery 35 │    281.34 / 312.10 ±33.55 / 356.04 ms │    293.93 / 356.18 ±106.23 / 567.18 ms │  1.14x slower │
│ QQuery 36 │        66.69 / 73.77 ±7.90 / 88.79 ms │         68.45 / 73.99 ±5.37 / 82.44 ms │     no change │
│ QQuery 37 │        35.66 / 36.84 ±1.10 / 38.77 ms │         36.32 / 38.60 ±2.74 / 43.87 ms │     no change │
│ QQuery 38 │        42.48 / 46.81 ±3.26 / 51.03 ms │         42.03 / 50.41 ±8.11 / 63.95 ms │  1.08x slower │
│ QQuery 39 │     137.20 / 146.76 ±5.07 / 151.73 ms │     144.80 / 158.59 ±10.36 / 175.03 ms │  1.08x slower │
│ QQuery 40 │        14.11 / 14.54 ±0.66 / 15.86 ms │         14.15 / 14.71 ±0.41 / 15.20 ms │     no change │
│ QQuery 41 │        13.79 / 16.32 ±4.45 / 25.19 ms │         13.67 / 15.97 ±4.14 / 24.25 ms │     no change │
│ QQuery 42 │        13.07 / 15.03 ±3.63 / 22.29 ms │         13.21 / 17.94 ±5.76 / 27.92 ms │  1.19x slower │
└───────────┴───────────────────────────────────────┴────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                                     ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                                     │ 19279.55ms │
│ Total Time (final-aggr-with-lazily-materialize-poc)   │ 19484.17ms │
│ Average Time (HEAD)                                   │   448.36ms │
│ Average Time (final-aggr-with-lazily-materialize-poc) │   453.12ms │
│ Queries Faster                                        │          5 │
│ Queries Slower                                        │          9 │
│ Queries with No Change                                │         29 │
│ Queries with Failure                                  │          0 │
└───────────────────────────────────────────────────────┴────────────┘

Resource Usage

clickbench_partitioned — base (merge-base)

Metric Value
Wall time 100.0s
Peak memory 12.0 GiB
Avg memory 4.5 GiB
CPU user 992.5s
CPU sys 67.4s
Peak spill 0 B

clickbench_partitioned — branch

Metric Value
Wall time 100.0s
Peak memory 13.0 GiB
Avg memory 4.4 GiB
CPU user 971.9s
CPU sys 83.9s
Peak spill 0 B

File an issue against this benchmark runner

@Rachelint
Rachelint force-pushed the final-aggr-with-lazily-materialize-poc branch from ded7452 to 5792fea Compare July 20, 2026 12:47
@github-actions github-actions Bot removed logical-expr Logical plan and expressions functions Changes to functions implementation labels Jul 20, 2026
@Rachelint

Copy link
Copy Markdown
Contributor Author

run benchmarks clickbench_partitioned

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c5022887534-1175-jqnl7 6.12.85+ #1 SMP Mon May 11 08:17:35 UTC 2026 aarch64 GNU/Linux

CPU Details (lscpu)
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

Comparing final-aggr-with-lazily-materialize-poc (5792fea) to eaafba4 (merge-base) diff using: clickbench_partitioned
Results will be posted here when complete


File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark completed (GKE) | trigger

Instance: c4a-highmem-16 (12 vCPU / 65 GiB)

CPU Details (lscpu)
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 HEAD and final-aggr-with-lazily-materialize-poc
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                  HEAD ┃ final-aggr-with-lazily-materialize-poc ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0  │          1.21 / 4.05 ±5.56 / 15.17 ms │           1.24 / 4.05 ±5.51 / 15.07 ms │     no change │
│ QQuery 1  │        12.77 / 13.10 ±0.21 / 13.36 ms │         12.98 / 13.16 ±0.13 / 13.32 ms │     no change │
│ QQuery 2  │        35.82 / 36.48 ±0.40 / 37.06 ms │         36.02 / 36.42 ±0.44 / 37.24 ms │     no change │
│ QQuery 3  │        31.19 / 32.10 ±1.11 / 34.29 ms │         30.68 / 31.24 ±0.43 / 31.89 ms │     no change │
│ QQuery 4  │     226.71 / 229.69 ±3.09 / 235.54 ms │      196.63 / 197.54 ±0.94 / 199.21 ms │ +1.16x faster │
│ QQuery 5  │     273.64 / 277.27 ±3.98 / 284.87 ms │      288.32 / 290.10 ±2.13 / 293.87 ms │     no change │
│ QQuery 6  │           1.27 / 1.43 ±0.23 / 1.88 ms │            1.27 / 1.44 ±0.24 / 1.90 ms │     no change │
│ QQuery 7  │        13.83 / 14.25 ±0.26 / 14.65 ms │         14.15 / 14.28 ±0.12 / 14.45 ms │     no change │
│ QQuery 8  │     323.91 / 328.78 ±3.18 / 332.46 ms │      301.91 / 307.06 ±6.39 / 319.04 ms │ +1.07x faster │
│ QQuery 9  │     460.05 / 467.71 ±9.53 / 485.96 ms │     419.54 / 448.39 ±28.97 / 503.05 ms │     no change │
│ QQuery 10 │        70.97 / 71.92 ±0.67 / 73.06 ms │         83.78 / 87.02 ±4.21 / 95.23 ms │  1.21x slower │
│ QQuery 11 │        82.79 / 86.81 ±4.42 / 94.33 ms │         84.99 / 87.22 ±2.72 / 91.95 ms │     no change │
│ QQuery 12 │     270.20 / 277.17 ±8.55 / 293.79 ms │      289.54 / 295.02 ±3.71 / 300.97 ms │  1.06x slower │
│ QQuery 13 │    364.87 / 380.84 ±13.54 / 398.76 ms │     392.01 / 422.28 ±18.69 / 445.12 ms │  1.11x slower │
│ QQuery 14 │     288.39 / 293.09 ±4.72 / 302.03 ms │      292.84 / 296.26 ±3.75 / 302.71 ms │     no change │
│ QQuery 15 │     270.99 / 277.81 ±4.88 / 284.93 ms │      247.60 / 254.59 ±6.64 / 266.89 ms │ +1.09x faster │
│ QQuery 16 │     617.84 / 626.25 ±9.34 / 637.84 ms │     604.87 / 624.33 ±11.68 / 637.62 ms │     no change │
│ QQuery 17 │     620.39 / 634.38 ±9.10 / 646.69 ms │     504.53 / 521.51 ±14.40 / 538.32 ms │ +1.22x faster │
│ QQuery 18 │ 1253.17 / 1282.02 ±29.70 / 1339.45 ms │  1244.98 / 1317.97 ±75.46 / 1460.26 ms │     no change │
│ QQuery 19 │       27.77 / 34.92 ±13.81 / 62.53 ms │       28.86 / 61.88 ±44.91 / 149.33 ms │  1.77x slower │
│ QQuery 20 │    511.58 / 522.72 ±10.62 / 540.79 ms │      526.57 / 535.84 ±6.75 / 543.74 ms │     no change │
│ QQuery 21 │     523.06 / 526.74 ±3.97 / 534.12 ms │      520.86 / 534.43 ±7.54 / 542.37 ms │     no change │
│ QQuery 22 │    992.20 / 995.95 ±3.52 / 1002.30 ms │   1005.04 / 1010.50 ±6.21 / 1021.34 ms │     no change │
│ QQuery 23 │ 3053.84 / 3134.50 ±41.62 / 3171.30 ms │  3115.15 / 3165.19 ±39.48 / 3225.55 ms │     no change │
│ QQuery 24 │        41.12 / 43.88 ±3.72 / 51.19 ms │         41.80 / 47.37 ±9.79 / 66.91 ms │  1.08x slower │
│ QQuery 25 │     112.48 / 113.36 ±0.79 / 114.51 ms │      112.54 / 113.89 ±1.37 / 116.46 ms │     no change │
│ QQuery 26 │        41.87 / 42.57 ±0.57 / 43.59 ms │         42.45 / 42.95 ±0.43 / 43.56 ms │     no change │
│ QQuery 27 │     517.48 / 523.76 ±8.39 / 539.86 ms │      519.77 / 525.12 ±4.27 / 532.85 ms │     no change │
│ QQuery 28 │ 2895.91 / 2910.99 ±18.37 / 2947.06 ms │  2962.27 / 2996.34 ±18.63 / 3019.36 ms │     no change │
│ QQuery 29 │        40.89 / 41.29 ±0.37 / 41.99 ms │         41.00 / 43.77 ±4.69 / 53.12 ms │  1.06x slower │
│ QQuery 30 │     303.30 / 307.75 ±3.87 / 313.99 ms │     292.86 / 308.39 ±15.88 / 335.94 ms │     no change │
│ QQuery 31 │     287.98 / 297.91 ±8.86 / 311.77 ms │      272.11 / 276.74 ±3.18 / 281.62 ms │ +1.08x faster │
│ QQuery 32 │   939.27 / 972.86 ±29.32 / 1024.04 ms │     773.68 / 821.66 ±44.53 / 892.60 ms │ +1.18x faster │
│ QQuery 33 │ 1459.97 / 1476.38 ±13.49 / 1494.71 ms │ 1715.49 / 1795.27 ±117.31 / 2026.80 ms │  1.22x slower │
│ QQuery 34 │ 1461.53 / 1500.06 ±31.64 / 1547.23 ms │ 1723.21 / 1866.39 ±157.26 / 2149.31 ms │  1.24x slower │
│ QQuery 35 │    280.71 / 321.09 ±66.71 / 453.47 ms │      275.61 / 280.65 ±5.35 / 288.95 ms │ +1.14x faster │
│ QQuery 36 │        68.77 / 72.38 ±2.49 / 76.01 ms │         69.27 / 78.89 ±9.05 / 92.63 ms │  1.09x slower │
│ QQuery 37 │        35.65 / 42.90 ±6.82 / 54.15 ms │         37.99 / 46.29 ±7.52 / 58.79 ms │  1.08x slower │
│ QQuery 38 │        41.49 / 47.47 ±5.14 / 53.78 ms │         41.11 / 45.08 ±5.20 / 54.27 ms │ +1.05x faster │
│ QQuery 39 │     131.45 / 146.77 ±9.86 / 157.56 ms │     151.45 / 168.00 ±11.60 / 185.32 ms │  1.14x slower │
│ QQuery 40 │        14.39 / 16.36 ±2.97 / 22.27 ms │         14.75 / 15.69 ±0.60 / 16.32 ms │     no change │
│ QQuery 41 │        13.83 / 14.04 ±0.19 / 14.31 ms │         14.40 / 14.98 ±0.64 / 16.23 ms │  1.07x slower │
│ QQuery 42 │        13.38 / 16.82 ±5.71 / 28.13 ms │         13.96 / 14.14 ±0.11 / 14.29 ms │ +1.19x faster │
└───────────┴───────────────────────────────────────┴────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                                     ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                                     │ 19458.62ms │
│ Total Time (final-aggr-with-lazily-materialize-poc)   │ 20059.33ms │
│ Average Time (HEAD)                                   │   452.53ms │
│ Average Time (final-aggr-with-lazily-materialize-poc) │   466.50ms │
│ Queries Faster                                        │          9 │
│ Queries Slower                                        │         12 │
│ Queries with No Change                                │         22 │
│ Queries with Failure                                  │          0 │
└───────────────────────────────────────────────────────┴────────────┘

Resource Usage

clickbench_partitioned — base (merge-base)

Metric Value
Wall time 100.0s
Peak memory 12.4 GiB
Avg memory 4.6 GiB
CPU user 1001.0s
CPU sys 68.2s
Peak spill 0 B

clickbench_partitioned — branch

Metric Value
Wall time 105.0s
Peak memory 13.3 GiB
Avg memory 4.3 GiB
CPU user 972.8s
CPU sys 86.7s
Peak spill 0 B

File an issue against this benchmark runner

@Rachelint

Copy link
Copy Markdown
Contributor Author

run benchmarks clickbench_partitioned

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c5023789046-1178-rg7gf 6.12.85+ #1 SMP Mon May 11 08:17:35 UTC 2026 aarch64 GNU/Linux

CPU Details (lscpu)
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

Comparing final-aggr-with-lazily-materialize-poc (36befa2) to eaafba4 (merge-base) diff using: clickbench_partitioned
Results will be posted here when complete


File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark completed (GKE) | trigger

Instance: c4a-highmem-16 (12 vCPU / 65 GiB)

CPU Details (lscpu)
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 HEAD and final-aggr-with-lazily-materialize-poc
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                  HEAD ┃ final-aggr-with-lazily-materialize-poc ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0  │          1.23 / 3.99 ±5.43 / 14.84 ms │           1.24 / 3.96 ±5.40 / 14.77 ms │     no change │
│ QQuery 1  │        12.64 / 12.82 ±0.13 / 13.01 ms │         12.51 / 12.73 ±0.18 / 12.89 ms │     no change │
│ QQuery 2  │        35.68 / 36.02 ±0.29 / 36.52 ms │         35.73 / 36.11 ±0.32 / 36.68 ms │     no change │
│ QQuery 3  │        30.28 / 31.29 ±1.05 / 33.13 ms │         30.38 / 30.60 ±0.19 / 30.94 ms │     no change │
│ QQuery 4  │     222.71 / 225.36 ±2.68 / 230.15 ms │      236.81 / 243.49 ±4.89 / 250.96 ms │  1.08x slower │
│ QQuery 5  │     270.64 / 272.74 ±2.81 / 278.23 ms │      294.81 / 297.94 ±1.76 / 299.73 ms │  1.09x slower │
│ QQuery 6  │           1.29 / 1.43 ±0.22 / 1.85 ms │            1.27 / 2.37 ±1.84 / 6.02 ms │  1.66x slower │
│ QQuery 7  │        13.66 / 13.72 ±0.04 / 13.77 ms │         13.74 / 13.90 ±0.09 / 14.00 ms │     no change │
│ QQuery 8  │     315.96 / 319.79 ±2.01 / 321.67 ms │      339.43 / 345.04 ±5.58 / 355.78 ms │  1.08x slower │
│ QQuery 9  │     448.51 / 456.14 ±6.27 / 465.81 ms │     401.68 / 413.02 ±12.41 / 432.06 ms │ +1.10x faster │
│ QQuery 10 │        70.72 / 71.35 ±0.46 / 72.10 ms │         74.91 / 75.36 ±0.45 / 76.00 ms │  1.06x slower │
│ QQuery 11 │        80.89 / 82.15 ±1.06 / 84.10 ms │        86.89 / 91.72 ±8.90 / 109.50 ms │  1.12x slower │
│ QQuery 12 │     262.68 / 269.44 ±4.49 / 275.42 ms │      297.90 / 308.33 ±7.33 / 319.84 ms │  1.14x slower │
│ QQuery 13 │    357.33 / 373.85 ±13.09 / 389.76 ms │     411.09 / 439.76 ±16.40 / 460.11 ms │  1.18x slower │
│ QQuery 14 │     277.33 / 285.19 ±5.00 / 291.28 ms │      304.33 / 309.28 ±4.08 / 316.17 ms │  1.08x slower │
│ QQuery 15 │     265.06 / 271.27 ±7.84 / 286.41 ms │     280.14 / 301.67 ±13.66 / 321.93 ms │  1.11x slower │
│ QQuery 16 │     609.31 / 611.45 ±1.86 / 614.40 ms │     700.58 / 729.18 ±17.27 / 746.74 ms │  1.19x slower │
│ QQuery 17 │     607.12 / 616.76 ±9.92 / 635.22 ms │     625.68 / 643.32 ±17.05 / 675.28 ms │     no change │
│ QQuery 18 │ 1225.47 / 1259.25 ±22.47 / 1294.65 ms │  1435.27 / 1522.20 ±50.43 / 1580.86 ms │  1.21x slower │
│ QQuery 19 │        27.70 / 31.17 ±6.25 / 43.66 ms │       28.49 / 93.39 ±79.23 / 241.84 ms │  3.00x slower │
│ QQuery 20 │     512.06 / 521.62 ±8.08 / 535.84 ms │      526.82 / 536.02 ±7.92 / 547.05 ms │     no change │
│ QQuery 21 │     514.81 / 518.53 ±2.40 / 520.93 ms │     524.55 / 535.79 ±11.07 / 554.63 ms │     no change │
│ QQuery 22 │     972.17 / 983.73 ±8.14 / 996.85 ms │   1005.52 / 1013.00 ±5.35 / 1021.13 ms │     no change │
│ QQuery 23 │ 3059.30 / 3084.74 ±22.70 / 3119.00 ms │  3127.98 / 3175.03 ±42.99 / 3254.40 ms │     no change │
│ QQuery 24 │        41.18 / 44.40 ±5.30 / 54.97 ms │         41.57 / 42.68 ±1.07 / 44.28 ms │     no change │
│ QQuery 25 │     112.47 / 116.29 ±5.23 / 126.51 ms │      112.60 / 114.78 ±1.91 / 118.06 ms │     no change │
│ QQuery 26 │        41.40 / 43.47 ±2.92 / 49.22 ms │         42.23 / 47.19 ±5.59 / 56.79 ms │  1.09x slower │
│ QQuery 27 │     509.41 / 516.89 ±4.05 / 521.58 ms │      524.98 / 530.18 ±4.07 / 534.74 ms │     no change │
│ QQuery 28 │ 2883.55 / 2895.22 ±11.83 / 2916.17 ms │   2975.29 / 2983.28 ±8.56 / 2998.89 ms │     no change │
│ QQuery 29 │       40.12 / 50.05 ±12.53 / 70.48 ms │         40.11 / 45.61 ±8.19 / 61.50 ms │ +1.10x faster │
│ QQuery 30 │     295.40 / 306.91 ±6.92 / 314.26 ms │     312.13 / 337.65 ±32.03 / 400.21 ms │  1.10x slower │
│ QQuery 31 │     280.45 / 287.69 ±6.21 / 298.08 ms │      307.86 / 312.32 ±4.25 / 317.49 ms │  1.09x slower │
│ QQuery 32 │   910.13 / 953.02 ±34.79 / 1005.22 ms │ 1125.21 / 1255.44 ±129.06 / 1500.05 ms │  1.32x slower │
│ QQuery 33 │ 1419.32 / 1464.71 ±32.30 / 1494.95 ms │  1915.69 / 1996.19 ±65.91 / 2101.68 ms │  1.36x slower │
│ QQuery 34 │ 1456.64 / 1494.51 ±29.90 / 1546.58 ms │ 1922.12 / 2109.89 ±184.38 / 2430.43 ms │  1.41x slower │
│ QQuery 35 │    272.82 / 312.25 ±46.81 / 403.14 ms │     283.43 / 361.21 ±75.91 / 495.21 ms │  1.16x slower │
│ QQuery 36 │        68.25 / 78.85 ±8.55 / 93.06 ms │         71.54 / 81.53 ±7.71 / 91.52 ms │     no change │
│ QQuery 37 │        35.50 / 36.82 ±1.99 / 40.75 ms │        36.67 / 44.31 ±11.18 / 66.40 ms │  1.20x slower │
│ QQuery 38 │        40.43 / 41.92 ±1.07 / 43.71 ms │         42.98 / 47.09 ±3.92 / 54.40 ms │  1.12x slower │
│ QQuery 39 │     139.12 / 150.90 ±7.03 / 160.42 ms │      163.25 / 168.39 ±4.16 / 175.15 ms │  1.12x slower │
│ QQuery 40 │        14.02 / 15.11 ±1.47 / 18.01 ms │         14.71 / 17.85 ±5.24 / 28.31 ms │  1.18x slower │
│ QQuery 41 │        13.28 / 14.57 ±2.29 / 19.15 ms │         14.06 / 16.31 ±4.27 / 24.85 ms │  1.12x slower │
│ QQuery 42 │        12.86 / 13.25 ±0.48 / 14.16 ms │         13.68 / 13.98 ±0.23 / 14.24 ms │  1.06x slower │
└───────────┴───────────────────────────────────────┴────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                                     ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                                     │ 19190.62ms │
│ Total Time (final-aggr-with-lazily-materialize-poc)   │ 21699.11ms │
│ Average Time (HEAD)                                   │   446.29ms │
│ Average Time (final-aggr-with-lazily-materialize-poc) │   504.63ms │
│ Queries Faster                                        │          2 │
│ Queries Slower                                        │         26 │
│ Queries with No Change                                │         15 │
│ Queries with Failure                                  │          0 │
└───────────────────────────────────────────────────────┴────────────┘

Resource Usage

clickbench_partitioned — base (merge-base)

Metric Value
Wall time 100.0s
Peak memory 12.4 GiB
Avg memory 4.8 GiB
CPU user 987.2s
CPU sys 66.9s
Peak spill 0 B

clickbench_partitioned — branch

Metric Value
Wall time 110.0s
Peak memory 12.9 GiB
Avg memory 4.5 GiB
CPU user 989.7s
CPU sys 118.8s
Peak spill 0 B

File an issue against this benchmark runner

@Rachelint

Copy link
Copy Markdown
Contributor Author

run benchmarks clickbench_partitioned

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c5024241454-1180-2pftr 6.12.85+ #1 SMP Mon May 11 08:17:35 UTC 2026 aarch64 GNU/Linux

CPU Details (lscpu)
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

Comparing final-aggr-with-lazily-materialize-poc (a72327b) to eaafba4 (merge-base) diff using: clickbench_partitioned
Results will be posted here when complete


File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark completed (GKE) | trigger

Instance: c4a-highmem-16 (12 vCPU / 65 GiB)

CPU Details (lscpu)
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 HEAD and final-aggr-with-lazily-materialize-poc
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                  HEAD ┃ final-aggr-with-lazily-materialize-poc ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0  │          1.27 / 4.23 ±5.73 / 15.69 ms │           1.26 / 4.19 ±5.72 / 15.62 ms │     no change │
│ QQuery 1  │        12.83 / 13.37 ±0.35 / 13.85 ms │         12.63 / 13.20 ±0.34 / 13.62 ms │     no change │
│ QQuery 2  │        36.98 / 37.39 ±0.30 / 37.90 ms │         36.23 / 36.62 ±0.54 / 37.68 ms │     no change │
│ QQuery 3  │        32.36 / 33.29 ±0.76 / 34.65 ms │         31.17 / 31.60 ±0.38 / 32.20 ms │ +1.05x faster │
│ QQuery 4  │     242.43 / 247.85 ±2.80 / 250.38 ms │      212.53 / 217.62 ±3.86 / 221.89 ms │ +1.14x faster │
│ QQuery 5  │     288.05 / 290.38 ±1.59 / 292.43 ms │      296.17 / 303.64 ±5.43 / 312.69 ms │     no change │
│ QQuery 6  │           1.30 / 2.48 ±2.22 / 6.92 ms │            1.32 / 1.48 ±0.24 / 1.94 ms │ +1.68x faster │
│ QQuery 7  │        14.33 / 14.46 ±0.12 / 14.63 ms │         14.47 / 14.68 ±0.13 / 14.87 ms │     no change │
│ QQuery 8  │     349.58 / 353.21 ±2.46 / 356.76 ms │      332.64 / 341.53 ±7.88 / 353.83 ms │     no change │
│ QQuery 9  │    485.04 / 501.82 ±12.09 / 514.58 ms │      441.49 / 458.85 ±8.98 / 465.76 ms │ +1.09x faster │
│ QQuery 10 │        75.08 / 75.96 ±0.85 / 77.35 ms │         75.02 / 76.47 ±2.47 / 81.40 ms │     no change │
│ QQuery 11 │        85.71 / 86.43 ±0.60 / 87.52 ms │         87.35 / 89.07 ±0.86 / 89.60 ms │     no change │
│ QQuery 12 │     283.70 / 290.47 ±5.34 / 297.07 ms │      301.94 / 313.98 ±8.14 / 325.42 ms │  1.08x slower │
│ QQuery 13 │    380.92 / 399.48 ±19.58 / 436.74 ms │     380.35 / 405.76 ±19.75 / 440.01 ms │     no change │
│ QQuery 14 │     305.69 / 310.67 ±4.36 / 316.20 ms │     296.66 / 315.92 ±22.13 / 356.60 ms │     no change │
│ QQuery 15 │     301.79 / 312.44 ±9.64 / 329.28 ms │      270.07 / 284.22 ±7.56 / 292.07 ms │ +1.10x faster │
│ QQuery 16 │     665.72 / 672.56 ±3.63 / 676.08 ms │     640.55 / 668.93 ±23.16 / 707.31 ms │     no change │
│ QQuery 17 │    654.36 / 674.01 ±15.85 / 702.15 ms │      575.08 / 579.07 ±3.08 / 583.97 ms │ +1.16x faster │
│ QQuery 18 │ 1333.70 / 1364.95 ±18.35 / 1386.74 ms │  1366.71 / 1459.44 ±66.24 / 1570.14 ms │  1.07x slower │
│ QQuery 19 │        28.58 / 29.33 ±0.53 / 30.23 ms │       28.75 / 50.29 ±27.41 / 102.98 ms │  1.71x slower │
│ QQuery 20 │     525.42 / 535.99 ±7.00 / 544.62 ms │     531.01 / 553.26 ±27.15 / 605.66 ms │     no change │
│ QQuery 21 │     524.48 / 529.36 ±3.41 / 534.03 ms │      534.46 / 542.49 ±8.31 / 553.99 ms │     no change │
│ QQuery 22 │  1011.72 / 1020.05 ±8.22 / 1034.82 ms │  1042.82 / 1064.09 ±14.23 / 1084.37 ms │     no change │
│ QQuery 23 │ 3124.61 / 3191.91 ±36.09 / 3228.02 ms │  3256.67 / 3303.55 ±34.70 / 3356.96 ms │     no change │
│ QQuery 24 │        42.70 / 44.75 ±3.42 / 51.55 ms │         42.43 / 45.37 ±3.39 / 49.56 ms │     no change │
│ QQuery 25 │     116.82 / 122.00 ±5.27 / 129.89 ms │      114.09 / 120.93 ±9.12 / 138.69 ms │     no change │
│ QQuery 26 │        43.26 / 45.61 ±3.86 / 53.31 ms │         42.41 / 44.90 ±3.06 / 50.86 ms │     no change │
│ QQuery 27 │     520.80 / 530.19 ±6.16 / 538.70 ms │      532.43 / 545.31 ±9.83 / 557.48 ms │     no change │
│ QQuery 28 │  2963.60 / 2974.23 ±8.91 / 2987.64 ms │  3049.42 / 3094.43 ±25.12 / 3123.56 ms │     no change │
│ QQuery 29 │        41.67 / 45.63 ±6.22 / 57.93 ms │         41.09 / 44.53 ±6.12 / 56.77 ms │     no change │
│ QQuery 30 │     319.23 / 324.74 ±5.68 / 332.99 ms │      309.09 / 320.10 ±8.72 / 332.12 ms │     no change │
│ QQuery 31 │    297.58 / 311.38 ±12.50 / 333.13 ms │      299.83 / 310.16 ±6.67 / 319.71 ms │     no change │
│ QQuery 32 │   966.94 / 997.20 ±18.49 / 1022.78 ms │    962.64 / 982.98 ±16.77 / 1009.02 ms │     no change │
│ QQuery 33 │ 1505.60 / 1533.17 ±25.81 / 1577.78 ms │ 1805.22 / 1934.00 ±127.55 / 2178.72 ms │  1.26x slower │
│ QQuery 34 │ 1572.65 / 1594.28 ±15.69 / 1610.18 ms │ 1825.26 / 1994.64 ±166.40 / 2275.42 ms │  1.25x slower │
│ QQuery 35 │    310.13 / 335.77 ±23.13 / 379.03 ms │    291.68 / 422.28 ±251.81 / 925.85 ms │  1.26x slower │
│ QQuery 36 │        68.28 / 72.09 ±4.03 / 79.57 ms │         72.69 / 77.16 ±3.58 / 83.27 ms │  1.07x slower │
│ QQuery 37 │        37.09 / 39.55 ±2.96 / 45.03 ms │        37.82 / 45.06 ±12.68 / 70.40 ms │  1.14x slower │
│ QQuery 38 │        40.89 / 47.64 ±5.00 / 55.77 ms │        43.71 / 51.92 ±10.94 / 73.03 ms │  1.09x slower │
│ QQuery 39 │     147.19 / 158.02 ±7.72 / 165.56 ms │      173.13 / 182.42 ±7.85 / 195.73 ms │  1.15x slower │
│ QQuery 40 │        14.80 / 15.36 ±0.44 / 15.82 ms │         15.76 / 16.76 ±0.69 / 17.79 ms │  1.09x slower │
│ QQuery 41 │        14.51 / 15.37 ±1.30 / 17.96 ms │         15.05 / 17.84 ±4.05 / 25.89 ms │  1.16x slower │
│ QQuery 42 │        13.93 / 18.88 ±4.97 / 27.75 ms │         14.46 / 20.62 ±8.00 / 34.99 ms │  1.09x slower │
└───────────┴───────────────────────────────────────┴────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                                     ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                                     │ 20217.97ms │
│ Total Time (final-aggr-with-lazily-materialize-poc)   │ 21401.34ms │
│ Average Time (HEAD)                                   │   470.19ms │
│ Average Time (final-aggr-with-lazily-materialize-poc) │   497.71ms │
│ Queries Faster                                        │          6 │
│ Queries Slower                                        │         13 │
│ Queries with No Change                                │         24 │
│ Queries with Failure                                  │          0 │
└───────────────────────────────────────────────────────┴────────────┘

Resource Usage

clickbench_partitioned — base (merge-base)

Metric Value
Wall time 105.0s
Peak memory 12.7 GiB
Avg memory 4.5 GiB
CPU user 1038.4s
CPU sys 72.7s
Peak spill 0 B

clickbench_partitioned — branch

Metric Value
Wall time 110.0s
Peak memory 11.9 GiB
Avg memory 4.4 GiB
CPU user 997.4s
CPU sys 104.0s
Peak spill 0 B

File an issue against this benchmark runner

@Rachelint

Copy link
Copy Markdown
Contributor Author

run benchmarks clickbench_partitioned

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c5024532581-1182-hwlw4 6.12.85+ #1 SMP Mon May 11 08:17:35 UTC 2026 aarch64 GNU/Linux

CPU Details (lscpu)
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

Comparing final-aggr-with-lazily-materialize-poc (a72327b) to eaafba4 (merge-base) diff using: clickbench_partitioned
Results will be posted here when complete


File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark completed (GKE) | trigger

Instance: c4a-highmem-16 (12 vCPU / 65 GiB)

CPU Details (lscpu)
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 HEAD and final-aggr-with-lazily-materialize-poc
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                  HEAD ┃ final-aggr-with-lazily-materialize-poc ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0  │          1.22 / 3.87 ±5.25 / 14.38 ms │           1.22 / 3.87 ±5.26 / 14.38 ms │     no change │
│ QQuery 1  │        12.29 / 12.56 ±0.18 / 12.76 ms │         12.86 / 12.93 ±0.05 / 13.01 ms │     no change │
│ QQuery 2  │        35.30 / 35.50 ±0.19 / 35.78 ms │         37.07 / 37.39 ±0.27 / 37.84 ms │  1.05x slower │
│ QQuery 3  │        30.31 / 30.96 ±0.72 / 32.24 ms │         31.17 / 31.77 ±0.42 / 32.43 ms │     no change │
│ QQuery 4  │     215.95 / 222.83 ±5.03 / 229.22 ms │      202.84 / 204.78 ±1.74 / 207.60 ms │ +1.09x faster │
│ QQuery 5  │     265.47 / 270.34 ±3.02 / 274.47 ms │      286.63 / 290.71 ±2.59 / 293.75 ms │  1.08x slower │
│ QQuery 6  │           1.26 / 1.40 ±0.22 / 1.83 ms │            1.27 / 1.42 ±0.21 / 1.84 ms │     no change │
│ QQuery 7  │        13.41 / 13.55 ±0.12 / 13.74 ms │         14.04 / 14.26 ±0.22 / 14.53 ms │  1.05x slower │
│ QQuery 8  │     315.69 / 320.09 ±2.52 / 322.65 ms │      314.73 / 323.44 ±7.92 / 338.34 ms │     no change │
│ QQuery 9  │     446.62 / 453.95 ±4.09 / 458.35 ms │      410.86 / 419.69 ±8.17 / 435.11 ms │ +1.08x faster │
│ QQuery 10 │        69.11 / 70.50 ±1.37 / 73.06 ms │         75.65 / 75.95 ±0.37 / 76.65 ms │  1.08x slower │
│ QQuery 11 │        80.52 / 81.35 ±0.73 / 82.32 ms │         87.26 / 88.37 ±0.93 / 90.01 ms │  1.09x slower │
│ QQuery 12 │     261.50 / 268.59 ±6.79 / 280.32 ms │      289.95 / 293.58 ±3.90 / 300.83 ms │  1.09x slower │
│ QQuery 13 │     363.54 / 369.83 ±5.53 / 379.31 ms │     371.08 / 386.17 ±14.94 / 407.28 ms │     no change │
│ QQuery 14 │     277.58 / 282.26 ±2.74 / 284.54 ms │      293.28 / 301.72 ±9.76 / 320.11 ms │  1.07x slower │
│ QQuery 15 │     263.54 / 270.02 ±4.88 / 277.83 ms │     263.03 / 273.26 ±11.17 / 295.01 ms │     no change │
│ QQuery 16 │     607.80 / 619.44 ±9.43 / 635.43 ms │     606.26 / 629.97 ±16.20 / 655.12 ms │     no change │
│ QQuery 17 │     612.81 / 617.27 ±5.05 / 625.07 ms │     534.02 / 559.66 ±15.62 / 576.37 ms │ +1.10x faster │
│ QQuery 18 │ 1232.43 / 1268.64 ±25.37 / 1304.01 ms │  1264.25 / 1361.15 ±75.71 / 1451.63 ms │  1.07x slower │
│ QQuery 19 │       27.71 / 38.68 ±16.94 / 71.66 ms │       29.00 / 70.59 ±55.70 / 169.39 ms │  1.83x slower │
│ QQuery 20 │     513.80 / 522.31 ±7.84 / 533.06 ms │      524.71 / 529.57 ±4.24 / 536.54 ms │     no change │
│ QQuery 21 │     508.33 / 513.15 ±3.66 / 517.32 ms │      518.50 / 529.06 ±7.83 / 541.32 ms │     no change │
│ QQuery 22 │     979.74 / 984.91 ±4.10 / 990.80 ms │   994.60 / 1045.90 ±28.59 / 1072.84 ms │  1.06x slower │
│ QQuery 23 │ 3024.08 / 3064.08 ±35.12 / 3113.49 ms │  3060.25 / 3104.38 ±31.51 / 3134.67 ms │     no change │
│ QQuery 24 │        41.11 / 41.29 ±0.24 / 41.76 ms │        41.50 / 48.25 ±10.28 / 68.59 ms │  1.17x slower │
│ QQuery 25 │     112.21 / 116.57 ±5.53 / 127.33 ms │      112.61 / 115.87 ±4.81 / 125.41 ms │     no change │
│ QQuery 26 │        41.97 / 43.09 ±1.23 / 45.35 ms │         42.15 / 43.55 ±1.51 / 46.24 ms │     no change │
│ QQuery 27 │    515.94 / 525.73 ±13.97 / 553.25 ms │      521.01 / 523.17 ±1.64 / 526.01 ms │     no change │
│ QQuery 28 │ 2896.31 / 2916.80 ±12.51 / 2931.68 ms │  2961.42 / 2984.78 ±25.49 / 3026.53 ms │     no change │
│ QQuery 29 │        40.10 / 43.43 ±5.56 / 54.49 ms │         40.78 / 48.11 ±9.29 / 63.35 ms │  1.11x slower │
│ QQuery 30 │     294.65 / 303.70 ±7.82 / 315.61 ms │     303.20 / 328.80 ±39.87 / 407.95 ms │  1.08x slower │
│ QQuery 31 │    281.04 / 293.65 ±11.86 / 308.80 ms │     290.68 / 300.60 ±10.80 / 320.92 ms │     no change │
│ QQuery 32 │    913.69 / 936.36 ±15.81 / 962.77 ms │   971.38 / 1063.86 ±70.53 / 1180.50 ms │  1.14x slower │
│ QQuery 33 │ 1443.84 / 1471.56 ±28.43 / 1521.68 ms │ 1716.22 / 1845.65 ±112.56 / 2002.66 ms │  1.25x slower │
│ QQuery 34 │ 1464.06 / 1488.75 ±14.29 / 1501.30 ms │ 1792.83 / 1879.45 ±109.78 / 2073.16 ms │  1.26x slower │
│ QQuery 35 │    266.80 / 291.56 ±26.32 / 325.61 ms │    263.39 / 350.82 ±158.78 / 668.20 ms │  1.20x slower │
│ QQuery 36 │        64.32 / 77.23 ±9.71 / 93.80 ms │       72.95 / 87.23 ±16.50 / 118.84 ms │  1.13x slower │
│ QQuery 37 │        34.87 / 36.76 ±2.17 / 40.94 ms │         36.47 / 39.52 ±4.73 / 48.93 ms │  1.08x slower │
│ QQuery 38 │        39.84 / 41.00 ±0.92 / 42.53 ms │         40.75 / 43.00 ±1.27 / 44.69 ms │     no change │
│ QQuery 39 │     138.66 / 150.31 ±9.53 / 166.72 ms │      155.95 / 165.49 ±6.50 / 176.25 ms │  1.10x slower │
│ QQuery 40 │        13.51 / 13.85 ±0.34 / 14.47 ms │         14.70 / 15.82 ±0.82 / 17.08 ms │  1.14x slower │
│ QQuery 41 │        13.08 / 13.41 ±0.19 / 13.59 ms │         13.98 / 14.24 ±0.18 / 14.50 ms │  1.06x slower │
│ QQuery 42 │        12.79 / 12.97 ±0.16 / 13.16 ms │         13.48 / 13.62 ±0.13 / 13.78 ms │  1.05x slower │
└───────────┴───────────────────────────────────────┴────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                                     ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                                     │ 19154.07ms │
│ Total Time (final-aggr-with-lazily-materialize-poc)   │ 20501.43ms │
│ Average Time (HEAD)                                   │   445.44ms │
│ Average Time (final-aggr-with-lazily-materialize-poc) │   476.78ms │
│ Queries Faster                                        │          3 │
│ Queries Slower                                        │         23 │
│ Queries with No Change                                │         17 │
│ Queries with Failure                                  │          0 │
└───────────────────────────────────────────────────────┴────────────┘

Resource Usage

clickbench_partitioned — base (merge-base)

Metric Value
Wall time 100.0s
Peak memory 12.5 GiB
Avg memory 4.6 GiB
CPU user 985.1s
CPU sys 68.1s
Peak spill 0 B

clickbench_partitioned — branch

Metric Value
Wall time 105.0s
Peak memory 12.3 GiB
Avg memory 3.9 GiB
CPU user 956.7s
CPU sys 97.0s
Peak spill 0 B

File an issue against this benchmark runner

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

core Core DataFusion crate optimizer Optimizer rules physical-plan Changes to the physical-plan crate

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants