Skip to content

feat: reorder row groups by grouping key statistics#21588

Draft
Dandandan wants to merge 9 commits intoapache:mainfrom
Dandandan:reorder-by-groupby-keys
Draft

feat: reorder row groups by grouping key statistics#21588
Dandandan wants to merge 9 commits intoapache:mainfrom
Dandandan:reorder-by-groupby-keys

Conversation

@Dandandan
Copy link
Copy Markdown
Contributor

Which issue does this PR close?

Extends #21580 (row group reorder by statistics during sort pushdown) to also reorder by GROUP BY keys, as suggested in the review.

Rationale for this change

When an AggregateExec sits above a Parquet data source, reading row groups in grouping-key order clusters similar group values together. This:

  1. Reduces active cardinality of aggregation hash tables — fewer live entries at any time
  2. Improves CPU cache locality for hash table lookups during aggregation

What changes are included in this PR?

  • Add try_pushdown_groupby_order() to ExecutionPlan, DataSource, and FileSource traits (default: no-op)
  • Implement on DataSourceExecFileScanConfigParquetSource chain, reusing the existing sort_order_for_reorder / reorder_by_statistics infrastructure from feat: reorder row groups by statistics during sort pushdown #21580
  • New ReorderByGroupKeys physical optimizer rule that detects AggregateExecDataSourceExec patterns and pushes grouping key expressions down
  • Rule runs before PushdownSort so sort pushdown can override the reorder hint when a sort requirement is present
  • SLT tests for GROUP BY correctness with the optimization active

Are these changes tested?

Yes — SLT tests in sort_pushdown.slt (Test I) verify correct GROUP BY SUM and COUNT results with the optimization active on multi-row-group Parquet files.

Are there any user-facing changes?

No user-facing API changes. The optimization is automatic when aggregating over Parquet data.

🤖 Generated with Claude Code

zhuqi-lucas and others added 4 commits April 13, 2026 14:42
When sort pushdown is active, reorder row groups within each file by
their min/max statistics to match the requested sort order. This helps
TopK queries find optimal values first via dynamic filter pushdown.

- Add reorder_by_statistics to PreparedAccessPlan that sorts
  row_group_indexes by the first sort column's min values
- Pass sort order from ParquetSource::try_pushdown_sort through to
  the opener via sort_order_for_reorder field
- Reorder happens after pruning but before reverse (they compose)
- Gracefully skips reorder when statistics unavailable, sort expr
  is not a simple column, row_selection present, or <=1 row groups

Closes apache#21317
Extends the row group reordering infrastructure (from sort pushdown)
to also reorder by GROUP BY key statistics. When an AggregateExec
sits above a ParquetSource, the new ReorderByGroupKeys optimizer rule
pushes grouping key expressions down so row groups with similar
group key values are read together.

Benefits:
- Reduces active cardinality of aggregation hash tables
- Improves CPU cache locality during hash table lookups

Adds try_pushdown_groupby_order() to ExecutionPlan, DataSource, and
FileSource traits, with ParquetSource implementation that reuses the
existing reorder_by_statistics infrastructure.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@github-actions github-actions bot added optimizer Optimizer rules sqllogictest SQL Logic Tests (.slt) datasource Changes to the datasource crate physical-plan Changes to the physical-plan crate labels Apr 13, 2026
@Dandandan
Copy link
Copy Markdown
Contributor Author

run benchmarks

@Dandandan
Copy link
Copy Markdown
Contributor Author

run benchmark clickbench_extended

@Dandandan
Copy link
Copy Markdown
Contributor Author

run benchmark tpch

@adriangbot
Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c4236421765-1142-wqcp8 6.12.55+ #1 SMP Sun Feb 1 08:59:41 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 reorder-by-groupby-keys (6c143f7) to 29c5dd5 (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-c4236421765-1144-xprkn 6.12.55+ #1 SMP Sun Feb 1 08:59:41 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 reorder-by-groupby-keys (6c143f7) to 29c5dd5 (merge-base) diff using: tpch
Results will be posted here when complete


File an issue against this benchmark runner

@Dandandan
Copy link
Copy Markdown
Contributor Author

run benchmark clickbench

@adriangbot
Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c4236422970-1145-qtz2s 6.12.55+ #1 SMP Sun Feb 1 08:59:41 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 reorder-by-groupby-keys (6c143f7) to 29c5dd5 (merge-base) diff using: clickbench_extended
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-c4236423391-1146-qkpwr 6.12.55+ #1 SMP Sun Feb 1 08:59:41 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 reorder-by-groupby-keys (6c143f7) to 29c5dd5 (merge-base) diff using: tpch
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-c4236421765-1143-85lls 6.12.55+ #1 SMP Sun Feb 1 08:59:41 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 reorder-by-groupby-keys (6c143f7) to 29c5dd5 (merge-base) diff using: tpcds
Results will be posted here when complete


File an issue against this benchmark runner

@adriangbot
Copy link
Copy Markdown

🤖 Criterion benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c4236437119-1147-2gxtm 6.12.55+ #1 SMP Sun Feb 1 08:59:41 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 reorder-by-groupby-keys (6c143f7) to 29c5dd5 (merge-base) diff
BENCH_NAME=clickbench
BENCH_COMMAND=cargo bench --features=parquet --bench clickbench
BENCH_FILTER=
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
    struct_query_sql
    substr
    substr_index
    substring
    sum
    to_char
    to_hex
    to_local_time
    to_time
    to_timestamp
    topk_aggregate
    topk_repartition
    translate
    trim
    trunc
    unhex
    upper
    uuid
    window_query_sql
    with_hashes

File an issue against this benchmark runner

Extends the row group reordering infrastructure (from sort pushdown)
to also reorder by GROUP BY key statistics. When an AggregateExec
sits above a ParquetSource, the new ReorderByGroupKeys optimizer rule
pushes grouping key expressions down so row groups with similar
group key values are read together.

Two levels of reordering:
- Files within partitions are sorted by grouping key min statistics
- Row groups within each file are reordered by grouping key statistics

Benefits:
- Reduces active cardinality of aggregation hash tables
- Improves CPU cache locality during hash table lookups

Adds try_pushdown_groupby_order() to ExecutionPlan, DataSource, and
FileSource traits, with ParquetSource implementation that reuses the
existing reorder_by_statistics infrastructure.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@Dandandan
Copy link
Copy Markdown
Contributor Author

run benchmark clickbench_1

@adriangbot
Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c4236474741-1148-hwjsx 6.12.55+ #1 SMP Sun Feb 1 08:59:41 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 reorder-by-groupby-keys (4e09360) to 29c5dd5 (merge-base) diff using: clickbench_1
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 reorder-by-groupby-keys
--------------------
Benchmark tpcds_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                     HEAD ┃                 reorder-by-groupby-keys ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │              6.76 / 7.27 ±0.80 / 8.86 ms │             6.61 / 7.04 ±0.81 / 8.65 ms │     no change │
│ QQuery 2  │        143.51 / 145.21 ±1.15 / 146.54 ms │       144.06 / 145.63 ±1.06 / 146.79 ms │     no change │
│ QQuery 3  │        113.53 / 114.11 ±0.46 / 114.70 ms │       113.52 / 114.40 ±0.62 / 115.23 ms │     no change │
│ QQuery 4  │    1315.80 / 1339.74 ±14.80 / 1360.20 ms │   1310.68 / 1358.90 ±28.02 / 1386.76 ms │     no change │
│ QQuery 5  │        172.12 / 174.71 ±2.01 / 177.55 ms │       173.97 / 175.05 ±0.88 / 176.12 ms │     no change │
│ QQuery 6  │       843.41 / 868.03 ±25.17 / 914.86 ms │      842.79 / 859.72 ±22.85 / 904.40 ms │     no change │
│ QQuery 7  │        338.26 / 341.61 ±1.96 / 343.59 ms │       346.06 / 348.28 ±1.60 / 350.08 ms │     no change │
│ QQuery 8  │        116.66 / 117.30 ±0.57 / 118.30 ms │       116.76 / 117.74 ±1.01 / 119.38 ms │     no change │
│ QQuery 9  │        100.87 / 103.65 ±2.45 / 107.19 ms │       101.45 / 104.01 ±2.58 / 108.15 ms │     no change │
│ QQuery 10 │        105.59 / 107.34 ±1.54 / 110.08 ms │       106.32 / 109.00 ±1.58 / 110.58 ms │     no change │
│ QQuery 11 │       913.33 / 937.81 ±18.08 / 962.85 ms │      916.57 / 942.73 ±18.85 / 975.02 ms │     no change │
│ QQuery 12 │           45.62 / 47.19 ±0.84 / 48.09 ms │          46.23 / 47.53 ±0.94 / 49.05 ms │     no change │
│ QQuery 13 │        398.09 / 403.58 ±2.93 / 406.83 ms │       402.30 / 405.28 ±2.22 / 407.72 ms │     no change │
│ QQuery 14 │      992.41 / 1006.38 ±8.70 / 1016.01 ms │     984.34 / 1001.54 ±9.13 / 1011.53 ms │     no change │
│ QQuery 15 │           15.55 / 16.94 ±1.74 / 19.89 ms │          15.78 / 16.91 ±0.72 / 17.85 ms │     no change │
│ QQuery 16 │              7.16 / 7.75 ±0.84 / 9.38 ms │             7.32 / 7.89 ±0.72 / 9.28 ms │     no change │
│ QQuery 17 │        227.08 / 229.04 ±1.37 / 231.17 ms │       230.67 / 231.30 ±0.37 / 231.83 ms │     no change │
│ QQuery 18 │        126.68 / 127.90 ±1.48 / 130.75 ms │       129.10 / 130.15 ±0.99 / 131.88 ms │     no change │
│ QQuery 19 │        154.79 / 156.05 ±1.19 / 157.88 ms │       155.08 / 156.54 ±1.59 / 159.01 ms │     no change │
│ QQuery 20 │           13.43 / 14.60 ±0.93 / 16.19 ms │          13.71 / 14.18 ±0.61 / 15.35 ms │     no change │
│ QQuery 21 │           20.00 / 20.34 ±0.40 / 21.11 ms │          19.37 / 19.65 ±0.25 / 20.08 ms │     no change │
│ QQuery 22 │        484.89 / 486.57 ±1.30 / 488.84 ms │       482.89 / 484.17 ±1.22 / 485.78 ms │     no change │
│ QQuery 23 │       867.86 / 877.42 ±13.59 / 904.25 ms │       866.18 / 870.56 ±3.98 / 875.50 ms │     no change │
│ QQuery 24 │        384.12 / 386.20 ±2.55 / 390.86 ms │       379.39 / 384.51 ±3.61 / 389.86 ms │     no change │
│ QQuery 25 │        342.80 / 345.49 ±2.00 / 347.33 ms │       340.11 / 342.60 ±2.83 / 348.11 ms │     no change │
│ QQuery 26 │           79.94 / 82.97 ±2.18 / 85.73 ms │          83.40 / 84.09 ±0.44 / 84.58 ms │     no change │
│ QQuery 27 │              7.05 / 7.74 ±0.55 / 8.68 ms │             6.93 / 7.94 ±0.94 / 9.47 ms │     no change │
│ QQuery 28 │        149.86 / 151.73 ±1.82 / 154.96 ms │       148.92 / 150.70 ±1.27 / 152.75 ms │     no change │
│ QQuery 29 │        282.82 / 284.52 ±1.34 / 286.93 ms │       280.86 / 282.14 ±1.26 / 284.52 ms │     no change │
│ QQuery 30 │           43.13 / 45.68 ±1.83 / 48.86 ms │          43.99 / 45.29 ±1.26 / 47.37 ms │     no change │
│ QQuery 31 │        170.48 / 172.66 ±1.78 / 175.68 ms │       172.16 / 173.18 ±0.53 / 173.66 ms │     no change │
│ QQuery 32 │           57.99 / 59.29 ±0.89 / 60.38 ms │          57.90 / 58.89 ±1.17 / 61.16 ms │     no change │
│ QQuery 33 │        143.41 / 144.81 ±1.19 / 146.47 ms │       141.67 / 143.52 ±1.57 / 145.55 ms │     no change │
│ QQuery 34 │              7.12 / 7.30 ±0.24 / 7.78 ms │             6.91 / 7.25 ±0.24 / 7.59 ms │     no change │
│ QQuery 35 │        106.95 / 109.87 ±1.62 / 111.79 ms │       105.30 / 106.94 ±1.07 / 108.25 ms │     no change │
│ QQuery 36 │              6.52 / 6.93 ±0.31 / 7.36 ms │             6.47 / 6.85 ±0.31 / 7.21 ms │     no change │
│ QQuery 37 │             8.52 / 9.21 ±0.58 / 10.19 ms │             8.15 / 8.51 ±0.27 / 8.89 ms │ +1.08x faster │
│ QQuery 38 │           84.69 / 88.59 ±3.82 / 94.99 ms │          82.16 / 86.08 ±4.53 / 94.86 ms │     no change │
│ QQuery 39 │        126.10 / 129.36 ±2.57 / 132.39 ms │       122.52 / 126.15 ±3.17 / 131.23 ms │     no change │
│ QQuery 40 │        108.67 / 113.27 ±5.15 / 123.28 ms │       108.14 / 115.19 ±7.00 / 128.36 ms │     no change │
│ QQuery 41 │           15.20 / 15.91 ±0.92 / 17.66 ms │          14.36 / 14.79 ±0.31 / 15.12 ms │ +1.08x faster │
│ QQuery 42 │        106.05 / 107.97 ±1.58 / 110.04 ms │       107.94 / 110.05 ±1.46 / 112.37 ms │     no change │
│ QQuery 43 │              5.99 / 6.21 ±0.20 / 6.60 ms │             5.93 / 6.34 ±0.45 / 7.07 ms │     no change │
│ QQuery 44 │           11.83 / 12.24 ±0.40 / 12.99 ms │          11.66 / 12.40 ±0.65 / 13.50 ms │     no change │
│ QQuery 45 │           50.56 / 51.10 ±0.59 / 52.18 ms │          50.81 / 51.23 ±0.43 / 52.01 ms │     no change │
│ QQuery 46 │              8.62 / 8.95 ±0.27 / 9.42 ms │             8.72 / 9.14 ±0.27 / 9.43 ms │     no change │
│ QQuery 47 │        692.38 / 706.49 ±8.82 / 719.23 ms │       711.24 / 717.32 ±6.24 / 729.18 ms │     no change │
│ QQuery 48 │        289.04 / 292.52 ±2.20 / 294.82 ms │       288.24 / 292.97 ±2.97 / 296.87 ms │     no change │
│ QQuery 49 │        248.54 / 251.34 ±2.08 / 254.62 ms │       249.72 / 253.20 ±3.18 / 258.31 ms │     no change │
│ QQuery 50 │        217.22 / 219.97 ±1.70 / 221.96 ms │       225.47 / 228.55 ±2.64 / 233.30 ms │     no change │
│ QQuery 51 │        184.48 / 186.19 ±1.50 / 187.99 ms │       180.04 / 182.13 ±1.58 / 184.54 ms │     no change │
│ QQuery 52 │        107.87 / 108.74 ±0.82 / 109.86 ms │       107.48 / 110.10 ±2.46 / 113.42 ms │     no change │
│ QQuery 53 │        102.63 / 104.07 ±1.48 / 106.62 ms │       103.66 / 104.85 ±1.17 / 106.68 ms │     no change │
│ QQuery 54 │        146.66 / 147.26 ±0.63 / 148.40 ms │       145.25 / 148.43 ±2.55 / 152.65 ms │     no change │
│ QQuery 55 │        106.87 / 108.42 ±1.47 / 110.94 ms │       106.88 / 108.32 ±0.74 / 108.93 ms │     no change │
│ QQuery 56 │        140.85 / 141.37 ±0.40 / 141.92 ms │       141.06 / 142.23 ±1.19 / 143.99 ms │     no change │
│ QQuery 57 │        172.81 / 174.79 ±2.21 / 179.00 ms │       170.35 / 173.43 ±2.30 / 177.09 ms │     no change │
│ QQuery 58 │        294.40 / 301.17 ±3.77 / 305.88 ms │      286.60 / 300.83 ±10.98 / 320.42 ms │     no change │
│ QQuery 59 │        197.88 / 199.60 ±1.17 / 200.96 ms │       197.65 / 199.82 ±1.99 / 203.24 ms │     no change │
│ QQuery 60 │        143.53 / 144.92 ±1.09 / 146.12 ms │       143.61 / 145.18 ±1.72 / 147.57 ms │     no change │
│ QQuery 61 │           13.27 / 13.52 ±0.26 / 13.93 ms │          13.00 / 13.34 ±0.32 / 13.85 ms │     no change │
│ QQuery 62 │       872.44 / 931.79 ±38.40 / 969.47 ms │      881.73 / 910.15 ±20.94 / 944.24 ms │     no change │
│ QQuery 63 │        103.18 / 105.92 ±1.84 / 108.06 ms │       103.47 / 105.20 ±1.26 / 106.55 ms │     no change │
│ QQuery 64 │        681.52 / 687.01 ±3.16 / 690.36 ms │       683.10 / 688.30 ±6.10 / 699.77 ms │     no change │
│ QQuery 65 │        248.39 / 253.43 ±3.06 / 257.55 ms │       251.38 / 255.19 ±2.40 / 257.80 ms │     no change │
│ QQuery 66 │       249.51 / 269.74 ±14.69 / 287.84 ms │       251.70 / 254.19 ±3.79 / 261.66 ms │ +1.06x faster │
│ QQuery 67 │       312.64 / 323.30 ±10.79 / 344.10 ms │       313.57 / 318.22 ±2.68 / 321.45 ms │     no change │
│ QQuery 68 │            8.83 / 10.52 ±1.36 / 12.97 ms │           9.30 / 10.38 ±0.75 / 11.37 ms │     no change │
│ QQuery 69 │        101.75 / 104.53 ±2.51 / 109.12 ms │       103.38 / 104.09 ±0.39 / 104.55 ms │     no change │
│ QQuery 70 │       333.30 / 346.58 ±10.96 / 363.53 ms │       342.76 / 348.40 ±5.84 / 358.77 ms │     no change │
│ QQuery 71 │        134.94 / 141.54 ±7.37 / 155.53 ms │       133.38 / 136.32 ±1.53 / 137.81 ms │     no change │
│ QQuery 72 │        615.65 / 619.77 ±4.19 / 626.81 ms │       620.19 / 624.00 ±3.12 / 628.05 ms │     no change │
│ QQuery 73 │             7.33 / 8.48 ±1.31 / 10.61 ms │             7.02 / 7.87 ±0.50 / 8.54 ms │ +1.08x faster │
│ QQuery 74 │        591.74 / 597.14 ±3.59 / 602.96 ms │      569.24 / 581.82 ±10.36 / 596.27 ms │     no change │
│ QQuery 75 │        275.37 / 279.99 ±2.92 / 283.36 ms │       277.39 / 279.13 ±1.41 / 281.61 ms │     no change │
│ QQuery 76 │        130.90 / 132.53 ±1.60 / 135.03 ms │       132.31 / 133.71 ±1.51 / 136.41 ms │     no change │
│ QQuery 77 │        186.50 / 189.64 ±2.36 / 193.27 ms │       188.80 / 190.86 ±1.32 / 192.66 ms │     no change │
│ QQuery 78 │        335.59 / 340.81 ±4.97 / 348.85 ms │       338.57 / 343.60 ±3.55 / 347.96 ms │     no change │
│ QQuery 79 │        233.05 / 235.58 ±1.59 / 237.88 ms │       230.35 / 234.47 ±2.66 / 238.03 ms │     no change │
│ QQuery 80 │        319.21 / 323.19 ±3.97 / 330.51 ms │       322.01 / 324.70 ±1.96 / 327.87 ms │     no change │
│ QQuery 81 │           26.35 / 27.61 ±1.18 / 29.48 ms │          26.52 / 27.88 ±1.08 / 29.36 ms │     no change │
│ QQuery 82 │        197.92 / 199.43 ±0.88 / 200.32 ms │       197.15 / 199.54 ±2.22 / 203.72 ms │     no change │
│ QQuery 83 │           39.09 / 39.96 ±1.46 / 42.87 ms │          38.48 / 39.69 ±0.92 / 40.98 ms │     no change │
│ QQuery 84 │           48.05 / 49.14 ±0.99 / 50.97 ms │          49.19 / 50.28 ±1.13 / 52.35 ms │     no change │
│ QQuery 85 │        146.78 / 149.44 ±1.65 / 151.81 ms │       149.06 / 152.17 ±3.05 / 157.31 ms │     no change │
│ QQuery 86 │           38.62 / 39.63 ±0.81 / 41.03 ms │          38.68 / 39.83 ±0.89 / 41.39 ms │     no change │
│ QQuery 87 │           83.20 / 87.43 ±3.47 / 93.68 ms │          86.25 / 88.97 ±3.13 / 94.80 ms │     no change │
│ QQuery 88 │        100.66 / 101.74 ±0.89 / 103.33 ms │        99.64 / 104.23 ±7.53 / 119.23 ms │     no change │
│ QQuery 89 │        119.89 / 120.86 ±0.80 / 122.00 ms │       118.55 / 120.98 ±1.79 / 124.13 ms │     no change │
│ QQuery 90 │           23.77 / 24.66 ±0.90 / 26.38 ms │          23.07 / 23.76 ±0.38 / 24.12 ms │     no change │
│ QQuery 91 │           61.38 / 63.79 ±1.87 / 66.98 ms │          65.04 / 65.37 ±0.33 / 65.90 ms │     no change │
│ QQuery 92 │           57.68 / 58.88 ±1.03 / 60.68 ms │          57.12 / 58.17 ±0.89 / 59.40 ms │     no change │
│ QQuery 93 │        186.16 / 187.72 ±1.48 / 190.18 ms │       185.14 / 187.68 ±1.76 / 189.88 ms │     no change │
│ QQuery 94 │           61.89 / 62.74 ±1.17 / 64.95 ms │          61.02 / 62.25 ±0.69 / 63.07 ms │     no change │
│ QQuery 95 │        127.13 / 127.63 ±0.55 / 128.62 ms │       127.18 / 128.47 ±1.34 / 130.93 ms │     no change │
│ QQuery 96 │           73.01 / 74.91 ±1.41 / 76.90 ms │          73.10 / 74.55 ±1.42 / 76.32 ms │     no change │
│ QQuery 97 │        123.37 / 127.70 ±3.05 / 130.41 ms │       122.86 / 125.05 ±1.79 / 127.25 ms │     no change │
│ QQuery 98 │        152.36 / 154.79 ±1.31 / 156.14 ms │       153.79 / 155.81 ±1.94 / 159.34 ms │     no change │
│ QQuery 99 │ 10791.68 / 10831.60 ±30.61 / 10872.87 ms │ 10774.39 / 10779.46 ±4.53 / 10787.06 ms │     no change │
└───────────┴──────────────────────────────────────────┴─────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                      ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                      │ 31530.04ms │
│ Total Time (reorder-by-groupby-keys)   │ 31457.40ms │
│ Average Time (HEAD)                    │   318.49ms │
│ Average Time (reorder-by-groupby-keys) │   317.75ms │
│ Queries Faster                         │          4 │
│ Queries Slower                         │          0 │
│ Queries with No Change                 │         95 │
│ Queries with Failure                   │          0 │
└────────────────────────────────────────┴────────────┘

Resource Usage

tpcds — base (merge-base)

Metric Value
Wall time 158.0s
Peak memory 5.1 GiB
Avg memory 4.4 GiB
CPU user 260.1s
CPU sys 17.6s
Peak spill 0 B

tpcds — branch

Metric Value
Wall time 157.6s
Peak memory 5.8 GiB
Avg memory 4.8 GiB
CPU user 259.9s
CPU sys 17.0s
Peak spill 0 B

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 reorder-by-groupby-keys
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                   HEAD ┃               reorder-by-groupby-keys ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0  │           1.19 / 4.49 ±6.44 / 17.36 ms │          1.18 / 4.41 ±6.32 / 17.05 ms │     no change │
│ QQuery 1  │         14.41 / 15.08 ±0.34 / 15.34 ms │        14.06 / 14.43 ±0.19 / 14.56 ms │     no change │
│ QQuery 2  │         44.16 / 44.69 ±0.44 / 45.37 ms │        43.60 / 43.91 ±0.26 / 44.22 ms │     no change │
│ QQuery 3  │         43.13 / 45.33 ±1.31 / 46.70 ms │        44.77 / 46.02 ±0.96 / 47.33 ms │     no change │
│ QQuery 4  │      284.89 / 290.43 ±4.13 / 295.51 ms │     284.58 / 296.20 ±8.99 / 309.78 ms │     no change │
│ QQuery 5  │      339.86 / 343.66 ±4.63 / 352.59 ms │     336.57 / 341.50 ±4.62 / 349.57 ms │     no change │
│ QQuery 6  │            5.34 / 6.76 ±1.32 / 8.66 ms │           5.28 / 6.17 ±0.96 / 7.92 ms │ +1.10x faster │
│ QQuery 7  │         17.11 / 17.31 ±0.27 / 17.82 ms │        16.65 / 17.45 ±0.93 / 18.61 ms │     no change │
│ QQuery 8  │     402.75 / 414.89 ±10.47 / 428.41 ms │     418.02 / 425.85 ±4.47 / 430.78 ms │     no change │
│ QQuery 9  │      645.11 / 648.99 ±3.72 / 656.02 ms │     646.01 / 661.02 ±8.19 / 670.03 ms │     no change │
│ QQuery 10 │         92.46 / 94.42 ±1.69 / 96.75 ms │        93.90 / 95.81 ±2.13 / 99.89 ms │     no change │
│ QQuery 11 │      105.05 / 106.10 ±0.62 / 106.72 ms │     103.95 / 106.51 ±1.57 / 108.62 ms │     no change │
│ QQuery 12 │      333.28 / 341.25 ±6.86 / 351.45 ms │     344.75 / 353.40 ±6.89 / 362.19 ms │     no change │
│ QQuery 13 │     445.00 / 463.62 ±14.40 / 487.67 ms │    464.49 / 475.69 ±10.04 / 490.03 ms │     no change │
│ QQuery 14 │      340.50 / 345.25 ±6.02 / 356.96 ms │     347.54 / 352.34 ±4.59 / 358.15 ms │     no change │
│ QQuery 15 │     343.28 / 368.70 ±18.08 / 391.32 ms │    352.78 / 366.84 ±15.80 / 393.84 ms │     no change │
│ QQuery 16 │     701.83 / 723.25 ±19.77 / 749.00 ms │    704.52 / 721.91 ±11.67 / 733.93 ms │     no change │
│ QQuery 17 │     701.19 / 728.93 ±25.73 / 772.58 ms │     714.65 / 720.17 ±4.06 / 726.75 ms │     no change │
│ QQuery 18 │  1423.80 / 1492.86 ±40.13 / 1546.51 ms │ 1419.65 / 1474.59 ±31.28 / 1516.01 ms │     no change │
│ QQuery 19 │        35.33 / 44.04 ±16.24 / 76.51 ms │       34.82 / 45.50 ±18.60 / 82.63 ms │     no change │
│ QQuery 20 │     720.62 / 740.04 ±21.55 / 780.16 ms │    719.72 / 734.16 ±22.10 / 777.58 ms │     no change │
│ QQuery 21 │      764.37 / 769.73 ±5.42 / 780.03 ms │     759.10 / 763.27 ±3.51 / 768.06 ms │     no change │
│ QQuery 22 │   1133.23 / 1147.13 ±7.16 / 1153.41 ms │  1129.86 / 1133.10 ±2.92 / 1137.79 ms │     no change │
│ QQuery 23 │  3076.24 / 3092.04 ±19.72 / 3129.90 ms │ 3086.66 / 3107.97 ±16.11 / 3132.90 ms │     no change │
│ QQuery 24 │      101.58 / 103.93 ±1.65 / 106.75 ms │     100.76 / 106.00 ±3.41 / 109.87 ms │     no change │
│ QQuery 25 │      139.03 / 140.59 ±1.76 / 143.91 ms │     139.26 / 141.88 ±2.75 / 147.12 ms │     no change │
│ QQuery 26 │      100.06 / 103.20 ±2.12 / 105.57 ms │      97.15 / 102.82 ±3.17 / 106.39 ms │     no change │
│ QQuery 27 │      846.42 / 849.70 ±2.08 / 852.69 ms │     846.65 / 852.68 ±7.30 / 866.97 ms │     no change │
│ QQuery 28 │  3258.79 / 3291.72 ±17.87 / 3309.37 ms │ 3280.12 / 3302.12 ±11.21 / 3310.63 ms │     no change │
│ QQuery 29 │         50.23 / 54.86 ±5.81 / 66.27 ms │        50.23 / 53.93 ±4.41 / 62.06 ms │     no change │
│ QQuery 30 │      356.20 / 363.34 ±6.20 / 374.44 ms │     364.04 / 366.90 ±2.17 / 369.72 ms │     no change │
│ QQuery 31 │      374.19 / 379.70 ±5.76 / 387.84 ms │     375.52 / 380.87 ±5.59 / 391.25 ms │     no change │
│ QQuery 32 │ 1128.56 / 1319.92 ±120.42 / 1502.98 ms │ 1205.03 / 1253.80 ±49.93 / 1345.77 ms │ +1.05x faster │
│ QQuery 33 │  1448.36 / 1490.55 ±43.35 / 1572.84 ms │ 1454.59 / 1474.50 ±23.87 / 1518.70 ms │     no change │
│ QQuery 34 │   1452.16 / 1460.83 ±7.56 / 1474.12 ms │  1458.03 / 1468.82 ±8.48 / 1483.98 ms │     no change │
│ QQuery 35 │      379.83 / 387.51 ±5.26 / 396.14 ms │     382.41 / 390.99 ±5.42 / 396.95 ms │     no change │
│ QQuery 36 │      112.19 / 117.77 ±3.66 / 120.88 ms │     114.51 / 120.09 ±4.11 / 127.21 ms │     no change │
│ QQuery 37 │         48.13 / 49.49 ±1.07 / 50.96 ms │        48.86 / 49.86 ±1.41 / 52.62 ms │     no change │
│ QQuery 38 │         76.15 / 77.66 ±1.34 / 79.96 ms │        77.49 / 79.59 ±1.37 / 81.32 ms │     no change │
│ QQuery 39 │      211.15 / 218.42 ±5.57 / 227.58 ms │    200.40 / 215.62 ±10.27 / 230.49 ms │     no change │
│ QQuery 40 │         24.72 / 26.82 ±1.17 / 28.17 ms │        23.93 / 26.10 ±1.99 / 29.50 ms │     no change │
│ QQuery 41 │         20.88 / 21.66 ±0.73 / 22.92 ms │        19.46 / 21.24 ±1.53 / 24.04 ms │     no change │
│ QQuery 42 │         20.19 / 21.06 ±1.03 / 23.02 ms │        19.47 / 19.79 ±0.21 / 20.05 ms │ +1.06x faster │
└───────────┴────────────────────────────────────────┴───────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                      ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                      │ 22767.73ms │
│ Total Time (reorder-by-groupby-keys)   │ 22735.80ms │
│ Average Time (HEAD)                    │   529.48ms │
│ Average Time (reorder-by-groupby-keys) │   528.74ms │
│ Queries Faster                         │          3 │
│ Queries Slower                         │          0 │
│ Queries with No Change                 │         40 │
│ Queries with Failure                   │          0 │
└────────────────────────────────────────┴────────────┘

Resource Usage

clickbench_partitioned — base (merge-base)

Metric Value
Wall time 115.0s
Peak memory 41.0 GiB
Avg memory 29.7 GiB
CPU user 1071.2s
CPU sys 95.0s
Peak spill 0 B

clickbench_partitioned — branch

Metric Value
Wall time 114.8s
Peak memory 40.8 GiB
Avg memory 29.3 GiB
CPU user 1074.2s
CPU sys 92.9s
Peak spill 0 B

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 reorder-by-groupby-keys
--------------------
Benchmark clickbench_extended.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                    HEAD ┃                 reorder-by-groupby-keys ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0  │      840.93 / 859.32 ±14.30 / 873.56 ms │      824.54 / 840.58 ±11.64 / 857.33 ms │     no change │
│ QQuery 1  │       207.72 / 208.61 ±0.95 / 210.15 ms │       212.42 / 213.62 ±0.91 / 214.77 ms │     no change │
│ QQuery 2  │       494.81 / 496.35 ±1.02 / 497.65 ms │       509.63 / 510.86 ±1.24 / 513.17 ms │     no change │
│ QQuery 3  │       315.61 / 316.60 ±0.99 / 318.31 ms │       315.62 / 316.29 ±0.61 / 317.21 ms │     no change │
│ QQuery 4  │      668.93 / 688.17 ±17.69 / 717.97 ms │       658.18 / 666.83 ±5.92 / 676.55 ms │     no change │
│ QQuery 5  │ 9530.42 / 9945.56 ±242.61 / 10226.74 ms │ 9651.16 / 9914.79 ±266.78 / 10389.61 ms │     no change │
│ QQuery 6  │    990.50 / 1006.11 ±17.69 / 1039.95 ms │     994.36 / 1004.02 ±9.20 / 1019.83 ms │     no change │
│ QQuery 7  │      773.05 / 786.23 ±13.18 / 802.65 ms │      768.11 / 785.43 ±11.75 / 803.62 ms │     no change │
│ QQuery 8  │       406.26 / 410.89 ±2.82 / 414.57 ms │       401.45 / 408.45 ±4.91 / 414.11 ms │     no change │
│ QQuery 9  │   2798.60 / 2828.24 ±28.13 / 2871.90 ms │   2667.55 / 2709.23 ±31.18 / 2753.57 ms │     no change │
│ QQuery 10 │       632.82 / 641.85 ±8.59 / 653.10 ms │       630.96 / 635.06 ±3.79 / 639.73 ms │     no change │
│ QQuery 11 │   2051.95 / 2067.85 ±16.33 / 2094.29 ms │   1944.46 / 1954.55 ±11.97 / 1973.10 ms │ +1.06x faster │
│ QQuery 12 │       193.87 / 198.53 ±4.04 / 205.26 ms │       192.62 / 201.13 ±5.38 / 209.51 ms │     no change │
└───────────┴─────────────────────────────────────────┴─────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                      ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                      │ 20454.29ms │
│ Total Time (reorder-by-groupby-keys)   │ 20160.84ms │
│ Average Time (HEAD)                    │  1573.41ms │
│ Average Time (reorder-by-groupby-keys) │  1550.83ms │
│ Queries Faster                         │          1 │
│ Queries Slower                         │          0 │
│ Queries with No Change                 │         12 │
│ Queries with Failure                   │          0 │
└────────────────────────────────────────┴────────────┘

Resource Usage

clickbench_extended — base (merge-base)

Metric Value
Wall time 103.1s
Peak memory 34.0 GiB
Avg memory 29.8 GiB
CPU user 998.1s
CPU sys 44.9s
Peak spill 0 B

clickbench_extended — branch

Metric Value
Wall time 101.6s
Peak memory 34.2 GiB
Avg memory 29.1 GiB
CPU user 997.6s
CPU sys 45.4s
Peak spill 0 B

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 reorder-by-groupby-keys
--------------------
Benchmark clickbench_1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                  HEAD ┃               reorder-by-groupby-keys ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0  │           0.73 / 1.10 ±0.67 / 2.43 ms │           0.74 / 1.10 ±0.63 / 2.36 ms │     no change │
│ QQuery 1  │        13.57 / 14.13 ±0.98 / 16.09 ms │        13.73 / 14.05 ±0.37 / 14.77 ms │     no change │
│ QQuery 2  │        40.76 / 41.06 ±0.18 / 41.29 ms │        41.16 / 41.26 ±0.10 / 41.39 ms │     no change │
│ QQuery 3  │        37.53 / 38.43 ±1.13 / 40.41 ms │        38.01 / 38.32 ±0.26 / 38.62 ms │     no change │
│ QQuery 4  │    266.72 / 280.05 ±14.56 / 307.55 ms │     268.36 / 273.93 ±4.96 / 283.10 ms │     no change │
│ QQuery 5  │     455.62 / 464.89 ±6.40 / 473.16 ms │     453.37 / 462.20 ±8.01 / 474.59 ms │     no change │
│ QQuery 6  │           6.05 / 6.74 ±0.64 / 7.93 ms │           6.12 / 6.35 ±0.27 / 6.76 ms │ +1.06x faster │
│ QQuery 7  │        15.39 / 15.81 ±0.27 / 16.20 ms │        15.68 / 15.93 ±0.13 / 16.02 ms │     no change │
│ QQuery 8  │     391.61 / 402.82 ±7.71 / 412.11 ms │     393.74 / 403.02 ±6.32 / 410.58 ms │     no change │
│ QQuery 9  │     619.47 / 626.15 ±4.00 / 630.72 ms │     622.97 / 631.98 ±5.67 / 638.24 ms │     no change │
│ QQuery 10 │        90.16 / 92.52 ±2.64 / 97.60 ms │       91.10 / 94.95 ±3.10 / 100.42 ms │     no change │
│ QQuery 11 │     103.55 / 104.97 ±1.83 / 108.50 ms │     103.47 / 104.64 ±1.29 / 106.97 ms │     no change │
│ QQuery 12 │     464.34 / 475.31 ±6.65 / 482.49 ms │     463.97 / 472.33 ±5.85 / 481.38 ms │     no change │
│ QQuery 13 │     512.56 / 525.03 ±8.13 / 535.07 ms │     523.35 / 536.53 ±6.90 / 543.31 ms │     no change │
│ QQuery 14 │     461.30 / 474.90 ±8.83 / 485.73 ms │     466.10 / 477.74 ±9.06 / 490.66 ms │     no change │
│ QQuery 15 │     343.66 / 352.13 ±9.20 / 365.77 ms │    339.62 / 353.15 ±11.35 / 372.03 ms │     no change │
│ QQuery 16 │    713.75 / 737.51 ±15.14 / 759.17 ms │    703.86 / 715.03 ±12.76 / 737.37 ms │     no change │
│ QQuery 17 │     710.53 / 719.52 ±4.97 / 724.92 ms │     701.00 / 714.06 ±8.98 / 728.47 ms │     no change │
│ QQuery 18 │ 1464.52 / 1481.91 ±21.83 / 1524.78 ms │ 1416.12 / 1437.62 ±10.92 / 1445.06 ms │     no change │
│ QQuery 19 │       35.92 / 45.84 ±14.67 / 74.68 ms │       38.83 / 52.71 ±22.98 / 98.42 ms │  1.15x slower │
│ QQuery 20 │    625.14 / 639.10 ±19.70 / 677.21 ms │    623.54 / 644.04 ±25.98 / 691.05 ms │     no change │
│ QQuery 21 │     706.10 / 710.00 ±3.43 / 716.10 ms │    706.75 / 715.98 ±12.56 / 740.29 ms │     no change │
│ QQuery 22 │  1355.79 / 1365.99 ±6.39 / 1375.03 ms │  1356.20 / 1361.39 ±3.95 / 1367.21 ms │     no change │
│ QQuery 23 │ 3751.15 / 3770.73 ±24.55 / 3811.09 ms │  3733.55 / 3749.05 ±9.81 / 3764.23 ms │     no change │
│ QQuery 24 │     212.64 / 216.05 ±2.37 / 219.13 ms │     211.80 / 219.53 ±6.42 / 230.94 ms │     no change │
│ QQuery 25 │     181.76 / 184.47 ±1.61 / 186.82 ms │     182.94 / 184.37 ±1.33 / 186.46 ms │     no change │
│ QQuery 26 │     212.24 / 214.73 ±1.96 / 218.03 ms │     213.92 / 217.43 ±2.86 / 222.58 ms │     no change │
│ QQuery 27 │     745.43 / 749.74 ±4.52 / 758.03 ms │     742.89 / 746.06 ±2.37 / 748.92 ms │     no change │
│ QQuery 28 │ 3447.37 / 3475.93 ±15.56 / 3491.92 ms │ 3435.77 / 3468.55 ±19.35 / 3489.32 ms │     no change │
│ QQuery 29 │        46.85 / 50.81 ±3.52 / 57.18 ms │        48.22 / 52.96 ±5.67 / 63.90 ms │     no change │
│ QQuery 30 │    446.68 / 460.69 ±11.34 / 478.43 ms │    442.66 / 450.90 ±10.28 / 470.24 ms │     no change │
│ QQuery 31 │    429.22 / 452.60 ±16.85 / 477.50 ms │     410.69 / 427.12 ±9.38 / 437.34 ms │ +1.06x faster │
│ QQuery 32 │ 1044.25 / 1063.08 ±23.60 / 1107.04 ms │ 1213.27 / 1248.20 ±36.45 / 1309.03 ms │  1.17x slower │
│ QQuery 33 │  1499.19 / 1513.73 ±8.74 / 1523.39 ms │ 1551.20 / 1587.30 ±29.42 / 1625.74 ms │     no change │
│ QQuery 34 │ 1538.08 / 1558.15 ±23.00 / 1599.68 ms │ 1528.42 / 1547.24 ±16.62 / 1569.87 ms │     no change │
│ QQuery 35 │     369.16 / 371.73 ±2.13 / 374.96 ms │     374.64 / 377.49 ±1.76 / 379.13 ms │     no change │
│ QQuery 36 │     126.56 / 131.08 ±2.94 / 135.54 ms │    127.81 / 144.52 ±24.49 / 193.00 ms │  1.10x slower │
│ QQuery 37 │        58.12 / 59.18 ±1.22 / 61.50 ms │        55.95 / 59.41 ±2.66 / 63.53 ms │     no change │
│ QQuery 38 │        86.02 / 87.80 ±0.98 / 88.90 ms │        95.00 / 96.23 ±1.06 / 98.06 ms │  1.10x slower │
│ QQuery 39 │     230.33 / 235.62 ±6.05 / 247.00 ms │    226.75 / 237.48 ±10.27 / 255.72 ms │     no change │
│ QQuery 40 │        22.06 / 22.89 ±0.68 / 23.81 ms │        23.21 / 25.40 ±1.78 / 28.00 ms │  1.11x slower │
│ QQuery 41 │        20.52 / 21.23 ±0.63 / 22.21 ms │        20.65 / 21.60 ±0.94 / 22.95 ms │     no change │
│ QQuery 42 │        19.87 / 20.76 ±1.00 / 22.55 ms │        20.30 / 21.13 ±1.07 / 23.23 ms │     no change │
└───────────┴───────────────────────────────────────┴───────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                      ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                      │ 24276.92ms │
│ Total Time (reorder-by-groupby-keys)   │ 24450.28ms │
│ Average Time (HEAD)                    │   564.58ms │
│ Average Time (reorder-by-groupby-keys) │   568.61ms │
│ Queries Faster                         │          2 │
│ Queries Slower                         │          5 │
│ Queries with No Change                 │         36 │
│ Queries with Failure                   │          0 │
└────────────────────────────────────────┴────────────┘

Resource Usage

clickbench_1 — base (merge-base)

Metric Value
Wall time 122.5s
Peak memory 37.6 GiB
Avg memory 28.4 GiB
CPU user 1142.3s
CPU sys 90.0s
Peak spill 0 B

clickbench_1 — branch

Metric Value
Wall time 123.2s
Peak memory 35.3 GiB
Avg memory 27.1 GiB
CPU user 1138.8s
CPU sys 98.8s
Peak spill 0 B

File an issue against this benchmark runner

Two improvements to the groupby row group reordering:

1. Add try_pushdown_groupby_order delegation to transparent nodes
   (CoalesceBatchesExec, BufferExec, CooperativeExec, ProjectionExec,
   CoalescePartitionsExec, RepartitionExec) so the optimization fires
   even when intermediate nodes sit between AggregateExec and
   DataSourceExec.

2. Use ALL grouping keys for multi-column file-level sorting instead
   of just the first key. This gives much better clustering for
   multi-column GROUP BY queries like GROUP BY (a, b).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@Dandandan
Copy link
Copy Markdown
Contributor Author

run benchmarks

@adriangbot
Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c4236786870-1150-fv6dz 6.12.55+ #1 SMP Sun Feb 1 08:59:41 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 reorder-by-groupby-keys (b41f84e) to 29c5dd5 (merge-base) diff using: tpcds
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-c4236786870-1151-2hpsp 6.12.55+ #1 SMP Sun Feb 1 08:59:41 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 reorder-by-groupby-keys (b41f84e) to 29c5dd5 (merge-base) diff using: tpch
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-c4236786870-1149-cbk5t 6.12.55+ #1 SMP Sun Feb 1 08:59:41 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 reorder-by-groupby-keys (b41f84e) to 29c5dd5 (merge-base) diff using: clickbench_partitioned
Results will be posted here when complete


File an issue against this benchmark runner

FilterExec preserves the schema unchanged, so group expressions
pass through directly. This ensures the optimization fires when
a FilterExec sits between AggregateExec and DataSourceExec.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@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 reorder-by-groupby-keys
--------------------
Benchmark tpcds_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                     HEAD ┃                  reorder-by-groupby-keys ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │              6.59 / 7.02 ±0.79 / 8.61 ms │              6.63 / 7.08 ±0.75 / 8.56 ms │     no change │
│ QQuery 2  │        144.28 / 144.73 ±0.29 / 145.17 ms │        145.77 / 146.73 ±0.58 / 147.55 ms │     no change │
│ QQuery 3  │        113.11 / 114.19 ±1.20 / 116.46 ms │        112.36 / 113.03 ±0.60 / 113.72 ms │     no change │
│ QQuery 4  │    1269.59 / 1305.04 ±24.48 / 1341.33 ms │    1284.78 / 1315.81 ±17.37 / 1335.00 ms │     no change │
│ QQuery 5  │        171.37 / 173.66 ±1.85 / 176.86 ms │        174.78 / 177.06 ±1.98 / 179.89 ms │     no change │
│ QQuery 6  │       837.13 / 855.78 ±13.30 / 872.65 ms │       846.27 / 867.61 ±17.75 / 892.36 ms │     no change │
│ QQuery 7  │        340.87 / 344.22 ±2.43 / 347.13 ms │        346.29 / 348.18 ±1.53 / 350.01 ms │     no change │
│ QQuery 8  │        115.21 / 116.17 ±1.15 / 118.21 ms │        115.43 / 117.26 ±1.78 / 120.28 ms │     no change │
│ QQuery 9  │        100.32 / 102.57 ±2.35 / 106.88 ms │        102.18 / 105.74 ±2.74 / 108.27 ms │     no change │
│ QQuery 10 │        105.59 / 107.10 ±1.28 / 108.58 ms │        104.84 / 106.60 ±0.98 / 107.50 ms │     no change │
│ QQuery 11 │       868.04 / 883.96 ±11.68 / 897.49 ms │        873.25 / 888.44 ±8.30 / 896.71 ms │     no change │
│ QQuery 12 │           43.86 / 44.89 ±1.12 / 46.77 ms │           44.03 / 46.24 ±2.13 / 49.51 ms │     no change │
│ QQuery 13 │        399.26 / 403.22 ±3.92 / 410.56 ms │        396.96 / 402.81 ±3.77 / 408.50 ms │     no change │
│ QQuery 14 │     1002.76 / 1006.56 ±3.43 / 1012.17 ms │     985.35 / 1002.60 ±13.16 / 1022.62 ms │     no change │
│ QQuery 15 │           14.87 / 15.91 ±0.77 / 17.21 ms │           15.18 / 15.99 ±1.00 / 17.96 ms │     no change │
│ QQuery 16 │              7.00 / 7.17 ±0.16 / 7.41 ms │              7.01 / 7.58 ±0.47 / 8.20 ms │  1.06x slower │
│ QQuery 17 │        225.27 / 227.91 ±1.67 / 230.07 ms │        224.97 / 226.08 ±0.83 / 226.99 ms │     no change │
│ QQuery 18 │        125.60 / 127.72 ±1.21 / 129.06 ms │        124.53 / 126.37 ±1.12 / 127.71 ms │     no change │
│ QQuery 19 │        154.15 / 156.19 ±2.01 / 159.41 ms │        153.93 / 155.22 ±1.33 / 157.75 ms │     no change │
│ QQuery 20 │           13.40 / 13.78 ±0.47 / 14.69 ms │           13.88 / 13.96 ±0.09 / 14.12 ms │     no change │
│ QQuery 21 │           18.93 / 19.18 ±0.24 / 19.52 ms │           18.96 / 19.82 ±1.26 / 22.32 ms │     no change │
│ QQuery 22 │        477.95 / 482.52 ±3.65 / 487.44 ms │        484.37 / 487.63 ±1.68 / 489.23 ms │     no change │
│ QQuery 23 │        856.53 / 864.08 ±6.08 / 871.73 ms │        863.41 / 869.79 ±4.24 / 876.20 ms │     no change │
│ QQuery 24 │        377.02 / 380.14 ±2.73 / 384.73 ms │        377.75 / 381.21 ±3.72 / 385.91 ms │     no change │
│ QQuery 25 │        336.90 / 339.88 ±2.72 / 344.23 ms │        338.35 / 340.07 ±1.57 / 342.90 ms │     no change │
│ QQuery 26 │           81.10 / 81.94 ±0.54 / 82.61 ms │           80.80 / 82.38 ±1.14 / 83.74 ms │     no change │
│ QQuery 27 │              7.01 / 7.41 ±0.59 / 8.58 ms │              6.74 / 7.11 ±0.30 / 7.54 ms │     no change │
│ QQuery 28 │        147.64 / 149.26 ±2.14 / 153.41 ms │        147.28 / 148.90 ±1.66 / 151.66 ms │     no change │
│ QQuery 29 │        277.12 / 280.38 ±2.08 / 282.46 ms │        277.36 / 279.11 ±1.14 / 280.56 ms │     no change │
│ QQuery 30 │           43.44 / 45.29 ±1.78 / 48.47 ms │           43.57 / 45.21 ±1.24 / 46.56 ms │     no change │
│ QQuery 31 │        170.11 / 172.10 ±1.72 / 174.79 ms │        169.40 / 170.48 ±0.99 / 171.87 ms │     no change │
│ QQuery 32 │           56.03 / 57.57 ±1.29 / 59.25 ms │           55.83 / 57.94 ±1.21 / 59.40 ms │     no change │
│ QQuery 33 │        138.36 / 140.93 ±1.62 / 142.63 ms │        140.50 / 141.28 ±0.88 / 142.75 ms │     no change │
│ QQuery 34 │              6.87 / 7.12 ±0.25 / 7.56 ms │              6.89 / 7.13 ±0.22 / 7.52 ms │     no change │
│ QQuery 35 │        106.24 / 107.10 ±0.81 / 108.58 ms │        106.46 / 107.24 ±0.84 / 108.86 ms │     no change │
│ QQuery 36 │              6.64 / 7.43 ±1.11 / 9.64 ms │              6.58 / 6.87 ±0.27 / 7.31 ms │ +1.08x faster │
│ QQuery 37 │              8.02 / 8.52 ±0.36 / 9.08 ms │              8.07 / 8.26 ±0.10 / 8.35 ms │     no change │
│ QQuery 38 │           81.74 / 85.54 ±3.85 / 91.37 ms │           83.79 / 86.19 ±3.24 / 92.38 ms │     no change │
│ QQuery 39 │        122.30 / 125.89 ±2.87 / 128.90 ms │        123.21 / 125.96 ±1.75 / 127.85 ms │     no change │
│ QQuery 40 │        111.50 / 116.28 ±5.93 / 127.89 ms │        109.04 / 113.46 ±5.48 / 123.63 ms │     no change │
│ QQuery 41 │           14.19 / 15.49 ±1.24 / 17.45 ms │           13.91 / 15.06 ±0.89 / 16.31 ms │     no change │
│ QQuery 42 │        107.92 / 108.54 ±0.60 / 109.58 ms │        107.06 / 108.87 ±0.96 / 109.74 ms │     no change │
│ QQuery 43 │              6.06 / 6.15 ±0.12 / 6.39 ms │              5.83 / 5.93 ±0.10 / 6.13 ms │     no change │
│ QQuery 44 │           11.30 / 11.71 ±0.31 / 12.25 ms │           11.10 / 11.61 ±0.41 / 12.28 ms │     no change │
│ QQuery 45 │           51.08 / 51.85 ±0.52 / 52.55 ms │           49.65 / 50.54 ±0.95 / 52.15 ms │     no change │
│ QQuery 46 │             8.35 / 9.11 ±0.65 / 10.23 ms │              8.30 / 8.60 ±0.22 / 8.89 ms │ +1.06x faster │
│ QQuery 47 │        686.59 / 688.81 ±1.61 / 691.05 ms │        688.66 / 691.35 ±2.62 / 695.13 ms │     no change │
│ QQuery 48 │        280.27 / 291.45 ±5.78 / 296.95 ms │        283.29 / 290.83 ±4.80 / 294.80 ms │     no change │
│ QQuery 49 │        249.82 / 252.93 ±2.22 / 256.30 ms │        251.25 / 253.15 ±1.55 / 255.02 ms │     no change │
│ QQuery 50 │        220.14 / 224.24 ±3.04 / 227.79 ms │        218.86 / 225.91 ±5.06 / 231.57 ms │     no change │
│ QQuery 51 │        179.79 / 182.34 ±2.31 / 186.49 ms │        178.45 / 183.48 ±3.54 / 186.47 ms │     no change │
│ QQuery 52 │        106.62 / 107.98 ±1.02 / 109.23 ms │        108.39 / 108.98 ±0.46 / 109.46 ms │     no change │
│ QQuery 53 │        102.10 / 103.80 ±1.40 / 105.60 ms │        101.05 / 102.50 ±1.17 / 104.52 ms │     no change │
│ QQuery 54 │        144.70 / 146.20 ±0.98 / 147.68 ms │        142.77 / 145.56 ±1.44 / 146.78 ms │     no change │
│ QQuery 55 │        107.26 / 107.95 ±0.57 / 108.84 ms │        105.34 / 106.83 ±1.08 / 108.57 ms │     no change │
│ QQuery 56 │        140.33 / 141.66 ±1.28 / 143.23 ms │        138.95 / 141.17 ±1.47 / 142.66 ms │     no change │
│ QQuery 57 │        171.23 / 173.40 ±1.70 / 176.41 ms │        170.15 / 173.72 ±3.05 / 179.26 ms │     no change │
│ QQuery 58 │       295.93 / 306.35 ±10.47 / 326.49 ms │       287.36 / 305.92 ±15.53 / 325.17 ms │     no change │
│ QQuery 59 │        199.74 / 200.02 ±0.33 / 200.66 ms │        198.41 / 200.33 ±1.66 / 203.07 ms │     no change │
│ QQuery 60 │        143.43 / 144.39 ±0.57 / 144.99 ms │        141.78 / 142.52 ±0.62 / 143.46 ms │     no change │
│ QQuery 61 │           12.93 / 13.23 ±0.27 / 13.64 ms │           13.00 / 13.27 ±0.30 / 13.67 ms │     no change │
│ QQuery 62 │       890.72 / 928.37 ±31.81 / 971.13 ms │       869.72 / 890.52 ±19.70 / 914.33 ms │     no change │
│ QQuery 63 │        103.88 / 107.31 ±3.35 / 112.98 ms │        101.49 / 105.63 ±2.63 / 109.45 ms │     no change │
│ QQuery 64 │        679.51 / 683.78 ±3.65 / 688.57 ms │        669.81 / 678.29 ±5.19 / 684.52 ms │     no change │
│ QQuery 65 │        250.48 / 253.04 ±2.64 / 257.07 ms │        246.53 / 248.36 ±1.85 / 251.63 ms │     no change │
│ QQuery 66 │       236.34 / 254.47 ±11.61 / 271.97 ms │        247.09 / 263.11 ±9.19 / 274.32 ms │     no change │
│ QQuery 67 │        304.84 / 312.70 ±5.86 / 322.86 ms │        302.55 / 311.98 ±6.76 / 323.13 ms │     no change │
│ QQuery 68 │             8.50 / 9.83 ±0.81 / 10.68 ms │            9.41 / 10.78 ±1.00 / 12.38 ms │  1.10x slower │
│ QQuery 69 │        101.29 / 103.02 ±1.66 / 106.16 ms │        100.70 / 101.87 ±0.65 / 102.71 ms │     no change │
│ QQuery 70 │       328.12 / 355.65 ±17.39 / 381.96 ms │       343.32 / 356.93 ±10.54 / 373.42 ms │     no change │
│ QQuery 71 │        136.01 / 136.36 ±0.27 / 136.81 ms │        133.09 / 136.14 ±3.30 / 142.14 ms │     no change │
│ QQuery 72 │        605.33 / 616.57 ±7.56 / 625.08 ms │        602.24 / 615.69 ±9.64 / 631.08 ms │     no change │
│ QQuery 73 │              7.49 / 8.34 ±0.82 / 9.72 ms │              6.48 / 7.87 ±1.01 / 9.23 ms │ +1.06x faster │
│ QQuery 74 │        536.94 / 542.79 ±6.35 / 555.07 ms │        545.91 / 554.08 ±7.28 / 564.74 ms │     no change │
│ QQuery 75 │        275.43 / 278.19 ±3.54 / 284.82 ms │        276.32 / 276.90 ±0.61 / 277.88 ms │     no change │
│ QQuery 76 │        132.31 / 133.34 ±1.01 / 135.22 ms │        130.91 / 131.72 ±0.65 / 132.76 ms │     no change │
│ QQuery 77 │        186.59 / 189.21 ±2.06 / 191.86 ms │        187.58 / 189.50 ±2.07 / 192.95 ms │     no change │
│ QQuery 78 │        337.66 / 343.06 ±2.95 / 346.53 ms │        334.22 / 339.50 ±3.36 / 343.95 ms │     no change │
│ QQuery 79 │        228.44 / 232.16 ±2.01 / 234.55 ms │        229.79 / 232.10 ±1.86 / 235.21 ms │     no change │
│ QQuery 80 │        321.59 / 324.20 ±2.62 / 329.10 ms │        321.43 / 322.53 ±0.71 / 323.59 ms │     no change │
│ QQuery 81 │           25.78 / 26.67 ±0.67 / 27.68 ms │           25.09 / 26.34 ±1.38 / 28.97 ms │     no change │
│ QQuery 82 │        196.84 / 202.34 ±2.98 / 205.62 ms │        197.35 / 199.49 ±2.15 / 203.57 ms │     no change │
│ QQuery 83 │           38.48 / 39.42 ±0.85 / 40.67 ms │           37.86 / 38.31 ±0.29 / 38.73 ms │     no change │
│ QQuery 84 │           47.22 / 48.36 ±0.58 / 48.83 ms │           47.73 / 48.19 ±0.38 / 48.64 ms │     no change │
│ QQuery 85 │        146.03 / 147.25 ±1.32 / 149.55 ms │        143.02 / 147.14 ±2.18 / 148.97 ms │     no change │
│ QQuery 86 │           38.64 / 39.13 ±0.26 / 39.41 ms │           38.89 / 39.27 ±0.42 / 39.92 ms │     no change │
│ QQuery 87 │           84.58 / 87.62 ±3.04 / 92.70 ms │           83.82 / 87.05 ±3.25 / 92.88 ms │     no change │
│ QQuery 88 │         99.42 / 100.49 ±1.19 / 102.65 ms │          98.56 / 99.81 ±0.83 / 100.88 ms │     no change │
│ QQuery 89 │        118.23 / 119.79 ±0.88 / 120.64 ms │        116.34 / 117.65 ±1.28 / 119.51 ms │     no change │
│ QQuery 90 │           23.26 / 23.62 ±0.30 / 23.93 ms │           23.19 / 23.89 ±0.83 / 25.44 ms │     no change │
│ QQuery 91 │           60.77 / 62.64 ±1.30 / 64.78 ms │           62.48 / 63.51 ±1.37 / 65.99 ms │     no change │
│ QQuery 92 │           57.15 / 58.23 ±1.14 / 60.08 ms │           56.47 / 57.68 ±1.19 / 59.83 ms │     no change │
│ QQuery 93 │        184.30 / 185.77 ±0.89 / 187.00 ms │        184.36 / 186.26 ±1.27 / 187.80 ms │     no change │
│ QQuery 94 │           60.43 / 61.07 ±0.44 / 61.63 ms │           61.24 / 61.78 ±0.44 / 62.58 ms │     no change │
│ QQuery 95 │        127.21 / 128.00 ±0.69 / 129.16 ms │        126.44 / 127.49 ±0.93 / 128.62 ms │     no change │
│ QQuery 96 │           69.13 / 73.89 ±2.56 / 76.59 ms │           72.66 / 73.17 ±0.38 / 73.75 ms │     no change │
│ QQuery 97 │        125.08 / 127.04 ±1.87 / 129.99 ms │        122.37 / 124.69 ±1.60 / 126.91 ms │     no change │
│ QQuery 98 │        151.54 / 154.40 ±1.92 / 156.93 ms │        150.80 / 153.96 ±2.26 / 157.05 ms │     no change │
│ QQuery 99 │ 10805.99 / 10827.79 ±16.23 / 10856.43 ms │ 10741.67 / 10778.98 ±27.63 / 10827.59 ms │     no change │
└───────────┴──────────────────────────────────────────┴──────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                      ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                      │ 31249.82ms │
│ Total Time (reorder-by-groupby-keys)   │ 31190.69ms │
│ Average Time (HEAD)                    │   315.65ms │
│ Average Time (reorder-by-groupby-keys) │   315.06ms │
│ Queries Faster                         │          3 │
│ Queries Slower                         │          2 │
│ Queries with No Change                 │         94 │
│ Queries with Failure                   │          0 │
└────────────────────────────────────────┴────────────┘

Resource Usage

tpcds — base (merge-base)

Metric Value
Wall time 156.6s
Peak memory 5.2 GiB
Avg memory 4.4 GiB
CPU user 256.7s
CPU sys 17.9s
Peak spill 0 B

tpcds — branch

Metric Value
Wall time 156.2s
Peak memory 5.2 GiB
Avg memory 4.4 GiB
CPU user 256.9s
CPU sys 17.4s
Peak spill 0 B

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 reorder-by-groupby-keys
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                  HEAD ┃               reorder-by-groupby-keys ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0  │          1.19 / 4.44 ±6.37 / 17.17 ms │          1.19 / 4.40 ±6.31 / 17.01 ms │     no change │
│ QQuery 1  │        14.06 / 14.41 ±0.19 / 14.58 ms │        14.05 / 14.40 ±0.22 / 14.71 ms │     no change │
│ QQuery 2  │        44.39 / 44.61 ±0.19 / 44.93 ms │        43.52 / 43.86 ±0.27 / 44.27 ms │     no change │
│ QQuery 3  │        43.48 / 45.65 ±1.32 / 47.57 ms │        43.49 / 45.53 ±1.88 / 48.12 ms │     no change │
│ QQuery 4  │     276.00 / 286.60 ±7.46 / 298.43 ms │     288.29 / 296.12 ±5.36 / 303.23 ms │     no change │
│ QQuery 5  │     339.18 / 345.21 ±4.07 / 351.67 ms │     342.16 / 348.43 ±4.30 / 354.73 ms │     no change │
│ QQuery 6  │           5.12 / 6.59 ±1.23 / 8.85 ms │           5.62 / 6.95 ±1.39 / 9.34 ms │  1.05x slower │
│ QQuery 7  │        16.57 / 17.49 ±0.58 / 18.07 ms │        16.44 / 17.46 ±1.01 / 18.92 ms │     no change │
│ QQuery 8  │     419.85 / 421.80 ±1.59 / 423.27 ms │     408.55 / 418.09 ±5.89 / 423.46 ms │     no change │
│ QQuery 9  │     633.72 / 640.33 ±3.79 / 644.79 ms │     635.01 / 645.03 ±7.09 / 655.34 ms │     no change │
│ QQuery 10 │        91.38 / 93.09 ±1.59 / 95.74 ms │       89.52 / 95.65 ±4.57 / 101.53 ms │     no change │
│ QQuery 11 │     102.50 / 103.45 ±0.53 / 104.11 ms │     102.81 / 103.75 ±1.48 / 106.68 ms │     no change │
│ QQuery 12 │     337.26 / 341.99 ±6.32 / 354.36 ms │     338.76 / 346.15 ±7.00 / 359.45 ms │     no change │
│ QQuery 13 │    447.49 / 471.34 ±20.68 / 509.59 ms │    469.82 / 480.53 ±12.43 / 503.29 ms │     no change │
│ QQuery 14 │     336.76 / 344.60 ±4.29 / 349.37 ms │     338.94 / 346.27 ±4.81 / 353.60 ms │     no change │
│ QQuery 15 │    344.89 / 371.33 ±26.20 / 414.01 ms │    348.86 / 366.35 ±15.07 / 390.58 ms │     no change │
│ QQuery 16 │    708.74 / 728.65 ±21.98 / 767.21 ms │     716.52 / 724.53 ±7.39 / 736.02 ms │     no change │
│ QQuery 17 │     708.79 / 710.26 ±1.26 / 712.59 ms │     708.58 / 716.06 ±6.16 / 725.34 ms │     no change │
│ QQuery 18 │ 1398.09 / 1445.93 ±40.92 / 1498.49 ms │ 1393.32 / 1444.49 ±34.23 / 1498.48 ms │     no change │
│ QQuery 19 │        35.30 / 36.60 ±0.98 / 38.04 ms │      35.95 / 63.91 ±39.91 / 139.23 ms │  1.75x slower │
│ QQuery 20 │    710.33 / 723.54 ±12.74 / 740.40 ms │    726.71 / 739.68 ±17.17 / 773.31 ms │     no change │
│ QQuery 21 │     755.96 / 760.34 ±3.10 / 765.33 ms │     756.83 / 765.04 ±4.40 / 768.97 ms │     no change │
│ QQuery 22 │  1125.67 / 1133.47 ±5.42 / 1142.69 ms │  1128.34 / 1134.33 ±4.03 / 1138.57 ms │     no change │
│ QQuery 23 │ 3087.76 / 3113.62 ±19.09 / 3143.66 ms │ 3039.55 / 3070.85 ±20.96 / 3094.13 ms │     no change │
│ QQuery 24 │     101.28 / 103.79 ±2.70 / 109.02 ms │     104.91 / 106.86 ±1.80 / 109.61 ms │     no change │
│ QQuery 25 │     137.77 / 141.33 ±1.93 / 142.94 ms │     138.52 / 140.28 ±1.41 / 142.81 ms │     no change │
│ QQuery 26 │     101.02 / 103.14 ±1.70 / 105.88 ms │     100.35 / 102.19 ±1.51 / 103.62 ms │     no change │
│ QQuery 27 │     848.14 / 850.72 ±3.05 / 855.08 ms │     849.64 / 855.13 ±4.28 / 861.07 ms │     no change │
│ QQuery 28 │ 3257.25 / 3285.19 ±19.45 / 3313.21 ms │ 3261.89 / 3282.59 ±19.09 / 3312.22 ms │     no change │
│ QQuery 29 │        51.35 / 53.90 ±2.55 / 58.70 ms │        49.55 / 54.72 ±4.80 / 62.29 ms │     no change │
│ QQuery 30 │     358.44 / 361.26 ±3.76 / 368.48 ms │     357.33 / 366.27 ±7.79 / 378.41 ms │     no change │
│ QQuery 31 │    350.66 / 377.47 ±14.44 / 393.73 ms │    354.09 / 377.71 ±14.90 / 393.95 ms │     no change │
│ QQuery 32 │ 1021.98 / 1039.66 ±20.18 / 1077.97 ms │ 1016.63 / 1062.21 ±53.52 / 1163.09 ms │     no change │
│ QQuery 33 │ 1447.36 / 1466.65 ±12.96 / 1480.68 ms │  1453.09 / 1460.66 ±9.34 / 1478.74 ms │     no change │
│ QQuery 34 │ 1446.41 / 1514.07 ±44.05 / 1564.54 ms │  1427.78 / 1444.54 ±9.23 / 1456.18 ms │     no change │
│ QQuery 35 │     381.50 / 386.22 ±2.68 / 388.81 ms │     382.77 / 388.08 ±3.43 / 392.61 ms │     no change │
│ QQuery 36 │     111.86 / 119.77 ±4.03 / 122.67 ms │     111.34 / 120.69 ±5.55 / 128.55 ms │     no change │
│ QQuery 37 │        47.71 / 48.42 ±0.65 / 49.20 ms │        48.02 / 49.74 ±1.47 / 52.19 ms │     no change │
│ QQuery 38 │        75.04 / 76.63 ±1.21 / 78.55 ms │        76.62 / 77.58 ±0.68 / 78.30 ms │     no change │
│ QQuery 39 │     214.36 / 222.46 ±6.01 / 232.56 ms │     201.98 / 211.22 ±6.98 / 220.66 ms │ +1.05x faster │
│ QQuery 40 │        24.16 / 26.13 ±1.36 / 28.19 ms │        24.02 / 25.49 ±1.08 / 26.85 ms │     no change │
│ QQuery 41 │        20.73 / 21.67 ±1.05 / 23.52 ms │        20.05 / 21.24 ±1.19 / 22.67 ms │     no change │
│ QQuery 42 │        18.92 / 19.61 ±0.77 / 20.87 ms │        18.73 / 19.56 ±0.63 / 20.68 ms │     no change │
└───────────┴───────────────────────────────────────┴───────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                      ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                      │ 22423.43ms │
│ Total Time (reorder-by-groupby-keys)   │ 22404.60ms │
│ Average Time (HEAD)                    │   521.48ms │
│ Average Time (reorder-by-groupby-keys) │   521.04ms │
│ Queries Faster                         │          1 │
│ Queries Slower                         │          2 │
│ Queries with No Change                 │         40 │
│ Queries with Failure                   │          0 │
└────────────────────────────────────────┴────────────┘

Resource Usage

clickbench_partitioned — base (merge-base)

Metric Value
Wall time 113.4s
Peak memory 40.3 GiB
Avg memory 32.1 GiB
CPU user 1066.5s
CPU sys 86.6s
Peak spill 0 B

clickbench_partitioned — branch

Metric Value
Wall time 113.2s
Peak memory 40.6 GiB
Avg memory 29.1 GiB
CPU user 1064.8s
CPU sys 86.0s
Peak spill 0 B

File an issue against this benchmark runner

@Dandandan
Copy link
Copy Markdown
Contributor Author

run benchmarks

@adriangbot
Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c4236980088-1154-dnxgz 6.12.55+ #1 SMP Sun Feb 1 08:59:41 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 reorder-by-groupby-keys (1c67f29) to 29c5dd5 (merge-base) diff using: tpch
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-c4236980088-1152-9qdk2 6.12.55+ #1 SMP Sun Feb 1 08:59:41 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 reorder-by-groupby-keys (1c67f29) to 29c5dd5 (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-c4236980088-1153-ztgtw 6.12.55+ #1 SMP Sun Feb 1 08:59:41 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 reorder-by-groupby-keys (1c67f29) to 29c5dd5 (merge-base) diff using: tpcds
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 reorder-by-groupby-keys
--------------------
Benchmark tpcds_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                     HEAD ┃                  reorder-by-groupby-keys ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │              6.70 / 7.19 ±0.82 / 8.82 ms │              6.58 / 7.08 ±0.87 / 8.81 ms │     no change │
│ QQuery 2  │        144.50 / 145.62 ±0.79 / 146.67 ms │        145.45 / 147.08 ±1.21 / 148.80 ms │     no change │
│ QQuery 3  │        114.00 / 115.19 ±0.76 / 115.92 ms │        113.51 / 114.29 ±0.59 / 115.14 ms │     no change │
│ QQuery 4  │    1358.59 / 1395.24 ±21.94 / 1416.44 ms │    1389.17 / 1427.79 ±21.69 / 1455.17 ms │     no change │
│ QQuery 5  │        174.30 / 175.22 ±0.65 / 176.04 ms │        174.25 / 175.66 ±1.03 / 177.24 ms │     no change │
│ QQuery 6  │        871.77 / 878.63 ±6.52 / 889.71 ms │       887.05 / 902.84 ±17.73 / 937.10 ms │     no change │
│ QQuery 7  │        341.85 / 345.17 ±3.01 / 349.04 ms │        342.76 / 346.23 ±2.98 / 349.94 ms │     no change │
│ QQuery 8  │        118.27 / 119.21 ±1.09 / 121.19 ms │        116.12 / 118.72 ±1.50 / 120.72 ms │     no change │
│ QQuery 9  │        101.59 / 104.90 ±2.67 / 108.21 ms │        101.70 / 104.55 ±2.44 / 108.19 ms │     no change │
│ QQuery 10 │        106.00 / 107.11 ±0.85 / 108.37 ms │        106.99 / 107.89 ±0.94 / 109.30 ms │     no change │
│ QQuery 11 │      974.73 / 992.75 ±12.47 / 1009.86 ms │     968.85 / 1005.19 ±28.79 / 1041.30 ms │     no change │
│ QQuery 12 │           45.75 / 47.36 ±1.37 / 49.19 ms │           46.33 / 47.52 ±1.27 / 49.86 ms │     no change │
│ QQuery 13 │        402.74 / 407.01 ±3.72 / 413.88 ms │        400.75 / 403.62 ±2.31 / 406.42 ms │     no change │
│ QQuery 14 │      994.27 / 1008.12 ±9.12 / 1021.99 ms │      998.12 / 1011.08 ±7.38 / 1019.97 ms │     no change │
│ QQuery 15 │           15.72 / 16.69 ±0.89 / 18.10 ms │           15.76 / 16.81 ±0.98 / 18.61 ms │     no change │
│ QQuery 16 │              7.25 / 7.67 ±0.59 / 8.79 ms │              7.34 / 7.88 ±0.45 / 8.57 ms │     no change │
│ QQuery 17 │        229.17 / 230.93 ±1.63 / 233.52 ms │        230.43 / 232.51 ±1.08 / 233.37 ms │     no change │
│ QQuery 18 │        126.51 / 127.98 ±1.43 / 130.36 ms │        128.18 / 129.01 ±0.66 / 130.00 ms │     no change │
│ QQuery 19 │        157.64 / 160.17 ±1.38 / 161.35 ms │        154.16 / 157.50 ±2.07 / 160.44 ms │     no change │
│ QQuery 20 │           14.79 / 15.09 ±0.21 / 15.40 ms │           14.12 / 14.63 ±0.48 / 15.41 ms │     no change │
│ QQuery 21 │           20.04 / 20.49 ±0.51 / 21.45 ms │           20.06 / 20.63 ±0.86 / 22.30 ms │     no change │
│ QQuery 22 │        493.66 / 494.82 ±0.78 / 495.84 ms │        494.13 / 501.97 ±6.12 / 507.65 ms │     no change │
│ QQuery 23 │        908.57 / 916.05 ±5.50 / 925.70 ms │        892.52 / 907.02 ±9.70 / 920.67 ms │     no change │
│ QQuery 24 │        388.39 / 391.76 ±2.09 / 394.46 ms │        383.20 / 386.62 ±2.73 / 391.14 ms │     no change │
│ QQuery 25 │        342.89 / 346.54 ±3.21 / 350.21 ms │        338.80 / 342.19 ±2.27 / 345.77 ms │     no change │
│ QQuery 26 │           82.22 / 83.81 ±1.80 / 87.13 ms │           80.47 / 82.10 ±1.15 / 83.37 ms │     no change │
│ QQuery 27 │              7.40 / 8.12 ±0.60 / 8.90 ms │              6.83 / 7.28 ±0.30 / 7.70 ms │ +1.11x faster │
│ QQuery 28 │        151.36 / 153.46 ±1.52 / 154.88 ms │        149.12 / 150.41 ±1.65 / 153.51 ms │     no change │
│ QQuery 29 │        283.38 / 286.69 ±2.29 / 289.95 ms │        281.43 / 282.05 ±0.51 / 282.84 ms │     no change │
│ QQuery 30 │           44.03 / 45.18 ±0.75 / 46.03 ms │           43.15 / 45.37 ±1.27 / 46.40 ms │     no change │
│ QQuery 31 │        173.79 / 174.97 ±1.17 / 177.17 ms │        169.24 / 171.11 ±1.14 / 172.57 ms │     no change │
│ QQuery 32 │           58.25 / 59.06 ±0.69 / 59.90 ms │           57.20 / 57.78 ±0.67 / 58.69 ms │     no change │
│ QQuery 33 │        141.16 / 142.83 ±1.32 / 144.46 ms │        139.56 / 141.91 ±1.61 / 143.31 ms │     no change │
│ QQuery 34 │              6.89 / 7.17 ±0.19 / 7.43 ms │              7.10 / 7.26 ±0.18 / 7.59 ms │     no change │
│ QQuery 35 │        108.14 / 109.97 ±0.93 / 110.61 ms │        107.21 / 108.38 ±0.95 / 109.33 ms │     no change │
│ QQuery 36 │              7.23 / 7.41 ±0.19 / 7.76 ms │              6.63 / 6.78 ±0.15 / 7.01 ms │ +1.09x faster │
│ QQuery 37 │              8.91 / 9.16 ±0.24 / 9.50 ms │              8.49 / 8.86 ±0.42 / 9.49 ms │     no change │
│ QQuery 38 │           85.34 / 88.62 ±3.41 / 94.71 ms │           84.07 / 89.33 ±3.08 / 93.33 ms │     no change │
│ QQuery 39 │        128.32 / 130.27 ±1.48 / 132.51 ms │        123.72 / 126.00 ±1.50 / 127.78 ms │     no change │
│ QQuery 40 │        114.74 / 119.31 ±5.61 / 130.26 ms │        107.56 / 113.37 ±6.70 / 126.17 ms │     no change │
│ QQuery 41 │           14.85 / 15.96 ±0.78 / 17.01 ms │           14.97 / 15.81 ±0.84 / 17.37 ms │     no change │
│ QQuery 42 │        110.18 / 111.33 ±0.82 / 112.29 ms │        108.06 / 109.34 ±0.96 / 110.49 ms │     no change │
│ QQuery 43 │              6.07 / 6.34 ±0.19 / 6.66 ms │              6.23 / 6.40 ±0.20 / 6.77 ms │     no change │
│ QQuery 44 │           12.57 / 13.64 ±1.18 / 15.69 ms │           12.12 / 12.67 ±0.35 / 13.20 ms │ +1.08x faster │
│ QQuery 45 │           51.77 / 52.68 ±0.90 / 54.25 ms │           51.64 / 51.96 ±0.57 / 53.09 ms │     no change │
│ QQuery 46 │             8.82 / 9.22 ±0.53 / 10.17 ms │              8.55 / 8.79 ±0.16 / 8.92 ms │     no change │
│ QQuery 47 │       764.23 / 777.68 ±12.15 / 796.75 ms │        734.98 / 739.31 ±5.07 / 749.17 ms │     no change │
│ QQuery 48 │        297.95 / 300.30 ±1.83 / 303.17 ms │        289.36 / 297.59 ±5.56 / 306.33 ms │     no change │
│ QQuery 49 │        255.53 / 258.72 ±2.49 / 262.28 ms │        251.56 / 254.46 ±1.90 / 256.66 ms │     no change │
│ QQuery 50 │        227.32 / 231.07 ±3.82 / 237.89 ms │        218.89 / 228.78 ±5.28 / 234.67 ms │     no change │
│ QQuery 51 │        184.53 / 185.90 ±1.21 / 187.65 ms │        180.21 / 183.11 ±2.34 / 186.31 ms │     no change │
│ QQuery 52 │        108.44 / 110.13 ±1.60 / 112.59 ms │        109.35 / 110.25 ±0.66 / 111.08 ms │     no change │
│ QQuery 53 │        104.34 / 104.84 ±0.92 / 106.68 ms │        102.34 / 103.07 ±0.92 / 104.87 ms │     no change │
│ QQuery 54 │        147.20 / 148.34 ±1.19 / 150.51 ms │        143.71 / 145.92 ±1.31 / 147.22 ms │     no change │
│ QQuery 55 │        108.57 / 109.47 ±0.76 / 110.80 ms │        106.66 / 108.18 ±1.13 / 109.64 ms │     no change │
│ QQuery 56 │        140.17 / 141.64 ±0.98 / 142.99 ms │        139.74 / 142.19 ±2.21 / 146.04 ms │     no change │
│ QQuery 57 │        173.49 / 175.27 ±1.04 / 176.39 ms │        175.35 / 177.91 ±2.07 / 180.79 ms │     no change │
│ QQuery 58 │        291.31 / 298.63 ±6.33 / 306.21 ms │        288.99 / 294.07 ±4.46 / 299.83 ms │     no change │
│ QQuery 59 │        199.04 / 201.11 ±2.34 / 205.06 ms │        196.01 / 198.76 ±1.85 / 201.69 ms │     no change │
│ QQuery 60 │        145.36 / 147.19 ±1.86 / 150.41 ms │        142.99 / 145.70 ±1.43 / 147.27 ms │     no change │
│ QQuery 61 │           13.46 / 13.71 ±0.21 / 14.07 ms │           13.10 / 13.45 ±0.26 / 13.80 ms │     no change │
│ QQuery 62 │      930.61 / 972.23 ±29.76 / 1021.65 ms │       908.21 / 940.05 ±24.68 / 976.36 ms │     no change │
│ QQuery 63 │        105.09 / 106.22 ±1.21 / 108.49 ms │        103.86 / 107.19 ±1.87 / 109.25 ms │     no change │
│ QQuery 64 │        689.63 / 692.29 ±2.42 / 696.74 ms │        686.16 / 690.48 ±3.93 / 696.00 ms │     no change │
│ QQuery 65 │        259.00 / 263.32 ±4.13 / 269.76 ms │        253.27 / 257.56 ±3.75 / 263.50 ms │     no change │
│ QQuery 66 │       230.68 / 254.14 ±11.88 / 262.15 ms │        250.81 / 260.20 ±5.33 / 266.65 ms │     no change │
│ QQuery 67 │        322.78 / 324.56 ±1.82 / 328.05 ms │        312.75 / 318.49 ±6.50 / 331.05 ms │     no change │
│ QQuery 68 │           10.54 / 11.75 ±0.73 / 12.79 ms │            8.81 / 10.51 ±0.98 / 11.48 ms │ +1.12x faster │
│ QQuery 69 │        101.72 / 103.07 ±0.96 / 104.47 ms │        102.01 / 103.34 ±0.84 / 104.45 ms │     no change │
│ QQuery 70 │       329.00 / 353.08 ±16.38 / 370.81 ms │       338.93 / 351.76 ±11.60 / 372.40 ms │     no change │
│ QQuery 71 │        137.80 / 139.54 ±1.36 / 141.13 ms │        134.15 / 136.29 ±1.29 / 138.06 ms │     no change │
│ QQuery 72 │       611.61 / 624.25 ±10.48 / 637.14 ms │       602.37 / 622.03 ±13.84 / 640.93 ms │     no change │
│ QQuery 73 │             7.22 / 8.52 ±1.17 / 10.49 ms │             7.19 / 8.65 ±1.83 / 12.21 ms │     no change │
│ QQuery 74 │        624.91 / 628.18 ±2.00 / 630.63 ms │        602.57 / 612.26 ±6.14 / 621.53 ms │     no change │
│ QQuery 75 │        279.10 / 280.79 ±1.71 / 284.03 ms │        276.16 / 277.77 ±1.73 / 279.99 ms │     no change │
│ QQuery 76 │        133.19 / 134.26 ±0.98 / 136.00 ms │        131.89 / 133.93 ±1.88 / 136.59 ms │     no change │
│ QQuery 77 │        189.56 / 191.19 ±1.27 / 192.84 ms │        188.74 / 190.69 ±1.58 / 193.36 ms │     no change │
│ QQuery 78 │        345.94 / 349.24 ±1.90 / 351.13 ms │        342.32 / 346.40 ±2.67 / 350.45 ms │     no change │
│ QQuery 79 │        240.39 / 242.43 ±1.47 / 244.41 ms │        229.49 / 235.30 ±3.40 / 239.78 ms │     no change │
│ QQuery 80 │        323.10 / 324.61 ±1.51 / 326.77 ms │        319.87 / 322.32 ±1.89 / 324.92 ms │     no change │
│ QQuery 81 │           26.58 / 27.48 ±1.08 / 29.60 ms │           26.80 / 27.50 ±1.03 / 29.55 ms │     no change │
│ QQuery 82 │        196.81 / 202.47 ±3.19 / 205.82 ms │        198.73 / 200.73 ±1.85 / 204.25 ms │     no change │
│ QQuery 83 │           39.23 / 40.26 ±0.96 / 41.90 ms │           39.23 / 39.96 ±0.82 / 41.55 ms │     no change │
│ QQuery 84 │           48.19 / 49.44 ±1.39 / 51.83 ms │           48.49 / 49.30 ±0.62 / 50.34 ms │     no change │
│ QQuery 85 │        149.48 / 151.34 ±1.81 / 154.69 ms │        149.52 / 150.82 ±1.84 / 154.44 ms │     no change │
│ QQuery 86 │           40.32 / 41.16 ±0.68 / 41.94 ms │           39.39 / 40.06 ±0.43 / 40.65 ms │     no change │
│ QQuery 87 │           85.28 / 88.14 ±3.15 / 94.24 ms │           84.75 / 88.57 ±3.45 / 94.22 ms │     no change │
│ QQuery 88 │        101.48 / 101.97 ±0.56 / 102.98 ms │        100.13 / 101.00 ±0.78 / 102.30 ms │     no change │
│ QQuery 89 │        119.55 / 121.97 ±1.38 / 123.49 ms │        118.20 / 120.40 ±1.92 / 123.24 ms │     no change │
│ QQuery 90 │           24.65 / 25.06 ±0.34 / 25.67 ms │           24.29 / 25.15 ±1.01 / 26.97 ms │     no change │
│ QQuery 91 │           63.67 / 64.43 ±0.49 / 65.08 ms │           62.32 / 63.73 ±1.03 / 64.86 ms │     no change │
│ QQuery 92 │           58.46 / 59.02 ±0.46 / 59.56 ms │           57.73 / 59.77 ±2.11 / 63.69 ms │     no change │
│ QQuery 93 │        186.11 / 188.92 ±1.64 / 190.81 ms │        187.92 / 189.79 ±1.40 / 191.52 ms │     no change │
│ QQuery 94 │           60.97 / 62.46 ±0.96 / 63.83 ms │           61.24 / 62.60 ±1.04 / 64.45 ms │     no change │
│ QQuery 95 │        127.44 / 128.84 ±0.78 / 129.79 ms │        127.74 / 129.35 ±0.94 / 130.18 ms │     no change │
│ QQuery 96 │           73.90 / 75.48 ±1.48 / 78.23 ms │           74.33 / 75.45 ±1.21 / 76.99 ms │     no change │
│ QQuery 97 │        126.69 / 128.80 ±1.45 / 130.95 ms │        125.57 / 126.69 ±0.92 / 127.76 ms │     no change │
│ QQuery 98 │        152.38 / 155.28 ±2.54 / 159.05 ms │        155.71 / 157.28 ±1.60 / 160.27 ms │     no change │
│ QQuery 99 │ 10804.33 / 10852.56 ±25.46 / 10878.54 ms │ 10783.59 / 10814.13 ±20.32 / 10838.76 ms │     no change │
└───────────┴──────────────────────────────────────────┴──────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                      ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                      │ 31984.85ms │
│ Total Time (reorder-by-groupby-keys)   │ 31829.52ms │
│ Average Time (HEAD)                    │   323.08ms │
│ Average Time (reorder-by-groupby-keys) │   321.51ms │
│ Queries Faster                         │          4 │
│ Queries Slower                         │          0 │
│ Queries with No Change                 │         95 │
│ Queries with Failure                   │          0 │
└────────────────────────────────────────┴────────────┘

Resource Usage

tpcds — base (merge-base)

Metric Value
Wall time 160.3s
Peak memory 5.5 GiB
Avg memory 4.5 GiB
CPU user 264.4s
CPU sys 17.5s
Peak spill 0 B

tpcds — branch

Metric Value
Wall time 159.4s
Peak memory 5.6 GiB
Avg memory 4.7 GiB
CPU user 263.0s
CPU sys 17.1s
Peak spill 0 B

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 reorder-by-groupby-keys
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                  HEAD ┃               reorder-by-groupby-keys ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0  │          1.28 / 4.73 ±6.67 / 18.07 ms │          1.25 / 4.62 ±6.52 / 17.66 ms │     no change │
│ QQuery 1  │        14.56 / 14.97 ±0.21 / 15.13 ms │        14.34 / 14.88 ±0.28 / 15.13 ms │     no change │
│ QQuery 2  │        43.37 / 43.88 ±0.33 / 44.39 ms │        43.20 / 43.87 ±0.36 / 44.22 ms │     no change │
│ QQuery 3  │        43.29 / 44.56 ±0.99 / 46.25 ms │        42.47 / 44.62 ±1.53 / 46.82 ms │     no change │
│ QQuery 4  │    289.84 / 306.80 ±18.77 / 341.47 ms │    288.89 / 312.34 ±18.60 / 334.32 ms │     no change │
│ QQuery 5  │    343.42 / 354.00 ±10.53 / 373.18 ms │    336.62 / 356.46 ±17.24 / 388.01 ms │     no change │
│ QQuery 6  │           5.22 / 6.67 ±1.61 / 9.61 ms │           5.12 / 6.58 ±0.97 / 7.80 ms │     no change │
│ QQuery 7  │        17.48 / 17.78 ±0.27 / 18.09 ms │        17.24 / 17.71 ±0.46 / 18.47 ms │     no change │
│ QQuery 8  │    412.09 / 441.72 ±17.31 / 461.75 ms │    423.80 / 446.54 ±15.37 / 465.94 ms │     no change │
│ QQuery 9  │    637.31 / 667.00 ±19.74 / 686.46 ms │    635.94 / 680.30 ±24.50 / 710.29 ms │     no change │
│ QQuery 10 │       94.82 / 97.35 ±3.50 / 104.15 ms │       92.79 / 96.10 ±3.25 / 102.31 ms │     no change │
│ QQuery 11 │     101.65 / 103.05 ±1.51 / 105.76 ms │     103.05 / 106.40 ±2.89 / 111.28 ms │     no change │
│ QQuery 12 │    334.40 / 359.12 ±17.23 / 378.43 ms │    339.15 / 361.45 ±13.98 / 378.21 ms │     no change │
│ QQuery 13 │     497.12 / 503.54 ±5.83 / 512.89 ms │    448.04 / 471.87 ±24.12 / 505.89 ms │ +1.07x faster │
│ QQuery 14 │    342.51 / 355.48 ±14.81 / 383.50 ms │    346.90 / 361.13 ±13.77 / 380.60 ms │     no change │
│ QQuery 15 │    351.58 / 380.27 ±28.37 / 433.00 ms │    360.30 / 388.60 ±25.96 / 435.29 ms │     no change │
│ QQuery 16 │    720.74 / 751.33 ±23.00 / 783.01 ms │    728.23 / 747.31 ±21.67 / 774.50 ms │     no change │
│ QQuery 17 │    710.22 / 741.30 ±18.23 / 766.65 ms │     731.01 / 744.34 ±9.70 / 758.50 ms │     no change │
│ QQuery 18 │ 1412.05 / 1508.58 ±49.48 / 1544.74 ms │ 1499.27 / 1530.60 ±30.63 / 1573.36 ms │     no change │
│ QQuery 19 │      39.15 / 53.67 ±28.08 / 109.83 ms │        36.49 / 39.12 ±2.84 / 44.29 ms │ +1.37x faster │
│ QQuery 20 │    715.15 / 741.68 ±21.66 / 770.06 ms │    729.02 / 738.92 ±13.20 / 765.09 ms │     no change │
│ QQuery 21 │    761.25 / 781.63 ±12.34 / 796.07 ms │     765.85 / 770.44 ±3.58 / 775.36 ms │     no change │
│ QQuery 22 │ 1138.07 / 1157.36 ±11.07 / 1169.13 ms │ 1140.09 / 1154.88 ±13.63 / 1173.98 ms │     no change │
│ QQuery 23 │ 3169.09 / 3224.13 ±36.93 / 3278.95 ms │ 3142.24 / 3222.97 ±46.19 / 3284.43 ms │     no change │
│ QQuery 24 │     101.00 / 103.16 ±1.65 / 104.68 ms │      99.04 / 107.30 ±5.16 / 114.87 ms │     no change │
│ QQuery 25 │     138.28 / 143.32 ±2.92 / 146.15 ms │     138.98 / 141.26 ±2.44 / 145.95 ms │     no change │
│ QQuery 26 │     100.65 / 106.72 ±3.55 / 111.71 ms │      98.64 / 106.32 ±4.19 / 111.12 ms │     no change │
│ QQuery 27 │     852.44 / 857.38 ±2.64 / 859.48 ms │     859.85 / 866.74 ±6.09 / 875.91 ms │     no change │
│ QQuery 28 │ 3281.08 / 3327.60 ±27.98 / 3364.11 ms │ 3306.47 / 3345.50 ±20.15 / 3363.08 ms │     no change │
│ QQuery 29 │        50.22 / 56.37 ±5.39 / 65.88 ms │        51.59 / 53.22 ±1.92 / 56.99 ms │ +1.06x faster │
│ QQuery 30 │    361.03 / 372.00 ±12.43 / 395.10 ms │    346.79 / 364.89 ±11.73 / 379.48 ms │     no change │
│ QQuery 31 │    373.46 / 387.57 ±14.76 / 413.03 ms │    365.72 / 382.61 ±17.52 / 415.28 ms │     no change │
│ QQuery 32 │ 1081.80 / 1113.80 ±29.61 / 1166.67 ms │ 1104.25 / 1250.81 ±97.38 / 1352.88 ms │  1.12x slower │
│ QQuery 33 │ 1455.50 / 1488.09 ±29.06 / 1538.84 ms │ 1444.85 / 1490.95 ±49.62 / 1585.33 ms │     no change │
│ QQuery 34 │ 1544.65 / 1577.64 ±22.02 / 1609.81 ms │ 1444.94 / 1560.07 ±60.66 / 1625.88 ms │     no change │
│ QQuery 35 │     453.78 / 462.31 ±5.30 / 468.06 ms │    457.62 / 470.29 ±11.01 / 484.50 ms │     no change │
│ QQuery 36 │     119.90 / 124.84 ±3.52 / 129.98 ms │     119.02 / 128.43 ±5.14 / 132.81 ms │     no change │
│ QQuery 37 │        48.13 / 50.19 ±1.32 / 52.25 ms │        51.22 / 52.82 ±1.95 / 55.82 ms │  1.05x slower │
│ QQuery 38 │        76.60 / 78.82 ±1.30 / 80.14 ms │        77.74 / 79.86 ±1.83 / 81.90 ms │     no change │
│ QQuery 39 │     216.72 / 229.17 ±9.14 / 243.79 ms │    209.64 / 227.17 ±13.81 / 246.54 ms │     no change │
│ QQuery 40 │        23.18 / 26.44 ±2.45 / 28.84 ms │        24.96 / 26.84 ±1.20 / 28.61 ms │     no change │
│ QQuery 41 │        20.70 / 24.05 ±2.41 / 28.08 ms │        21.15 / 22.06 ±0.84 / 23.64 ms │ +1.09x faster │
│ QQuery 42 │        20.39 / 21.31 ±0.97 / 23.18 ms │        19.82 / 20.76 ±0.71 / 21.64 ms │     no change │
└───────────┴───────────────────────────────────────┴───────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                      ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                      │ 23211.33ms │
│ Total Time (reorder-by-groupby-keys)   │ 23359.96ms │
│ Average Time (HEAD)                    │   539.80ms │
│ Average Time (reorder-by-groupby-keys) │   543.25ms │
│ Queries Faster                         │          4 │
│ Queries Slower                         │          2 │
│ Queries with No Change                 │         37 │
│ Queries with Failure                   │          0 │
└────────────────────────────────────────┴────────────┘

Resource Usage

clickbench_partitioned — base (merge-base)

Metric Value
Wall time 117.3s
Peak memory 45.8 GiB
Avg memory 30.4 GiB
CPU user 1103.3s
CPU sys 87.1s
Peak spill 0 B

clickbench_partitioned — branch

Metric Value
Wall time 117.9s
Peak memory 40.2 GiB
Avg memory 30.2 GiB
CPU user 1105.5s
CPU sys 91.4s
Peak spill 0 B

File an issue against this benchmark runner

…eshold

When the partial aggregate's hash table exceeds a configurable group
count threshold (default: 10000), emit accumulated state and reset.
This keeps the hash table small enough to fit in CPU cache, improving
performance for high-cardinality GROUP BY queries.

The downstream FinalPartitioned aggregate correctly merges multiple
partial emissions via merge_batch. For low-cardinality GROUP BY
queries, the threshold is never reached, so behavior is unchanged.

New config: datafusion.execution.partial_aggregation_group_count_emit_threshold

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@github-actions github-actions bot added the common Related to common crate label Apr 13, 2026
@Dandandan
Copy link
Copy Markdown
Contributor Author

run benchmarks

10000 groups was too aggressive — frequent emissions add overhead.
100000 groups (~20MB hash table) fits comfortably in L3 cache while
emitting infrequently enough to keep overhead negligible.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@adriangbot
Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c4237311314-1157-pr4tw 6.12.55+ #1 SMP Sun Feb 1 08:59:41 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 reorder-by-groupby-keys (beb8325) to 29c5dd5 (merge-base) diff using: tpch
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-c4237311314-1156-rgsvt 6.12.55+ #1 SMP Sun Feb 1 08:59:41 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 reorder-by-groupby-keys (beb8325) to 29c5dd5 (merge-base) diff using: tpcds
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-c4237311314-1155-lvklk 6.12.55+ #1 SMP Sun Feb 1 08:59:41 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 reorder-by-groupby-keys (beb8325) to 29c5dd5 (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 reorder-by-groupby-keys
--------------------
Benchmark tpcds_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓
┃ Query     ┃                                     HEAD ┃                  reorder-by-groupby-keys ┃       Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━┩
│ QQuery 1  │              6.77 / 7.21 ±0.71 / 8.63 ms │              6.54 / 7.01 ±0.78 / 8.57 ms │    no change │
│ QQuery 2  │        143.59 / 145.14 ±1.09 / 146.83 ms │        146.87 / 147.65 ±0.74 / 148.63 ms │    no change │
│ QQuery 3  │        113.86 / 114.28 ±0.22 / 114.48 ms │        114.89 / 115.46 ±0.65 / 116.67 ms │    no change │
│ QQuery 4  │    1355.24 / 1389.92 ±22.20 / 1420.51 ms │    1384.40 / 1413.72 ±16.72 / 1428.72 ms │    no change │
│ QQuery 5  │        172.47 / 173.93 ±1.06 / 175.41 ms │        172.91 / 174.90 ±1.08 / 175.78 ms │    no change │
│ QQuery 6  │       836.94 / 868.18 ±19.71 / 896.73 ms │       847.62 / 871.57 ±14.94 / 887.60 ms │    no change │
│ QQuery 7  │        340.83 / 344.07 ±2.20 / 346.45 ms │        342.89 / 345.57 ±1.83 / 347.87 ms │    no change │
│ QQuery 8  │        114.69 / 116.63 ±1.31 / 118.34 ms │        116.33 / 117.16 ±0.62 / 117.92 ms │    no change │
│ QQuery 9  │        100.78 / 104.57 ±3.07 / 108.12 ms │         96.68 / 105.20 ±4.27 / 107.79 ms │    no change │
│ QQuery 10 │        105.24 / 106.57 ±0.73 / 107.27 ms │        106.10 / 107.69 ±1.04 / 108.87 ms │    no change │
│ QQuery 11 │        967.13 / 978.23 ±9.04 / 993.54 ms │      991.77 / 1004.15 ±8.66 / 1017.15 ms │    no change │
│ QQuery 12 │           45.16 / 47.42 ±1.78 / 50.61 ms │           45.13 / 46.24 ±1.17 / 48.38 ms │    no change │
│ QQuery 13 │        400.38 / 402.70 ±2.55 / 407.57 ms │        403.76 / 405.84 ±1.15 / 406.94 ms │    no change │
│ QQuery 14 │     1004.86 / 1009.84 ±2.99 / 1013.75 ms │      993.85 / 1002.29 ±4.76 / 1007.82 ms │    no change │
│ QQuery 15 │           15.65 / 16.28 ±0.47 / 16.91 ms │           16.09 / 16.72 ±0.81 / 18.25 ms │    no change │
│ QQuery 16 │              7.21 / 7.81 ±0.75 / 9.28 ms │              7.20 / 7.99 ±0.77 / 9.46 ms │    no change │
│ QQuery 17 │        226.02 / 228.80 ±1.63 / 230.94 ms │        226.68 / 229.40 ±1.80 / 232.04 ms │    no change │
│ QQuery 18 │        125.73 / 127.12 ±0.94 / 127.97 ms │        126.80 / 128.15 ±1.19 / 130.21 ms │    no change │
│ QQuery 19 │        154.62 / 156.86 ±1.63 / 158.88 ms │        155.19 / 157.10 ±1.35 / 158.91 ms │    no change │
│ QQuery 20 │           14.01 / 14.49 ±0.31 / 14.78 ms │           13.45 / 14.51 ±0.61 / 15.19 ms │    no change │
│ QQuery 21 │           19.46 / 20.02 ±0.42 / 20.74 ms │           20.06 / 20.64 ±0.52 / 21.44 ms │    no change │
│ QQuery 22 │        486.45 / 490.09 ±2.35 / 492.80 ms │        484.87 / 486.39 ±1.55 / 489.08 ms │    no change │
│ QQuery 23 │       869.86 / 884.49 ±10.25 / 897.94 ms │        877.03 / 888.38 ±6.72 / 897.83 ms │    no change │
│ QQuery 24 │        380.73 / 384.22 ±2.94 / 389.23 ms │        382.22 / 386.92 ±4.02 / 391.73 ms │    no change │
│ QQuery 25 │        340.12 / 342.96 ±1.77 / 345.59 ms │        344.95 / 348.01 ±2.45 / 352.15 ms │    no change │
│ QQuery 26 │           80.73 / 82.47 ±1.31 / 84.52 ms │           81.72 / 82.68 ±0.63 / 83.63 ms │    no change │
│ QQuery 27 │              6.94 / 7.15 ±0.12 / 7.29 ms │              7.22 / 7.72 ±0.72 / 9.07 ms │ 1.08x slower │
│ QQuery 28 │        149.09 / 150.21 ±1.43 / 152.99 ms │        150.43 / 153.56 ±1.92 / 155.87 ms │    no change │
│ QQuery 29 │        281.19 / 282.76 ±1.11 / 284.31 ms │        286.42 / 287.58 ±0.88 / 288.70 ms │    no change │
│ QQuery 30 │           43.86 / 45.44 ±1.15 / 47.27 ms │           43.98 / 45.44 ±1.49 / 48.10 ms │    no change │
│ QQuery 31 │        171.02 / 172.83 ±1.86 / 175.25 ms │        171.38 / 174.33 ±1.71 / 176.53 ms │    no change │
│ QQuery 32 │           58.63 / 59.78 ±0.90 / 60.67 ms │           57.80 / 58.83 ±0.89 / 59.99 ms │    no change │
│ QQuery 33 │        140.68 / 142.44 ±1.45 / 144.66 ms │        142.98 / 144.31 ±1.02 / 146.05 ms │    no change │
│ QQuery 34 │              6.99 / 7.26 ±0.20 / 7.60 ms │              7.16 / 7.99 ±0.67 / 9.00 ms │ 1.10x slower │
│ QQuery 35 │        108.11 / 109.17 ±1.32 / 111.66 ms │        107.70 / 109.46 ±1.52 / 112.06 ms │    no change │
│ QQuery 36 │              6.56 / 6.85 ±0.17 / 7.02 ms │              6.99 / 7.10 ±0.10 / 7.25 ms │    no change │
│ QQuery 37 │              8.24 / 8.48 ±0.23 / 8.89 ms │              8.69 / 9.15 ±0.39 / 9.86 ms │ 1.08x slower │
│ QQuery 38 │           81.40 / 84.43 ±3.23 / 89.18 ms │           81.70 / 89.18 ±4.39 / 95.25 ms │ 1.06x slower │
│ QQuery 39 │        126.13 / 129.01 ±1.81 / 131.78 ms │        125.62 / 129.19 ±1.97 / 131.41 ms │    no change │
│ QQuery 40 │        108.13 / 113.73 ±5.91 / 123.54 ms │        110.45 / 116.01 ±6.97 / 129.67 ms │    no change │
│ QQuery 41 │           14.56 / 15.72 ±0.99 / 17.26 ms │           14.81 / 15.97 ±1.06 / 17.31 ms │    no change │
│ QQuery 42 │        107.79 / 110.52 ±1.66 / 112.98 ms │        110.88 / 111.62 ±0.92 / 113.40 ms │    no change │
│ QQuery 43 │              6.31 / 6.42 ±0.12 / 6.65 ms │              5.98 / 6.12 ±0.19 / 6.50 ms │    no change │
│ QQuery 44 │           11.89 / 12.39 ±0.41 / 13.12 ms │           11.87 / 12.66 ±0.81 / 14.22 ms │    no change │
│ QQuery 45 │           50.74 / 51.49 ±0.49 / 52.14 ms │           49.94 / 51.50 ±1.16 / 53.55 ms │    no change │
│ QQuery 46 │              8.68 / 8.91 ±0.34 / 9.58 ms │              8.43 / 8.81 ±0.49 / 9.71 ms │    no change │
│ QQuery 47 │        728.23 / 736.07 ±5.54 / 745.32 ms │        737.37 / 742.02 ±5.59 / 752.03 ms │    no change │
│ QQuery 48 │        280.38 / 287.89 ±5.83 / 297.14 ms │        288.18 / 292.72 ±2.87 / 296.73 ms │    no change │
│ QQuery 49 │        251.16 / 253.98 ±1.59 / 255.81 ms │        250.11 / 253.36 ±2.71 / 257.47 ms │    no change │
│ QQuery 50 │        222.48 / 226.00 ±2.59 / 229.74 ms │        226.33 / 229.59 ±2.04 / 231.78 ms │    no change │
│ QQuery 51 │        180.10 / 181.79 ±1.43 / 184.30 ms │        180.35 / 184.39 ±3.18 / 188.51 ms │    no change │
│ QQuery 52 │        106.90 / 107.74 ±0.52 / 108.29 ms │        108.20 / 110.74 ±1.98 / 114.19 ms │    no change │
│ QQuery 53 │        102.75 / 103.37 ±0.46 / 104.17 ms │        103.05 / 104.06 ±0.65 / 105.11 ms │    no change │
│ QQuery 54 │        146.84 / 147.44 ±0.47 / 148.14 ms │        144.80 / 148.27 ±1.83 / 149.84 ms │    no change │
│ QQuery 55 │        107.34 / 108.48 ±1.16 / 110.51 ms │        108.43 / 109.37 ±1.13 / 111.21 ms │    no change │
│ QQuery 56 │        140.39 / 142.44 ±1.99 / 145.04 ms │        141.81 / 143.16 ±1.27 / 145.23 ms │    no change │
│ QQuery 57 │        172.38 / 174.91 ±1.92 / 178.00 ms │        172.18 / 175.85 ±2.12 / 178.05 ms │    no change │
│ QQuery 58 │        295.14 / 304.17 ±6.51 / 315.23 ms │        283.23 / 293.11 ±5.08 / 296.81 ms │    no change │
│ QQuery 59 │        197.42 / 198.81 ±1.47 / 201.44 ms │        198.79 / 200.69 ±1.60 / 203.12 ms │    no change │
│ QQuery 60 │        143.53 / 144.69 ±0.97 / 146.32 ms │        144.44 / 146.04 ±1.16 / 147.72 ms │    no change │
│ QQuery 61 │           13.02 / 13.23 ±0.16 / 13.47 ms │           13.22 / 13.53 ±0.39 / 14.29 ms │    no change │
│ QQuery 62 │       921.58 / 934.39 ±19.28 / 972.69 ms │       905.68 / 917.02 ±11.06 / 937.51 ms │    no change │
│ QQuery 63 │        104.61 / 106.86 ±2.23 / 110.83 ms │        104.21 / 108.25 ±3.79 / 115.41 ms │    no change │
│ QQuery 64 │        693.35 / 698.98 ±4.76 / 705.40 ms │        682.99 / 689.33 ±3.91 / 693.71 ms │    no change │
│ QQuery 65 │        265.45 / 268.23 ±1.51 / 269.90 ms │        256.59 / 259.96 ±2.32 / 263.01 ms │    no change │
│ QQuery 66 │       242.31 / 258.96 ±11.19 / 271.86 ms │       232.93 / 253.65 ±12.86 / 269.56 ms │    no change │
│ QQuery 67 │        321.43 / 328.56 ±5.18 / 335.92 ms │        309.42 / 316.05 ±4.86 / 321.70 ms │    no change │
│ QQuery 68 │            8.88 / 10.18 ±1.61 / 13.31 ms │            8.28 / 11.02 ±1.96 / 13.27 ms │ 1.08x slower │
│ QQuery 69 │        101.51 / 104.27 ±3.03 / 109.79 ms │        102.66 / 104.71 ±1.50 / 106.59 ms │    no change │
│ QQuery 70 │       335.39 / 351.27 ±11.19 / 369.09 ms │        347.06 / 355.24 ±9.17 / 371.84 ms │    no change │
│ QQuery 71 │        134.42 / 136.66 ±2.30 / 139.72 ms │        136.36 / 138.81 ±2.50 / 143.25 ms │    no change │
│ QQuery 72 │        618.56 / 629.63 ±9.19 / 640.97 ms │        617.98 / 624.35 ±4.28 / 628.40 ms │    no change │
│ QQuery 73 │              6.82 / 7.91 ±1.00 / 9.71 ms │              7.57 / 8.51 ±0.76 / 9.48 ms │ 1.08x slower │
│ QQuery 74 │        602.53 / 612.10 ±6.19 / 621.87 ms │        616.67 / 619.29 ±3.16 / 625.39 ms │    no change │
│ QQuery 75 │        274.26 / 277.11 ±2.26 / 280.80 ms │        277.03 / 279.00 ±1.16 / 280.22 ms │    no change │
│ QQuery 76 │        130.81 / 132.81 ±1.53 / 134.56 ms │        133.00 / 134.04 ±0.87 / 135.12 ms │    no change │
│ QQuery 77 │        188.40 / 189.96 ±0.90 / 191.16 ms │        190.71 / 191.88 ±1.21 / 193.49 ms │    no change │
│ QQuery 78 │        340.89 / 345.16 ±4.62 / 351.82 ms │        336.87 / 344.26 ±4.11 / 348.31 ms │    no change │
│ QQuery 79 │        235.62 / 238.10 ±2.48 / 242.33 ms │        235.59 / 238.77 ±2.71 / 243.44 ms │    no change │
│ QQuery 80 │        319.66 / 322.93 ±1.90 / 325.57 ms │        318.97 / 322.32 ±2.43 / 326.49 ms │    no change │
│ QQuery 81 │           26.46 / 28.21 ±1.37 / 29.94 ms │           25.82 / 27.61 ±1.47 / 30.07 ms │    no change │
│ QQuery 82 │        196.75 / 199.21 ±1.81 / 201.74 ms │        199.95 / 201.42 ±1.37 / 203.34 ms │    no change │
│ QQuery 83 │           38.09 / 38.85 ±0.45 / 39.31 ms │           39.46 / 40.79 ±1.23 / 42.90 ms │    no change │
│ QQuery 84 │           48.55 / 51.04 ±1.83 / 53.29 ms │           47.92 / 49.02 ±1.03 / 50.81 ms │    no change │
│ QQuery 85 │        146.37 / 147.80 ±1.41 / 150.49 ms │        148.32 / 149.22 ±0.68 / 150.28 ms │    no change │
│ QQuery 86 │           39.43 / 39.86 ±0.45 / 40.67 ms │           38.96 / 40.32 ±1.12 / 42.24 ms │    no change │
│ QQuery 87 │           84.48 / 88.95 ±3.70 / 95.75 ms │           83.25 / 87.96 ±3.58 / 92.31 ms │    no change │
│ QQuery 88 │        100.36 / 101.27 ±0.72 / 102.48 ms │        100.84 / 106.45 ±8.78 / 123.92 ms │ 1.05x slower │
│ QQuery 89 │        119.34 / 120.17 ±1.43 / 123.02 ms │        118.49 / 119.14 ±0.34 / 119.51 ms │    no change │
│ QQuery 90 │           23.96 / 24.41 ±0.45 / 25.13 ms │           22.79 / 23.90 ±0.60 / 24.58 ms │    no change │
│ QQuery 91 │           62.57 / 63.55 ±0.78 / 64.74 ms │           61.46 / 64.09 ±1.54 / 65.95 ms │    no change │
│ QQuery 92 │           57.71 / 58.73 ±0.94 / 60.31 ms │           58.18 / 59.59 ±1.19 / 61.55 ms │    no change │
│ QQuery 93 │        184.11 / 187.48 ±1.90 / 189.49 ms │        185.41 / 188.26 ±2.33 / 192.35 ms │    no change │
│ QQuery 94 │           61.74 / 62.69 ±0.86 / 63.99 ms │           60.95 / 62.34 ±1.06 / 64.06 ms │    no change │
│ QQuery 95 │        127.55 / 129.40 ±1.76 / 132.42 ms │        128.05 / 128.64 ±0.56 / 129.54 ms │    no change │
│ QQuery 96 │           71.55 / 74.05 ±1.37 / 75.54 ms │           73.60 / 74.97 ±1.11 / 76.65 ms │    no change │
│ QQuery 97 │        125.57 / 126.54 ±0.80 / 127.66 ms │        126.95 / 128.43 ±1.61 / 131.45 ms │    no change │
│ QQuery 98 │        153.86 / 156.33 ±2.26 / 160.46 ms │        155.59 / 156.16 ±0.53 / 157.12 ms │    no change │
│ QQuery 99 │ 10817.13 / 10874.72 ±32.88 / 10908.64 ms │ 10816.79 / 10859.57 ±34.22 / 10908.12 ms │    no change │
└───────────┴──────────────────────────────────────────┴──────────────────────────────────────────┴──────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                      ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                      │ 31747.62ms │
│ Total Time (reorder-by-groupby-keys)   │ 31809.08ms │
│ Average Time (HEAD)                    │   320.68ms │
│ Average Time (reorder-by-groupby-keys) │   321.30ms │
│ Queries Faster                         │          0 │
│ Queries Slower                         │          7 │
│ Queries with No Change                 │         92 │
│ Queries with Failure                   │          0 │
└────────────────────────────────────────┴────────────┘

Resource Usage

tpcds — base (merge-base)

Metric Value
Wall time 159.1s
Peak memory 5.4 GiB
Avg memory 4.5 GiB
CPU user 262.0s
CPU sys 17.1s
Peak spill 0 B

tpcds — branch

Metric Value
Wall time 159.3s
Peak memory 5.1 GiB
Avg memory 4.4 GiB
CPU user 262.7s
CPU sys 16.4s
Peak spill 0 B

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 reorder-by-groupby-keys
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                  HEAD ┃               reorder-by-groupby-keys ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0  │          1.21 / 4.45 ±6.35 / 17.15 ms │          1.19 / 4.43 ±6.33 / 17.08 ms │     no change │
│ QQuery 1  │        14.27 / 14.46 ±0.13 / 14.63 ms │        14.25 / 14.86 ±0.31 / 15.07 ms │     no change │
│ QQuery 2  │        43.79 / 44.18 ±0.29 / 44.60 ms │        44.20 / 44.69 ±0.27 / 45.03 ms │     no change │
│ QQuery 3  │        42.49 / 44.53 ±2.16 / 47.29 ms │        43.29 / 44.70 ±1.05 / 45.90 ms │     no change │
│ QQuery 4  │     287.85 / 294.77 ±6.36 / 305.17 ms │    265.29 / 280.21 ±11.01 / 298.79 ms │     no change │
│ QQuery 5  │     345.72 / 348.86 ±3.19 / 354.48 ms │    347.02 / 362.49 ±14.71 / 389.88 ms │     no change │
│ QQuery 6  │           5.40 / 6.49 ±1.16 / 8.54 ms │           4.96 / 6.31 ±0.92 / 7.61 ms │     no change │
│ QQuery 7  │        16.54 / 17.11 ±0.59 / 17.92 ms │        16.82 / 17.02 ±0.17 / 17.32 ms │     no change │
│ QQuery 8  │     431.06 / 437.58 ±6.68 / 449.26 ms │    389.17 / 401.49 ±17.15 / 434.61 ms │ +1.09x faster │
│ QQuery 9  │     648.22 / 655.29 ±7.68 / 669.10 ms │     641.77 / 648.70 ±3.95 / 653.27 ms │     no change │
│ QQuery 10 │        92.35 / 93.81 ±1.44 / 96.26 ms │      95.13 / 100.03 ±5.51 / 107.76 ms │  1.07x slower │
│ QQuery 11 │     104.39 / 105.17 ±0.49 / 105.87 ms │     107.67 / 110.38 ±3.06 / 116.28 ms │     no change │
│ QQuery 12 │     342.44 / 348.06 ±4.54 / 354.46 ms │     340.85 / 348.97 ±8.98 / 365.47 ms │     no change │
│ QQuery 13 │    461.88 / 477.59 ±12.42 / 498.99 ms │     444.86 / 454.71 ±5.73 / 461.27 ms │     no change │
│ QQuery 14 │     347.05 / 349.43 ±2.36 / 352.30 ms │    347.10 / 368.29 ±11.28 / 378.49 ms │  1.05x slower │
│ QQuery 15 │    350.92 / 368.43 ±14.35 / 389.04 ms │     331.79 / 340.53 ±6.44 / 348.90 ms │ +1.08x faster │
│ QQuery 16 │     714.43 / 723.10 ±7.69 / 735.08 ms │    684.27 / 703.92 ±12.27 / 720.25 ms │     no change │
│ QQuery 17 │     709.73 / 716.40 ±4.16 / 721.82 ms │    689.44 / 710.33 ±15.59 / 729.11 ms │     no change │
│ QQuery 18 │ 1441.53 / 1482.07 ±30.21 / 1516.83 ms │ 1285.38 / 1322.15 ±21.42 / 1351.09 ms │ +1.12x faster │
│ QQuery 19 │       36.55 / 47.53 ±14.61 / 76.39 ms │        36.59 / 37.68 ±1.17 / 39.85 ms │ +1.26x faster │
│ QQuery 20 │    716.83 / 736.38 ±20.84 / 763.26 ms │     714.35 / 724.73 ±8.67 / 740.57 ms │     no change │
│ QQuery 21 │     765.33 / 774.84 ±7.99 / 789.27 ms │    767.17 / 781.29 ±15.26 / 811.02 ms │     no change │
│ QQuery 22 │  1138.58 / 1143.75 ±4.96 / 1152.15 ms │  1135.21 / 1140.92 ±4.15 / 1146.52 ms │     no change │
│ QQuery 23 │  3090.29 / 3099.37 ±9.79 / 3116.83 ms │  3071.34 / 3083.32 ±9.93 / 3098.79 ms │     no change │
│ QQuery 24 │      99.42 / 102.59 ±1.83 / 104.59 ms │     101.23 / 103.48 ±2.13 / 106.28 ms │     no change │
│ QQuery 25 │     138.58 / 140.61 ±1.54 / 142.77 ms │     139.02 / 141.76 ±2.95 / 147.48 ms │     no change │
│ QQuery 26 │     100.42 / 103.44 ±1.97 / 106.26 ms │      99.81 / 103.00 ±2.19 / 106.18 ms │     no change │
│ QQuery 27 │     853.29 / 857.69 ±2.27 / 859.60 ms │     854.67 / 860.01 ±5.54 / 867.48 ms │     no change │
│ QQuery 28 │ 3289.47 / 3308.66 ±12.69 / 3319.25 ms │ 3274.88 / 3317.14 ±23.04 / 3342.36 ms │     no change │
│ QQuery 29 │        49.33 / 56.39 ±9.41 / 75.05 ms │        50.42 / 55.31 ±4.73 / 64.36 ms │     no change │
│ QQuery 30 │     359.82 / 366.15 ±4.83 / 374.26 ms │    353.73 / 374.17 ±20.53 / 411.22 ms │     no change │
│ QQuery 31 │    356.65 / 375.55 ±13.11 / 393.02 ms │     366.68 / 371.71 ±3.17 / 376.29 ms │     no change │
│ QQuery 32 │ 1248.61 / 1285.33 ±35.02 / 1348.47 ms │ 1029.32 / 1046.95 ±22.26 / 1085.76 ms │ +1.23x faster │
│ QQuery 33 │ 1534.24 / 1590.81 ±44.59 / 1669.28 ms │ 1459.62 / 1545.08 ±52.35 / 1617.27 ms │     no change │
│ QQuery 34 │  1507.48 / 1522.68 ±9.10 / 1534.32 ms │ 1471.95 / 1502.54 ±27.82 / 1543.62 ms │     no change │
│ QQuery 35 │     388.00 / 390.35 ±1.66 / 392.59 ms │     308.19 / 315.64 ±5.40 / 322.37 ms │ +1.24x faster │
│ QQuery 36 │     121.22 / 122.72 ±0.91 / 123.72 ms │     113.59 / 115.98 ±2.02 / 119.67 ms │ +1.06x faster │
│ QQuery 37 │        49.78 / 51.45 ±1.56 / 54.05 ms │        49.02 / 50.89 ±1.07 / 52.23 ms │     no change │
│ QQuery 38 │        78.83 / 80.39 ±1.53 / 82.94 ms │        76.49 / 78.13 ±1.30 / 79.90 ms │     no change │
│ QQuery 39 │    206.94 / 218.69 ±10.62 / 233.61 ms │     200.65 / 209.20 ±9.82 / 227.61 ms │     no change │
│ QQuery 40 │        26.05 / 26.96 ±0.66 / 28.08 ms │        22.84 / 25.41 ±1.99 / 28.42 ms │ +1.06x faster │
│ QQuery 41 │        20.62 / 21.35 ±0.68 / 22.43 ms │        19.89 / 21.15 ±0.81 / 22.38 ms │     no change │
│ QQuery 42 │        18.84 / 20.48 ±1.23 / 22.61 ms │        19.26 / 20.08 ±0.52 / 20.65 ms │     no change │
└───────────┴───────────────────────────────────────┴───────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                      ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                      │ 22975.95ms │
│ Total Time (reorder-by-groupby-keys)   │ 22309.79ms │
│ Average Time (HEAD)                    │   534.32ms │
│ Average Time (reorder-by-groupby-keys) │   518.83ms │
│ Queries Faster                         │          8 │
│ Queries Slower                         │          2 │
│ Queries with No Change                 │         33 │
│ Queries with Failure                   │          0 │
└────────────────────────────────────────┴────────────┘

Resource Usage

clickbench_partitioned — base (merge-base)

Metric Value
Wall time 115.9s
Peak memory 36.4 GiB
Avg memory 26.3 GiB
CPU user 1076.1s
CPU sys 99.6s
Peak spill 0 B

clickbench_partitioned — branch

Metric Value
Wall time 112.7s
Peak memory 40.2 GiB
Avg memory 30.0 GiB
CPU user 1025.8s
CPU sys 77.6s
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

common Related to common crate datasource Changes to the datasource crate optimizer Optimizer rules physical-plan Changes to the physical-plan crate sqllogictest SQL Logic Tests (.slt)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants