Skip to content

Filter pushdown dynamic bytes/morsels + FileStream dynamic work scheduling#8

Closed
adriangb wants to merge 23 commits intomainfrom
filter-pushdown-dynamic-bytes-morsels
Closed

Filter pushdown dynamic bytes/morsels + FileStream dynamic work scheduling#8
adriangb wants to merge 23 commits intomainfrom
filter-pushdown-dynamic-bytes-morsels

Conversation

@adriangb
Copy link
Copy Markdown
Owner

Summary

  • Adaptive filter selectivity tracking for Parquet pushdown (commit 17e8370)
  • Merges Dynamic work scheduling in FileStream apache/datafusion#21351 (alamb/reschedule_io, "Dynamic work scheduling in FileStream") into this branch
  • Resolved merge conflict in datafusion/datasource/src/source.rs against the recent as_any removal (commit 03b390d), retaining the new OpenArgs / open_with_args / create_sibling_state APIs atop the DataSource: Any supertrait form
  • Added use std::any::Any; in file_scan_config/mod.rs so the incoming code still compiles after the as_any trait method was removed upstream

Test plan

  • cargo check --workspace --all-targets
  • cargo clippy -p datafusion-datasource --all-targets --all-features -- -D warnings
  • Full ./dev/rust_lint.sh
  • Workspace test suite

🤖 Generated with Claude Code

@adriangb
Copy link
Copy Markdown
Owner Author

run benchmarks

@adriangbot
Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c4272943640-1446-b9mtv 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 filter-pushdown-dynamic-bytes-morsels (5d6566a) to afc0784 (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-c4272943640-1447-sl2hv 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 filter-pushdown-dynamic-bytes-morsels (5d6566a) to afc0784 (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-c4272943640-1445-2sbpg 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 filter-pushdown-dynamic-bytes-morsels (5d6566a) to afc0784 (merge-base) diff using: clickbench_partitioned
Results will be posted here when complete


File an issue against this benchmark runner

…1074)

## Which issue does this PR close?

- Closes apache#18092.

## Rationale for this change

1. Migrating to the modern TypeSignature API:
[264030c/datafusion/expr-common/src/signature.rs](https://github.com/apache/datafusion/blob/264030cca76d0bdb4d8809f252b422e72624a345/datafusion/expr-common/src/signature.rs)

2. Coercing types of `approx_percentile_cont`,
`approx_percentile_cont_with_weight`, `approx_median` to floats. It
matches PostgreSQL, DuckDB, and ClickHouse behaviour, except for Spark.

## What changes are included in this PR?

- Port remaining UDFs (approx_percentile_cont,
approx_percentile_cont_with_weight, approx_median, stub functions) to
signature APIs
- Deprecate INTEGERS and NUMERICS arrays in favour of using the
TypeSignature API
- They are not removed yet, but marked as deprecated to avoid breaking
downstream
- Fix up a SLT for approx_percentile_cont, approx_median to make sure it
returns a float

## Are these changes tested?

- Tests are passing
- Updated tests to expect floats in return types

## Are there any user-facing changes?

- Signatures of `approx_percentile_cont`,
`approx_percentile_cont_with_weight`, `approx_median` changed, so they
now return floats instead of integers (as seen in tests)
@adriangb
Copy link
Copy Markdown
Owner Author

run benchmarks

baseline:
    ref: main
    env:
       DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: true
       DATAFUSION_EXECUTION_PARQUET_REORDER_FILTERS: true
changed:
    ref: HEAD
    env:
       DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: true

@adriangbot
Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c4272981204-1448-cfqw5 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 HEAD (5d6566a) to main 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-c4272981204-1449-7dvmj 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 HEAD (5d6566a) to main 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-c4272981204-1450-w8sv5 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 HEAD (5d6566a) to main diff using: tpch
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 filter-pushdown-dynamic-bytes-morsels
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                  HEAD ┃ filter-pushdown-dynamic-bytes-morsels ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0  │          1.17 / 4.35 ±6.27 / 16.88 ms │          1.20 / 4.42 ±6.35 / 17.12 ms │     no change │
│ QQuery 1  │        13.98 / 14.33 ±0.20 / 14.61 ms │        12.49 / 12.64 ±0.14 / 12.88 ms │ +1.13x faster │
│ QQuery 2  │        43.44 / 44.68 ±0.89 / 45.83 ms │        36.01 / 36.21 ±0.12 / 36.39 ms │ +1.23x faster │
│ QQuery 3  │        39.46 / 40.29 ±0.93 / 42.11 ms │        30.85 / 31.51 ±0.58 / 32.49 ms │ +1.28x faster │
│ QQuery 4  │     277.13 / 283.80 ±5.13 / 290.58 ms │     247.26 / 254.08 ±4.97 / 262.38 ms │ +1.12x faster │
│ QQuery 5  │     326.77 / 332.07 ±3.75 / 338.24 ms │     289.44 / 294.29 ±3.53 / 299.48 ms │ +1.13x faster │
│ QQuery 6  │           5.06 / 5.60 ±0.66 / 6.86 ms │           6.70 / 7.31 ±0.43 / 7.92 ms │  1.31x slower │
│ QQuery 7  │        15.92 / 16.89 ±0.54 / 17.39 ms │        13.39 / 13.65 ±0.17 / 13.84 ms │ +1.24x faster │
│ QQuery 8  │     402.25 / 409.33 ±3.68 / 412.47 ms │     354.27 / 357.30 ±2.48 / 360.69 ms │ +1.15x faster │
│ QQuery 9  │     618.41 / 628.84 ±8.23 / 643.30 ms │    499.60 / 519.40 ±12.36 / 534.27 ms │ +1.21x faster │
│ QQuery 10 │       88.93 / 93.16 ±4.07 / 100.77 ms │        73.12 / 75.76 ±2.77 / 81.12 ms │ +1.23x faster │
│ QQuery 11 │     102.13 / 103.48 ±1.19 / 105.50 ms │        84.04 / 84.59 ±0.37 / 85.04 ms │ +1.22x faster │
│ QQuery 12 │     330.69 / 335.26 ±5.65 / 345.74 ms │     285.35 / 293.29 ±5.81 / 301.22 ms │ +1.14x faster │
│ QQuery 13 │    444.05 / 454.29 ±10.71 / 473.82 ms │     412.50 / 416.92 ±2.53 / 419.78 ms │ +1.09x faster │
│ QQuery 14 │     337.81 / 341.28 ±2.01 / 343.96 ms │     300.75 / 301.87 ±0.64 / 302.54 ms │ +1.13x faster │
│ QQuery 15 │    344.38 / 364.64 ±20.08 / 392.33 ms │    311.59 / 329.91 ±15.65 / 354.29 ms │ +1.11x faster │
│ QQuery 16 │     701.49 / 706.27 ±3.90 / 712.85 ms │     662.70 / 669.90 ±7.51 / 679.96 ms │ +1.05x faster │
│ QQuery 17 │     694.57 / 700.51 ±3.87 / 705.76 ms │     660.87 / 664.76 ±4.49 / 673.46 ms │ +1.05x faster │
│ QQuery 18 │ 1400.78 / 1441.19 ±32.41 / 1482.78 ms │ 1346.84 / 1436.46 ±46.20 / 1472.38 ms │     no change │
│ QQuery 19 │        35.98 / 41.82 ±9.61 / 60.99 ms │        30.08 / 31.37 ±1.90 / 35.13 ms │ +1.33x faster │
│ QQuery 20 │    718.78 / 731.74 ±13.62 / 753.19 ms │     514.10 / 522.19 ±8.64 / 538.46 ms │ +1.40x faster │
│ QQuery 21 │     758.36 / 761.10 ±1.92 / 763.02 ms │     583.39 / 587.81 ±2.33 / 589.85 ms │ +1.29x faster │
│ QQuery 22 │  1123.83 / 1131.72 ±6.28 / 1142.40 ms │  1040.99 / 1045.18 ±3.18 / 1048.85 ms │ +1.08x faster │
│ QQuery 23 │ 3037.05 / 3075.29 ±23.79 / 3105.66 ms │ 3233.59 / 3254.84 ±17.88 / 3279.94 ms │  1.06x slower │
│ QQuery 24 │      99.60 / 103.55 ±2.70 / 106.74 ms │        44.71 / 46.58 ±2.11 / 50.08 ms │ +2.22x faster │
│ QQuery 25 │     139.37 / 140.75 ±1.41 / 143.14 ms │     113.18 / 114.21 ±0.86 / 115.31 ms │ +1.23x faster │
│ QQuery 26 │     100.17 / 102.08 ±1.57 / 104.93 ms │        42.59 / 44.10 ±0.89 / 45.03 ms │ +2.31x faster │
│ QQuery 27 │     841.58 / 845.15 ±1.99 / 847.63 ms │     654.17 / 659.03 ±5.24 / 668.42 ms │ +1.28x faster │
│ QQuery 28 │  3240.01 / 3246.69 ±8.35 / 3263.09 ms │ 2969.27 / 3000.01 ±18.11 / 3025.19 ms │ +1.08x faster │
│ QQuery 29 │        51.10 / 54.50 ±5.03 / 64.24 ms │        43.02 / 46.92 ±3.37 / 51.56 ms │ +1.16x faster │
│ QQuery 30 │     360.15 / 363.24 ±2.46 / 366.14 ms │    317.92 / 329.41 ±13.59 / 355.69 ms │ +1.10x faster │
│ QQuery 31 │    360.18 / 378.22 ±14.84 / 396.10 ms │    322.92 / 332.57 ±10.78 / 351.50 ms │ +1.14x faster │
│ QQuery 32 │ 1188.59 / 1244.83 ±34.86 / 1293.18 ms │  991.97 / 1013.52 ±35.19 / 1083.70 ms │ +1.23x faster │
│ QQuery 33 │ 1475.02 / 1512.20 ±22.44 / 1542.49 ms │  1399.08 / 1407.43 ±5.34 / 1413.00 ms │ +1.07x faster │
│ QQuery 34 │  1427.44 / 1438.98 ±8.66 / 1448.62 ms │  1437.23 / 1446.21 ±6.47 / 1455.23 ms │     no change │
│ QQuery 35 │     369.48 / 376.51 ±5.15 / 383.30 ms │     305.06 / 308.12 ±2.95 / 312.90 ms │ +1.22x faster │
│ QQuery 36 │     115.10 / 118.96 ±2.43 / 122.43 ms │        63.24 / 65.53 ±2.57 / 70.29 ms │ +1.82x faster │
│ QQuery 37 │        47.67 / 49.40 ±1.18 / 51.21 ms │        37.27 / 39.18 ±2.25 / 43.30 ms │ +1.26x faster │
│ QQuery 38 │        73.91 / 76.72 ±2.12 / 79.55 ms │        41.83 / 43.12 ±0.97 / 44.33 ms │ +1.78x faster │
│ QQuery 39 │     200.09 / 215.68 ±9.51 / 229.82 ms │     127.23 / 131.20 ±3.17 / 135.20 ms │ +1.64x faster │
│ QQuery 40 │        22.58 / 25.04 ±2.18 / 28.00 ms │        14.32 / 15.16 ±0.73 / 16.11 ms │ +1.65x faster │
│ QQuery 41 │        19.16 / 21.12 ±1.16 / 22.58 ms │        14.18 / 14.95 ±0.77 / 16.26 ms │ +1.41x faster │
│ QQuery 42 │        19.46 / 20.59 ±1.19 / 22.24 ms │        12.65 / 13.20 ±0.54 / 14.21 ms │ +1.56x faster │
└───────────┴───────────────────────────────────────┴───────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                                    ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                                    │ 22396.14ms │
│ Total Time (filter-pushdown-dynamic-bytes-morsels)   │ 20316.10ms │
│ Average Time (HEAD)                                  │   520.84ms │
│ Average Time (filter-pushdown-dynamic-bytes-morsels) │   472.47ms │
│ Queries Faster                                       │         38 │
│ Queries Slower                                       │          2 │
│ Queries with No Change                               │          3 │
│ Queries with Failure                                 │          0 │
└──────────────────────────────────────────────────────┴────────────┘

Resource Usage

clickbench_partitioned — base (merge-base)

Metric Value
Wall time 112.9s
Peak memory 36.0 GiB
Avg memory 26.8 GiB
CPU user 1054.1s
CPU sys 96.2s
Peak spill 0 B

clickbench_partitioned — branch

Metric Value
Wall time 102.5s
Peak memory 37.5 GiB
Avg memory 27.0 GiB
CPU user 1061.6s
CPU sys 81.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 filter-pushdown-dynamic-bytes-morsels
--------------------
Benchmark tpcds_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                     HEAD ┃    filter-pushdown-dynamic-bytes-morsels ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │              6.62 / 7.04 ±0.69 / 8.41 ms │              6.69 / 7.23 ±0.77 / 8.76 ms │     no change │
│ QQuery 2  │        150.84 / 151.54 ±0.56 / 152.26 ms │        146.85 / 147.73 ±0.79 / 148.69 ms │     no change │
│ QQuery 3  │        114.87 / 115.34 ±0.48 / 116.13 ms │        114.11 / 114.86 ±0.69 / 116.13 ms │     no change │
│ QQuery 4  │    1376.54 / 1398.41 ±17.90 / 1416.73 ms │    1350.02 / 1381.70 ±18.19 / 1401.19 ms │     no change │
│ QQuery 5  │        174.65 / 176.52 ±1.07 / 177.57 ms │        174.76 / 176.77 ±1.13 / 178.06 ms │     no change │
│ QQuery 6  │        859.15 / 873.50 ±8.24 / 882.06 ms │       847.12 / 869.25 ±21.33 / 909.65 ms │     no change │
│ QQuery 7  │        347.25 / 352.22 ±3.05 / 356.12 ms │        345.65 / 347.51 ±1.42 / 349.36 ms │     no change │
│ QQuery 8  │        118.00 / 119.24 ±1.13 / 121.21 ms │        116.86 / 118.15 ±0.75 / 118.78 ms │     no change │
│ QQuery 9  │        101.31 / 104.78 ±2.50 / 108.08 ms │        102.57 / 105.51 ±2.34 / 107.74 ms │     no change │
│ QQuery 10 │        107.75 / 108.76 ±0.76 / 109.47 ms │        106.96 / 107.81 ±0.78 / 109.09 ms │     no change │
│ QQuery 11 │     976.64 / 1022.33 ±64.97 / 1151.00 ms │        978.74 / 984.57 ±6.55 / 997.28 ms │     no change │
│ QQuery 12 │           47.41 / 48.78 ±1.42 / 51.49 ms │           47.60 / 48.26 ±0.59 / 49.28 ms │     no change │
│ QQuery 13 │        400.17 / 406.08 ±3.33 / 409.66 ms │        407.00 / 409.08 ±1.39 / 411.24 ms │     no change │
│ QQuery 14 │    1013.71 / 1025.53 ±11.05 / 1038.90 ms │      991.15 / 1008.47 ±9.32 / 1019.22 ms │     no change │
│ QQuery 15 │           16.38 / 17.72 ±1.43 / 20.34 ms │           15.86 / 17.60 ±1.00 / 18.78 ms │     no change │
│ QQuery 16 │              7.29 / 7.59 ±0.30 / 8.05 ms │              7.28 / 7.60 ±0.31 / 7.98 ms │     no change │
│ QQuery 17 │        234.62 / 237.01 ±2.32 / 241.31 ms │        230.19 / 232.76 ±2.00 / 235.57 ms │     no change │
│ QQuery 18 │        130.02 / 132.44 ±2.36 / 136.46 ms │        128.22 / 128.64 ±0.39 / 129.34 ms │     no change │
│ QQuery 19 │        156.64 / 158.34 ±1.48 / 160.72 ms │        155.98 / 157.54 ±1.39 / 159.86 ms │     no change │
│ QQuery 20 │           14.54 / 15.04 ±0.35 / 15.61 ms │           13.56 / 14.43 ±0.55 / 15.30 ms │     no change │
│ QQuery 21 │           20.22 / 20.75 ±0.31 / 21.17 ms │           19.62 / 19.98 ±0.33 / 20.51 ms │     no change │
│ QQuery 22 │        485.74 / 490.15 ±2.65 / 493.94 ms │        478.18 / 482.96 ±4.68 / 490.51 ms │     no change │
│ QQuery 23 │       901.00 / 912.36 ±10.28 / 929.66 ms │        881.15 / 890.20 ±5.01 / 895.85 ms │     no change │
│ QQuery 24 │        391.91 / 394.92 ±4.18 / 403.10 ms │        382.39 / 385.93 ±1.96 / 388.40 ms │     no change │
│ QQuery 25 │        346.18 / 349.73 ±3.14 / 355.44 ms │        344.10 / 345.59 ±1.28 / 347.16 ms │     no change │
│ QQuery 26 │           83.15 / 84.22 ±0.94 / 85.89 ms │           81.73 / 83.56 ±1.38 / 85.71 ms │     no change │
│ QQuery 27 │              6.76 / 7.33 ±0.59 / 8.44 ms │              6.89 / 7.17 ±0.26 / 7.57 ms │     no change │
│ QQuery 28 │        150.83 / 152.65 ±1.70 / 154.90 ms │        150.03 / 151.06 ±0.98 / 152.78 ms │     no change │
│ QQuery 29 │        285.41 / 287.86 ±1.93 / 289.78 ms │        282.26 / 284.99 ±2.02 / 288.41 ms │     no change │
│ QQuery 30 │           41.99 / 44.76 ±1.51 / 46.24 ms │           44.94 / 46.02 ±1.15 / 47.78 ms │     no change │
│ QQuery 31 │        171.18 / 173.95 ±1.45 / 175.06 ms │        170.96 / 172.93 ±1.08 / 174.07 ms │     no change │
│ QQuery 32 │           14.22 / 14.74 ±0.36 / 15.25 ms │           14.41 / 15.63 ±1.09 / 17.33 ms │  1.06x slower │
│ QQuery 33 │        142.76 / 144.18 ±1.25 / 146.32 ms │        140.10 / 143.08 ±1.61 / 144.45 ms │     no change │
│ QQuery 34 │              7.33 / 7.60 ±0.20 / 7.86 ms │              7.12 / 7.38 ±0.23 / 7.79 ms │     no change │
│ QQuery 35 │        109.16 / 111.05 ±1.66 / 113.14 ms │        106.55 / 109.15 ±1.32 / 110.25 ms │     no change │
│ QQuery 36 │              6.87 / 6.97 ±0.08 / 7.08 ms │              6.75 / 6.95 ±0.13 / 7.12 ms │     no change │
│ QQuery 37 │             8.84 / 9.34 ±0.52 / 10.30 ms │              8.49 / 9.07 ±0.33 / 9.43 ms │     no change │
│ QQuery 38 │           83.40 / 89.08 ±5.24 / 98.56 ms │           85.37 / 91.02 ±5.22 / 99.68 ms │     no change │
│ QQuery 39 │        127.30 / 130.50 ±2.49 / 133.34 ms │        124.72 / 129.49 ±2.86 / 132.49 ms │     no change │
│ QQuery 40 │        112.86 / 119.59 ±6.70 / 131.99 ms │        111.48 / 117.52 ±6.33 / 129.16 ms │     no change │
│ QQuery 41 │           14.86 / 16.13 ±1.18 / 17.83 ms │           14.49 / 14.84 ±0.24 / 15.16 ms │ +1.09x faster │
│ QQuery 42 │        108.09 / 109.98 ±1.68 / 112.06 ms │        109.43 / 110.37 ±0.99 / 112.25 ms │     no change │
│ QQuery 43 │              6.10 / 6.25 ±0.18 / 6.59 ms │              6.37 / 7.03 ±0.83 / 8.50 ms │  1.12x slower │
│ QQuery 44 │           12.06 / 12.68 ±0.89 / 14.43 ms │           12.25 / 13.00 ±1.10 / 15.16 ms │     no change │
│ QQuery 45 │           51.72 / 52.78 ±0.99 / 54.66 ms │           51.92 / 52.74 ±0.55 / 53.63 ms │     no change │
│ QQuery 46 │              8.60 / 8.93 ±0.29 / 9.48 ms │              8.61 / 9.01 ±0.42 / 9.67 ms │     no change │
│ QQuery 47 │        752.86 / 761.44 ±4.60 / 765.45 ms │        738.19 / 743.66 ±4.31 / 749.14 ms │     no change │
│ QQuery 48 │        295.03 / 300.19 ±4.19 / 304.62 ms │        291.79 / 294.79 ±3.29 / 300.68 ms │     no change │
│ QQuery 49 │        251.57 / 256.68 ±3.39 / 261.45 ms │        252.84 / 256.86 ±3.95 / 262.94 ms │     no change │
│ QQuery 50 │        232.42 / 234.39 ±2.16 / 238.55 ms │        221.01 / 227.68 ±4.11 / 233.10 ms │     no change │
│ QQuery 51 │        182.50 / 186.10 ±3.07 / 191.07 ms │        179.10 / 183.11 ±2.23 / 185.08 ms │     no change │
│ QQuery 52 │        108.82 / 110.88 ±2.46 / 115.56 ms │        107.11 / 108.93 ±1.17 / 110.77 ms │     no change │
│ QQuery 53 │        104.01 / 104.77 ±0.81 / 106.07 ms │        102.73 / 103.62 ±1.06 / 105.32 ms │     no change │
│ QQuery 54 │        147.99 / 150.51 ±1.79 / 153.52 ms │        146.15 / 147.26 ±0.96 / 148.70 ms │     no change │
│ QQuery 55 │        107.36 / 108.43 ±0.63 / 109.24 ms │        107.26 / 108.73 ±1.81 / 112.18 ms │     no change │
│ QQuery 56 │        141.81 / 144.15 ±1.65 / 146.11 ms │        140.34 / 142.01 ±2.29 / 146.45 ms │     no change │
│ QQuery 57 │        175.65 / 178.17 ±1.55 / 180.31 ms │        176.22 / 178.57 ±1.28 / 179.76 ms │     no change │
│ QQuery 58 │        272.96 / 279.09 ±5.07 / 287.41 ms │        270.67 / 275.72 ±3.03 / 280.17 ms │     no change │
│ QQuery 59 │        202.87 / 204.60 ±1.16 / 206.17 ms │        198.11 / 200.70 ±1.41 / 202.40 ms │     no change │
│ QQuery 60 │        144.89 / 147.18 ±1.53 / 149.40 ms │        143.74 / 146.77 ±1.64 / 148.47 ms │     no change │
│ QQuery 61 │           13.35 / 13.62 ±0.17 / 13.82 ms │           13.30 / 13.62 ±0.27 / 13.98 ms │     no change │
│ QQuery 62 │      904.60 / 959.97 ±43.87 / 1034.57 ms │       894.12 / 921.02 ±29.91 / 977.31 ms │     no change │
│ QQuery 63 │        107.96 / 110.65 ±1.93 / 112.69 ms │        103.99 / 106.29 ±1.73 / 108.40 ms │     no change │
│ QQuery 64 │        710.86 / 718.21 ±4.65 / 724.15 ms │        684.05 / 689.05 ±3.63 / 693.63 ms │     no change │
│ QQuery 65 │        269.99 / 272.56 ±2.04 / 275.84 ms │        249.55 / 256.71 ±5.21 / 264.77 ms │ +1.06x faster │
│ QQuery 66 │       239.72 / 260.18 ±11.99 / 274.83 ms │        243.94 / 258.21 ±7.64 / 264.96 ms │     no change │
│ QQuery 67 │       324.30 / 341.73 ±11.42 / 358.74 ms │        312.03 / 319.08 ±5.79 / 326.17 ms │ +1.07x faster │
│ QQuery 68 │            8.90 / 10.93 ±1.24 / 12.79 ms │           10.18 / 11.04 ±0.66 / 11.92 ms │     no change │
│ QQuery 69 │        104.08 / 105.91 ±1.50 / 107.56 ms │        100.89 / 104.08 ±1.89 / 106.42 ms │     no change │
│ QQuery 70 │       343.89 / 355.08 ±10.58 / 372.45 ms │        343.25 / 351.64 ±7.28 / 362.83 ms │     no change │
│ QQuery 71 │        138.42 / 140.11 ±1.93 / 143.86 ms │        135.11 / 137.60 ±2.36 / 140.54 ms │     no change │
│ QQuery 72 │        637.23 / 647.01 ±8.34 / 660.89 ms │        627.29 / 633.06 ±4.92 / 639.80 ms │     no change │
│ QQuery 73 │              7.36 / 8.74 ±0.85 / 9.67 ms │              6.60 / 7.87 ±0.98 / 9.48 ms │ +1.11x faster │
│ QQuery 74 │        634.32 / 642.23 ±6.70 / 650.45 ms │       608.50 / 621.31 ±11.53 / 635.96 ms │     no change │
│ QQuery 75 │        279.41 / 282.03 ±1.71 / 284.50 ms │        279.47 / 284.89 ±2.82 / 287.72 ms │     no change │
│ QQuery 76 │        132.55 / 134.35 ±1.08 / 135.57 ms │        134.14 / 135.74 ±1.61 / 138.11 ms │     no change │
│ QQuery 77 │        191.14 / 194.12 ±2.09 / 197.65 ms │        192.06 / 194.48 ±1.57 / 196.88 ms │     no change │
│ QQuery 78 │        349.68 / 355.40 ±4.33 / 360.23 ms │        348.59 / 351.25 ±2.48 / 355.05 ms │     no change │
│ QQuery 79 │        237.60 / 243.08 ±3.03 / 246.72 ms │        236.40 / 240.90 ±2.87 / 244.17 ms │     no change │
│ QQuery 80 │        327.30 / 328.57 ±0.87 / 329.71 ms │        327.06 / 331.22 ±3.32 / 336.95 ms │     no change │
│ QQuery 81 │           26.36 / 29.16 ±2.28 / 32.05 ms │           26.10 / 26.93 ±0.97 / 28.73 ms │ +1.08x faster │
│ QQuery 82 │           41.96 / 42.89 ±0.48 / 43.33 ms │           41.16 / 43.28 ±1.25 / 44.92 ms │     no change │
│ QQuery 83 │           41.01 / 42.00 ±0.86 / 43.03 ms │           39.61 / 40.85 ±0.83 / 42.20 ms │     no change │
│ QQuery 84 │           49.34 / 49.97 ±0.61 / 50.82 ms │           49.07 / 49.25 ±0.13 / 49.44 ms │     no change │
│ QQuery 85 │        150.54 / 152.19 ±0.92 / 153.21 ms │        148.92 / 150.80 ±1.29 / 152.52 ms │     no change │
│ QQuery 86 │           39.87 / 41.21 ±1.13 / 42.85 ms │           38.84 / 40.45 ±1.38 / 42.99 ms │     no change │
│ QQuery 87 │           83.66 / 88.69 ±2.98 / 93.03 ms │           84.69 / 89.00 ±3.80 / 95.23 ms │     no change │
│ QQuery 88 │        101.97 / 102.63 ±0.66 / 103.84 ms │        100.72 / 101.96 ±1.35 / 103.74 ms │     no change │
│ QQuery 89 │        120.48 / 122.31 ±1.09 / 123.50 ms │        120.11 / 121.28 ±0.78 / 122.15 ms │     no change │
│ QQuery 90 │           23.42 / 24.27 ±0.46 / 24.69 ms │           23.66 / 24.18 ±0.44 / 24.71 ms │     no change │
│ QQuery 91 │           63.79 / 64.78 ±0.50 / 65.14 ms │           63.82 / 65.37 ±1.19 / 66.98 ms │     no change │
│ QQuery 92 │           58.92 / 60.27 ±0.83 / 61.19 ms │           58.54 / 59.27 ±0.57 / 60.00 ms │     no change │
│ QQuery 93 │        193.78 / 195.84 ±1.96 / 199.24 ms │        188.34 / 190.81 ±2.11 / 194.50 ms │     no change │
│ QQuery 94 │           63.36 / 63.96 ±0.44 / 64.57 ms │           64.32 / 66.13 ±1.13 / 67.75 ms │     no change │
│ QQuery 95 │        132.58 / 133.85 ±1.03 / 135.28 ms │        131.85 / 133.80 ±1.68 / 136.24 ms │     no change │
│ QQuery 96 │           73.89 / 76.00 ±1.48 / 77.24 ms │           73.13 / 74.21 ±0.94 / 75.50 ms │     no change │
│ QQuery 97 │        127.09 / 131.40 ±2.74 / 135.63 ms │        125.12 / 127.66 ±1.90 / 129.82 ms │     no change │
│ QQuery 98 │        153.91 / 157.54 ±2.23 / 160.32 ms │        158.03 / 159.59 ±1.16 / 161.26 ms │     no change │
│ QQuery 99 │ 10803.91 / 10853.47 ±41.67 / 10916.51 ms │ 10820.55 / 10874.18 ±38.79 / 10932.05 ms │     no change │
└───────────┴──────────────────────────────────────────┴──────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                                    ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                                    │ 31960.16ms │
│ Total Time (filter-pushdown-dynamic-bytes-morsels)   │ 31618.59ms │
│ Average Time (HEAD)                                  │   322.83ms │
│ Average Time (filter-pushdown-dynamic-bytes-morsels) │   319.38ms │
│ Queries Faster                                       │          5 │
│ Queries Slower                                       │          2 │
│ Queries with No Change                               │         92 │
│ Queries with Failure                                 │          0 │
└──────────────────────────────────────────────────────┴────────────┘

Resource Usage

tpcds — base (merge-base)

Metric Value
Wall time 160.1s
Peak memory 5.5 GiB
Avg memory 4.4 GiB
CPU user 265.3s
CPU sys 17.7s
Peak spill 0 B

tpcds — branch

Metric Value
Wall time 158.4s
Peak memory 5.5 GiB
Avg memory 4.4 GiB
CPU user 262.7s
CPU sys 17.2s
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 filter-pushdown-dynamic-bytes-morsels
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                  HEAD ┃ filter-pushdown-dynamic-bytes-morsels ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0  │          1.19 / 4.37 ±6.29 / 16.95 ms │          1.17 / 4.41 ±6.36 / 17.13 ms │     no change │
│ QQuery 1  │        15.31 / 15.67 ±0.20 / 15.82 ms │        12.58 / 13.00 ±0.22 / 13.21 ms │ +1.21x faster │
│ QQuery 2  │        44.01 / 44.46 ±0.47 / 45.26 ms │        36.17 / 36.36 ±0.20 / 36.63 ms │ +1.22x faster │
│ QQuery 3  │        39.56 / 40.97 ±1.30 / 43.42 ms │        32.99 / 34.25 ±1.28 / 35.96 ms │ +1.20x faster │
│ QQuery 4  │     281.95 / 289.28 ±6.99 / 301.84 ms │    302.43 / 315.85 ±13.40 / 338.08 ms │  1.09x slower │
│ QQuery 5  │     331.60 / 335.38 ±3.24 / 339.88 ms │     325.68 / 330.19 ±3.88 / 337.39 ms │     no change │
│ QQuery 6  │           5.83 / 6.18 ±0.40 / 6.93 ms │           5.69 / 7.42 ±1.56 / 9.81 ms │  1.20x slower │
│ QQuery 7  │        22.00 / 22.58 ±0.52 / 23.46 ms │        14.96 / 15.76 ±0.75 / 17.14 ms │ +1.43x faster │
│ QQuery 8  │     399.64 / 415.64 ±8.97 / 425.73 ms │    395.40 / 411.33 ±19.61 / 449.66 ms │     no change │
│ QQuery 9  │     639.56 / 653.03 ±7.35 / 661.76 ms │     529.34 / 541.60 ±8.53 / 553.32 ms │ +1.21x faster │
│ QQuery 10 │     117.90 / 120.54 ±3.95 / 128.29 ms │      98.46 / 102.21 ±4.06 / 109.94 ms │ +1.18x faster │
│ QQuery 11 │     132.42 / 134.62 ±1.81 / 137.46 ms │     110.12 / 111.46 ±1.15 / 112.77 ms │ +1.21x faster │
│ QQuery 12 │     368.36 / 380.95 ±6.71 / 387.29 ms │     299.53 / 302.97 ±2.35 / 306.58 ms │ +1.26x faster │
│ QQuery 13 │     500.40 / 515.14 ±9.14 / 528.85 ms │    476.68 / 496.22 ±23.12 / 541.42 ms │     no change │
│ QQuery 14 │     393.26 / 395.83 ±1.94 / 398.94 ms │     341.85 / 345.60 ±3.48 / 352.13 ms │ +1.15x faster │
│ QQuery 15 │    354.37 / 378.03 ±20.82 / 413.44 ms │    326.44 / 346.48 ±24.64 / 390.99 ms │ +1.09x faster │
│ QQuery 16 │    708.74 / 731.80 ±25.52 / 781.02 ms │    683.82 / 698.62 ±16.97 / 731.27 ms │     no change │
│ QQuery 17 │     704.62 / 710.78 ±5.76 / 718.54 ms │     667.53 / 675.39 ±5.25 / 683.93 ms │     no change │
│ QQuery 18 │ 1428.25 / 1467.39 ±34.45 / 1524.68 ms │ 1453.91 / 1502.01 ±41.73 / 1558.29 ms │     no change │
│ QQuery 19 │        38.18 / 38.88 ±0.86 / 40.41 ms │      29.61 / 46.72 ±31.38 / 109.40 ms │  1.20x slower │
│ QQuery 20 │    713.73 / 738.33 ±25.47 / 781.04 ms │    516.32 / 530.39 ±15.60 / 558.53 ms │ +1.39x faster │
│ QQuery 21 │     730.74 / 739.17 ±7.58 / 750.96 ms │    575.75 / 583.49 ±10.04 / 603.29 ms │ +1.27x faster │
│ QQuery 22 │ 1186.03 / 1196.46 ±14.13 / 1224.02 ms │    789.71 / 805.09 ±10.93 / 819.42 ms │ +1.49x faster │
│ QQuery 23 │     261.63 / 270.44 ±6.79 / 277.67 ms │    195.32 / 261.54 ±35.34 / 296.61 ms │     no change │
│ QQuery 24 │        90.72 / 94.40 ±3.17 / 99.18 ms │        38.88 / 43.07 ±2.73 / 47.18 ms │ +2.19x faster │
│ QQuery 25 │     173.31 / 178.32 ±3.81 / 184.45 ms │     118.72 / 120.10 ±1.13 / 121.71 ms │ +1.48x faster │
│ QQuery 26 │     107.50 / 111.66 ±3.11 / 115.96 ms │        57.06 / 59.99 ±2.31 / 62.86 ms │ +1.86x faster │
│ QQuery 27 │   949.96 / 981.35 ±28.47 / 1018.02 ms │     638.81 / 646.04 ±8.11 / 661.20 ms │ +1.52x faster │
│ QQuery 28 │ 3360.79 / 3415.99 ±31.28 / 3451.96 ms │ 2973.31 / 3005.35 ±16.46 / 3018.64 ms │ +1.14x faster │
│ QQuery 29 │        51.59 / 53.92 ±3.11 / 59.92 ms │        43.49 / 46.29 ±3.24 / 52.09 ms │ +1.16x faster │
│ QQuery 30 │     371.19 / 377.21 ±5.53 / 386.53 ms │     329.76 / 331.84 ±2.21 / 335.87 ms │ +1.14x faster │
│ QQuery 31 │     366.82 / 372.71 ±4.82 / 378.57 ms │     328.70 / 331.48 ±2.60 / 336.13 ms │ +1.12x faster │
│ QQuery 32 │ 1038.94 / 1095.14 ±59.30 / 1201.08 ms │ 1188.18 / 1262.36 ±48.60 / 1338.68 ms │  1.15x slower │
│ QQuery 33 │ 1437.00 / 1454.60 ±11.70 / 1473.39 ms │ 1478.72 / 1524.21 ±35.44 / 1583.36 ms │     no change │
│ QQuery 34 │ 1444.52 / 1463.96 ±13.13 / 1485.58 ms │ 1510.05 / 1574.92 ±46.46 / 1634.13 ms │  1.08x slower │
│ QQuery 35 │     394.36 / 402.54 ±5.15 / 409.65 ms │     310.66 / 319.54 ±9.87 / 338.52 ms │ +1.26x faster │
│ QQuery 36 │     104.51 / 108.13 ±3.40 / 113.39 ms │        62.05 / 65.53 ±2.06 / 68.05 ms │ +1.65x faster │
│ QQuery 37 │        54.51 / 56.61 ±1.58 / 58.76 ms │        35.09 / 37.99 ±3.66 / 45.13 ms │ +1.49x faster │
│ QQuery 38 │        56.38 / 58.33 ±1.04 / 59.50 ms │        38.41 / 39.90 ±1.42 / 42.42 ms │ +1.46x faster │
│ QQuery 39 │     179.35 / 188.87 ±5.71 / 196.36 ms │     111.37 / 119.48 ±4.53 / 123.38 ms │ +1.58x faster │
│ QQuery 40 │        30.75 / 32.49 ±1.36 / 34.37 ms │        19.31 / 20.38 ±0.88 / 21.98 ms │ +1.59x faster │
│ QQuery 41 │        25.85 / 27.58 ±1.48 / 29.31 ms │        16.20 / 17.14 ±0.58 / 17.99 ms │ +1.61x faster │
│ QQuery 42 │        21.20 / 22.99 ±1.22 / 24.82 ms │        14.54 / 15.54 ±0.60 / 16.32 ms │ +1.48x faster │
└───────────┴───────────────────────────────────────┴───────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                                    ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                                    │ 20142.71ms │
│ Total Time (filter-pushdown-dynamic-bytes-morsels)   │ 18099.54ms │
│ Average Time (HEAD)                                  │   468.44ms │
│ Average Time (filter-pushdown-dynamic-bytes-morsels) │   420.92ms │
│ Queries Faster                                       │         29 │
│ Queries Slower                                       │          5 │
│ Queries with No Change                               │          9 │
│ Queries with Failure                                 │          0 │
└──────────────────────────────────────────────────────┴────────────┘

Resource Usage

clickbench_partitioned — base (merge-base)

Metric Value
Wall time 101.7s
Peak memory 37.0 GiB
Avg memory 27.4 GiB
CPU user 923.2s
CPU sys 88.0s
Peak spill 0 B

clickbench_partitioned — branch

Metric Value
Wall time 91.4s
Peak memory 36.7 GiB
Avg memory 26.8 GiB
CPU user 906.2s
CPU sys 100.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 filter-pushdown-dynamic-bytes-morsels
--------------------
Benchmark tpcds_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┓
┃ Query     ┃                                      HEAD ┃    filter-pushdown-dynamic-bytes-morsels ┃         Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━┩
│ QQuery 1  │               6.18 / 6.64 ±0.74 / 8.11 ms │              6.23 / 6.68 ±0.80 / 8.28 ms │      no change │
│ QQuery 2  │         113.23 / 114.38 ±1.29 / 116.15 ms │        110.02 / 110.62 ±0.47 / 111.24 ms │      no change │
│ QQuery 3  │         109.11 / 110.31 ±0.75 / 111.37 ms │        121.32 / 121.72 ±0.40 / 122.40 ms │   1.10x slower │
│ QQuery 4  │     1041.22 / 1072.51 ±32.92 / 1132.45 ms │     1080.99 / 1089.93 ±8.72 / 1105.26 ms │      no change │
│ QQuery 5  │         195.90 / 199.77 ±3.88 / 205.02 ms │        185.80 / 189.08 ±2.63 / 193.66 ms │  +1.06x faster │
│ QQuery 6  │        257.32 / 278.67 ±13.26 / 296.57 ms │        222.31 / 229.74 ±8.21 / 244.68 ms │  +1.21x faster │
│ QQuery 7  │         333.03 / 335.88 ±1.72 / 338.34 ms │        464.01 / 465.62 ±1.15 / 467.16 ms │   1.39x slower │
│ QQuery 8  │         157.30 / 164.64 ±3.82 / 167.83 ms │        145.40 / 147.35 ±1.45 / 149.64 ms │  +1.12x faster │
│ QQuery 9  │         237.15 / 251.23 ±7.27 / 256.80 ms │        100.37 / 103.36 ±1.94 / 105.25 ms │  +2.43x faster │
│ QQuery 10 │         165.33 / 172.98 ±7.57 / 187.29 ms │        157.01 / 162.33 ±4.24 / 167.30 ms │  +1.07x faster │
│ QQuery 11 │        675.02 / 695.94 ±11.92 / 707.84 ms │        717.05 / 727.94 ±7.18 / 736.61 ms │      no change │
│ QQuery 12 │            37.41 / 40.04 ±1.76 / 42.31 ms │           38.22 / 39.03 ±1.07 / 41.15 ms │      no change │
│ QQuery 13 │         562.70 / 572.44 ±6.94 / 584.08 ms │        528.98 / 535.35 ±5.52 / 542.00 ms │  +1.07x faster │
│ QQuery 14 │        905.93 / 920.56 ±11.31 / 939.22 ms │        883.28 / 892.28 ±5.83 / 899.94 ms │      no change │
│ QQuery 15 │            18.53 / 21.48 ±2.31 / 24.15 ms │           17.90 / 20.50 ±1.65 / 22.86 ms │      no change │
│ QQuery 16 │               7.05 / 7.33 ±0.31 / 7.89 ms │              6.83 / 7.52 ±0.90 / 9.30 ms │      no change │
│ QQuery 17 │         205.98 / 209.06 ±2.59 / 212.33 ms │        322.47 / 326.09 ±2.66 / 330.34 ms │   1.56x slower │
│ QQuery 18 │        338.52 / 439.43 ±63.77 / 499.87 ms │        314.16 / 319.78 ±5.02 / 326.98 ms │  +1.37x faster │
│ QQuery 19 │         142.32 / 146.97 ±3.74 / 151.64 ms │        174.85 / 178.19 ±2.10 / 180.59 ms │   1.21x slower │
│ QQuery 20 │            15.53 / 17.45 ±2.00 / 20.30 ms │           14.45 / 14.94 ±0.33 / 15.48 ms │  +1.17x faster │
│ QQuery 21 │            26.26 / 27.61 ±0.96 / 28.58 ms │           20.12 / 20.57 ±0.27 / 20.89 ms │  +1.34x faster │
│ QQuery 22 │         499.78 / 505.79 ±5.16 / 512.84 ms │        482.43 / 486.23 ±2.44 / 489.37 ms │      no change │
│ QQuery 23 │      1215.81 / 1224.71 ±7.23 / 1234.60 ms │     1185.48 / 1195.66 ±7.72 / 1209.41 ms │      no change │
│ QQuery 24 │         120.70 / 126.51 ±3.10 / 129.64 ms │        685.67 / 687.03 ±1.68 / 690.20 ms │   5.43x slower │
│ QQuery 25 │         301.09 / 304.69 ±5.06 / 314.14 ms │        565.18 / 572.34 ±3.76 / 576.18 ms │   1.88x slower │
│ QQuery 26 │         143.12 / 148.06 ±3.11 / 152.37 ms │        143.81 / 152.49 ±7.72 / 164.31 ms │      no change │
│ QQuery 27 │               6.52 / 6.94 ±0.35 / 7.55 ms │              6.48 / 7.31 ±0.79 / 8.34 ms │   1.05x slower │
│ QQuery 28 │         227.33 / 231.56 ±2.93 / 235.42 ms │        148.80 / 151.39 ±2.04 / 154.38 ms │  +1.53x faster │
│ QQuery 29 │         247.95 / 252.44 ±6.62 / 265.58 ms │        455.74 / 458.25 ±1.66 / 460.28 ms │   1.82x slower │
│ QQuery 30 │            55.57 / 58.34 ±2.80 / 63.27 ms │           48.28 / 50.26 ±1.86 / 53.13 ms │  +1.16x faster │
│ QQuery 31 │         176.47 / 179.21 ±1.54 / 181.18 ms │        186.20 / 189.11 ±2.66 / 193.51 ms │   1.06x slower │
│ QQuery 32 │            14.23 / 15.12 ±1.17 / 17.42 ms │           13.34 / 14.30 ±1.51 / 17.31 ms │  +1.06x faster │
│ QQuery 33 │         133.15 / 133.93 ±0.59 / 134.86 ms │        145.19 / 147.71 ±1.98 / 149.95 ms │   1.10x slower │
│ QQuery 34 │               6.67 / 7.03 ±0.33 / 7.62 ms │              6.72 / 7.04 ±0.31 / 7.62 ms │      no change │
│ QQuery 35 │         148.88 / 151.53 ±1.46 / 152.78 ms │        130.51 / 134.56 ±2.29 / 137.43 ms │  +1.13x faster │
│ QQuery 36 │               6.32 / 6.85 ±0.69 / 8.17 ms │              6.34 / 6.48 ±0.16 / 6.79 ms │  +1.06x faster │
│ QQuery 37 │               5.21 / 5.30 ±0.11 / 5.51 ms │              4.98 / 5.10 ±0.16 / 5.41 ms │      no change │
│ QQuery 38 │         102.50 / 108.69 ±4.05 / 114.69 ms │          95.20 / 99.23 ±3.68 / 105.97 ms │  +1.10x faster │
│ QQuery 39 │         134.48 / 139.33 ±3.52 / 144.72 ms │        127.56 / 129.69 ±1.76 / 132.78 ms │  +1.07x faster │
│ QQuery 40 │         133.29 / 137.97 ±7.06 / 152.01 ms │        116.75 / 119.40 ±2.86 / 124.84 ms │  +1.16x faster │
│ QQuery 41 │            14.38 / 15.21 ±0.64 / 16.03 ms │           16.16 / 17.86 ±1.47 / 20.30 ms │   1.17x slower │
│ QQuery 42 │         112.15 / 116.50 ±2.34 / 118.75 ms │        127.23 / 128.07 ±0.97 / 129.81 ms │   1.10x slower │
│ QQuery 43 │               5.81 / 5.91 ±0.15 / 6.21 ms │              5.77 / 5.90 ±0.15 / 6.20 ms │      no change │
│ QQuery 44 │            11.09 / 12.01 ±0.70 / 13.02 ms │           11.68 / 12.16 ±0.52 / 13.08 ms │      no change │
│ QQuery 45 │            45.40 / 46.20 ±1.00 / 48.15 ms │           75.79 / 76.65 ±0.60 / 77.62 ms │   1.66x slower │
│ QQuery 46 │               8.19 / 8.41 ±0.18 / 8.62 ms │              8.09 / 8.33 ±0.24 / 8.73 ms │      no change │
│ QQuery 47 │        768.53 / 786.10 ±12.82 / 798.87 ms │        666.05 / 677.31 ±5.77 / 681.59 ms │  +1.16x faster │
│ QQuery 48 │         489.12 / 498.03 ±5.81 / 505.63 ms │        341.41 / 355.13 ±7.39 / 362.93 ms │  +1.40x faster │
│ QQuery 49 │         287.59 / 292.59 ±3.79 / 298.03 ms │        299.91 / 303.21 ±2.72 / 307.78 ms │      no change │
│ QQuery 50 │         532.65 / 549.07 ±8.81 / 558.69 ms │        473.02 / 478.42 ±5.13 / 487.79 ms │  +1.15x faster │
│ QQuery 51 │         211.59 / 222.12 ±5.77 / 228.56 ms │        192.45 / 196.58 ±3.55 / 202.81 ms │  +1.13x faster │
│ QQuery 52 │         115.93 / 117.51 ±0.92 / 118.44 ms │        123.95 / 127.14 ±2.05 / 130.18 ms │   1.08x slower │
│ QQuery 53 │         144.31 / 150.76 ±4.18 / 155.47 ms │        130.85 / 131.85 ±1.12 / 133.98 ms │  +1.14x faster │
│ QQuery 54 │         124.75 / 131.72 ±4.66 / 138.20 ms │        154.92 / 157.45 ±2.38 / 160.43 ms │   1.20x slower │
│ QQuery 55 │         110.39 / 114.96 ±2.56 / 118.32 ms │        122.46 / 123.69 ±1.99 / 127.66 ms │   1.08x slower │
│ QQuery 56 │         130.68 / 135.91 ±2.98 / 138.91 ms │        146.43 / 147.30 ±0.67 / 148.18 ms │   1.08x slower │
│ QQuery 57 │         189.24 / 192.60 ±2.14 / 195.21 ms │        178.18 / 180.59 ±1.47 / 182.79 ms │  +1.07x faster │
│ QQuery 58 │         228.40 / 232.62 ±4.26 / 240.79 ms │        302.31 / 305.64 ±1.85 / 308.01 ms │   1.31x slower │
│ QQuery 59 │         290.31 / 294.99 ±3.75 / 301.21 ms │        226.14 / 226.63 ±0.60 / 227.76 ms │  +1.30x faster │
│ QQuery 60 │         142.95 / 144.32 ±0.92 / 145.82 ms │        148.83 / 150.80 ±1.47 / 153.30 ms │      no change │
│ QQuery 61 │            12.57 / 13.34 ±0.90 / 14.95 ms │           11.97 / 12.18 ±0.33 / 12.83 ms │  +1.10x faster │
│ QQuery 62 │      939.54 / 1015.27 ±39.09 / 1047.02 ms │       871.82 / 915.51 ±25.40 / 946.18 ms │  +1.11x faster │
│ QQuery 63 │         143.69 / 153.11 ±6.15 / 162.25 ms │        132.53 / 134.84 ±1.54 / 137.22 ms │  +1.14x faster │
│ QQuery 64 │ 28054.49 / 28870.18 ±613.08 / 29717.25 ms │        979.33 / 983.54 ±4.40 / 989.56 ms │ +29.35x faster │
│ QQuery 65 │         378.63 / 382.92 ±4.18 / 390.58 ms │        289.18 / 292.73 ±3.20 / 298.17 ms │  +1.31x faster │
│ QQuery 66 │         195.60 / 205.02 ±4.95 / 209.75 ms │        166.48 / 172.07 ±2.98 / 174.80 ms │  +1.19x faster │
│ QQuery 67 │         532.55 / 542.55 ±9.39 / 557.98 ms │        327.82 / 334.81 ±7.81 / 349.23 ms │  +1.62x faster │
│ QQuery 68 │             9.44 / 11.23 ±1.02 / 12.50 ms │            9.35 / 10.12 ±0.54 / 10.75 ms │  +1.11x faster │
│ QQuery 69 │         183.70 / 187.97 ±3.98 / 194.76 ms │        148.75 / 154.69 ±4.13 / 159.87 ms │  +1.22x faster │
│ QQuery 70 │         419.30 / 436.29 ±9.64 / 449.24 ms │       367.15 / 381.18 ±11.14 / 398.79 ms │  +1.14x faster │
│ QQuery 71 │         127.29 / 132.12 ±3.16 / 136.00 ms │        153.70 / 155.79 ±1.56 / 158.30 ms │   1.18x slower │
│ QQuery 72 │     1223.55 / 1240.19 ±12.10 / 1258.52 ms │     1047.70 / 1053.20 ±3.44 / 1057.11 ms │  +1.18x faster │
│ QQuery 73 │               7.16 / 7.75 ±0.39 / 8.35 ms │              6.50 / 6.73 ±0.25 / 7.15 ms │  +1.15x faster │
│ QQuery 74 │         561.15 / 569.08 ±6.66 / 580.41 ms │        476.67 / 483.94 ±3.86 / 487.92 ms │  +1.18x faster │
│ QQuery 75 │         299.65 / 301.92 ±2.65 / 307.00 ms │        289.20 / 290.53 ±1.63 / 293.74 ms │      no change │
│ QQuery 76 │         282.78 / 288.84 ±4.48 / 295.51 ms │        141.48 / 145.37 ±3.10 / 149.60 ms │  +1.99x faster │
│ QQuery 77 │         235.45 / 241.89 ±4.47 / 246.92 ms │        209.51 / 211.14 ±2.25 / 215.59 ms │  +1.15x faster │
│ QQuery 78 │         314.39 / 329.82 ±8.04 / 336.34 ms │        305.89 / 309.23 ±2.67 / 313.88 ms │  +1.07x faster │
│ QQuery 79 │         269.31 / 273.41 ±2.15 / 275.20 ms │        262.57 / 267.54 ±3.14 / 271.10 ms │      no change │
│ QQuery 80 │         291.85 / 294.61 ±1.48 / 296.04 ms │        290.12 / 292.32 ±1.58 / 294.34 ms │      no change │
│ QQuery 81 │            32.00 / 34.01 ±1.24 / 35.74 ms │           30.07 / 32.64 ±1.95 / 36.09 ms │      no change │
│ QQuery 82 │            50.14 / 52.56 ±2.10 / 55.55 ms │           42.81 / 45.18 ±1.49 / 47.28 ms │  +1.16x faster │
│ QQuery 83 │            48.93 / 49.17 ±0.20 / 49.49 ms │           42.90 / 43.83 ±0.78 / 44.85 ms │  +1.12x faster │
│ QQuery 84 │            66.60 / 67.85 ±1.06 / 69.64 ms │           63.49 / 64.07 ±0.38 / 64.66 ms │  +1.06x faster │
│ QQuery 85 │         285.05 / 302.80 ±9.88 / 314.44 ms │        286.15 / 288.93 ±1.82 / 291.82 ms │      no change │
│ QQuery 86 │            49.54 / 52.82 ±1.87 / 54.62 ms │           40.67 / 43.00 ±1.91 / 45.38 ms │  +1.23x faster │
│ QQuery 87 │         110.30 / 119.48 ±5.10 / 124.42 ms │         96.98 / 101.07 ±4.58 / 107.39 ms │  +1.18x faster │
│ QQuery 88 │         133.56 / 138.94 ±3.85 / 143.48 ms │        118.43 / 118.94 ±0.45 / 119.73 ms │  +1.17x faster │
│ QQuery 89 │         154.30 / 167.03 ±7.00 / 173.21 ms │        144.93 / 146.49 ±1.18 / 148.45 ms │  +1.14x faster │
│ QQuery 90 │            27.02 / 27.44 ±0.41 / 28.04 ms │           23.79 / 24.38 ±0.35 / 24.81 ms │  +1.13x faster │
│ QQuery 91 │         104.46 / 112.78 ±4.33 / 116.29 ms │         99.51 / 104.49 ±3.47 / 108.89 ms │  +1.08x faster │
│ QQuery 92 │            55.22 / 56.03 ±0.84 / 57.32 ms │           59.44 / 59.99 ±0.55 / 60.73 ms │   1.07x slower │
│ QQuery 93 │         200.01 / 201.84 ±1.41 / 203.86 ms │        184.94 / 187.34 ±2.40 / 190.62 ms │  +1.08x faster │
│ QQuery 94 │            65.47 / 72.13 ±4.53 / 79.51 ms │           67.96 / 69.61 ±1.28 / 71.41 ms │      no change │
│ QQuery 95 │         151.15 / 152.19 ±0.83 / 153.19 ms │        154.58 / 158.14 ±2.15 / 160.71 ms │      no change │
│ QQuery 96 │            91.34 / 93.04 ±1.24 / 94.57 ms │           82.79 / 83.32 ±0.42 / 83.99 ms │  +1.12x faster │
│ QQuery 97 │         160.12 / 162.71 ±3.38 / 169.21 ms │        136.78 / 138.29 ±1.42 / 140.46 ms │  +1.18x faster │
│ QQuery 98 │         121.45 / 127.25 ±3.53 / 131.57 ms │        125.39 / 127.36 ±1.34 / 128.81 ms │      no change │
│ QQuery 99 │  10717.56 / 10748.01 ±42.64 / 10830.90 ms │ 10656.43 / 10706.30 ±38.82 / 10772.45 ms │      no change │
└───────────┴───────────────────────────────────────────┴──────────────────────────────────────────┴────────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                                    ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                                    │ 61852.45ms │
│ Total Time (filter-pushdown-dynamic-bytes-morsels)   │ 33283.77ms │
│ Average Time (HEAD)                                  │   624.77ms │
│ Average Time (filter-pushdown-dynamic-bytes-morsels) │   336.20ms │
│ Queries Faster                                       │         52 │
│ Queries Slower                                       │         20 │
│ Queries with No Change                               │         27 │
│ Queries with Failure                                 │          0 │
└──────────────────────────────────────────────────────┴────────────┘

Resource Usage

tpcds — base (merge-base)

Metric Value
Wall time 309.6s
Peak memory 37.1 GiB
Avg memory 26.4 GiB
CPU user 606.6s
CPU sys 28.8s
Peak spill 0 B

tpcds — branch

Metric Value
Wall time 166.7s
Peak memory 5.7 GiB
Avg memory 4.5 GiB
CPU user 238.0s
CPU sys 14.8s
Peak spill 0 B

File an issue against this benchmark runner

AdamGS and others added 2 commits April 18, 2026 11:35
…encies (apache#21502)

## Which issue does this PR close?

- Closes #apache#21501.

## Rationale for this change

Running tests for `datafusion-expr` currently fails locally, but due to
feature unification with the `subtrait` dependency it does pass in CI.

## What changes are included in this PR?

Enables a feature for a dependency during tests.

## Are these changes tested?

Ran tests for the crate directly.

## Are there any user-facing changes?

None.

---------

Signed-off-by: Adam Gutglick <adamgsal@gmail.com>
## Which issue does this PR close?
 
<!--
We generally require a GitHub issue to be filed for all bug fixes and
enhancements and this helps us generate change logs for our releases.
You can link an issue to this PR using the GitHub syntax. For example
`Closes apache#123` indicates that this PR will close issue apache#123.
-->

- Closes apache#21709 

## Rationale for this change

<!--
Why are you proposing this change? If this is already explained clearly
in the issue then this section is not needed.
Explaining clearly why changes are proposed helps reviewers understand
your changes and offer better suggestions for fixes.
-->
The `keep_only_maxrows` function panics on wide tables, format string
treats the spaces variable as an index and the new code repeats the
space character directly. This prevents the format argument error.

## What changes are included in this PR?

<!--
There is no need to duplicate the description in the issue here but it
is sometimes worth providing a summary of the individual changes in this
PR.
-->

- replaces the format string in `keep_only_maxrows`.
- adds `print_maxrows_limited_wide_table` unit test.
- adds `test_cli_wide_result_set_no_crash` integration test.
- adds a wide result set snapshot file.

## Are these changes tested?

<!--
We typically require tests for all PRs in order to:
1. Prevent the code from being accidentally broken by subsequent changes
2. Serve as another way to document the expected behavior of the code

If tests are not included in your PR, please explain why (for example,
are they covered by existing tests)?
-->
Yes. I added unit and integration tests. The unit test passes a ten
column schema to `keep_only_maxrows` and the integration test runs a
wide query with a small row limit. These tests verify your format bug
fix.

## Are there any user-facing changes?
No
<!--
If there are user-facing changes then we may require documentation to be
updated before approving the PR.
-->

<!--
If there are any breaking changes to public APIs, please add the `api
change` label.
-->
@adriangb
Copy link
Copy Markdown
Owner Author

run benchmarks

baseline:
    ref: main
    env:
       DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: true
       DATAFUSION_EXECUTION_PARQUET_REORDER_FILTERS: true
changed:
    ref: HEAD
    env:
       DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: true

@adriangbot
Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c4274610437-1486-cwpwz 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 HEAD (65f0aab) to main 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-c4274610437-1484-4ttpv 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 HEAD (65f0aab) to main 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-c4274610437-1485-4d8f9 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 HEAD (65f0aab) to main 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 filter-pushdown-dynamic-bytes-morsels
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                  HEAD ┃ filter-pushdown-dynamic-bytes-morsels ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0  │          1.19 / 4.47 ±6.39 / 17.25 ms │          1.21 / 4.49 ±6.44 / 17.36 ms │     no change │
│ QQuery 1  │        16.19 / 16.48 ±0.28 / 16.98 ms │        12.93 / 13.40 ±0.25 / 13.65 ms │ +1.23x faster │
│ QQuery 2  │        45.29 / 45.67 ±0.23 / 45.93 ms │        38.59 / 38.76 ±0.14 / 38.98 ms │ +1.18x faster │
│ QQuery 3  │        41.00 / 41.58 ±0.77 / 43.04 ms │        31.96 / 32.18 ±0.21 / 32.54 ms │ +1.29x faster │
│ QQuery 4  │     286.48 / 290.74 ±2.79 / 294.80 ms │     260.55 / 266.93 ±4.15 / 273.18 ms │ +1.09x faster │
│ QQuery 5  │     339.33 / 344.51 ±5.23 / 352.12 ms │     295.49 / 304.31 ±7.24 / 316.69 ms │ +1.13x faster │
│ QQuery 6  │           6.08 / 6.61 ±0.52 / 7.54 ms │           5.01 / 5.77 ±0.72 / 6.75 ms │ +1.15x faster │
│ QQuery 7  │        21.95 / 25.69 ±5.29 / 36.20 ms │        14.42 / 14.70 ±0.15 / 14.85 ms │ +1.75x faster │
│ QQuery 8  │     411.70 / 422.61 ±7.59 / 434.83 ms │     373.13 / 376.96 ±2.83 / 381.37 ms │ +1.12x faster │
│ QQuery 9  │     656.41 / 667.46 ±9.16 / 681.74 ms │     527.62 / 533.97 ±7.98 / 548.80 ms │ +1.25x faster │
│ QQuery 10 │     120.66 / 122.93 ±2.50 / 127.61 ms │     100.13 / 102.34 ±2.62 / 107.44 ms │ +1.20x faster │
│ QQuery 11 │     134.21 / 136.23 ±1.72 / 138.28 ms │     110.67 / 111.43 ±0.57 / 112.15 ms │ +1.22x faster │
│ QQuery 12 │     371.57 / 382.37 ±9.96 / 400.65 ms │     294.91 / 300.04 ±7.22 / 314.19 ms │ +1.27x faster │
│ QQuery 13 │    480.22 / 496.03 ±15.27 / 517.62 ms │    458.45 / 483.98 ±20.97 / 509.15 ms │     no change │
│ QQuery 14 │     384.21 / 388.28 ±2.27 / 391.20 ms │     342.69 / 346.08 ±2.62 / 350.42 ms │ +1.12x faster │
│ QQuery 15 │     363.44 / 371.78 ±8.86 / 388.32 ms │    334.93 / 355.26 ±22.91 / 398.38 ms │     no change │
│ QQuery 16 │     718.81 / 726.38 ±6.74 / 735.54 ms │     685.39 / 695.03 ±5.57 / 702.07 ms │     no change │
│ QQuery 17 │     711.15 / 716.09 ±2.95 / 719.81 ms │     680.45 / 683.33 ±2.94 / 687.26 ms │     no change │
│ QQuery 18 │ 1416.89 / 1489.97 ±41.35 / 1532.31 ms │ 1343.95 / 1352.87 ±11.17 / 1374.31 ms │ +1.10x faster │
│ QQuery 19 │      37.52 / 51.18 ±25.78 / 102.72 ms │        29.29 / 30.48 ±1.03 / 32.01 ms │ +1.68x faster │
│ QQuery 20 │    718.47 / 737.73 ±17.27 / 761.66 ms │     510.69 / 515.06 ±4.24 / 523.17 ms │ +1.43x faster │
│ QQuery 21 │    741.69 / 755.39 ±12.94 / 772.01 ms │     580.25 / 583.65 ±4.63 / 592.82 ms │ +1.29x faster │
│ QQuery 22 │ 1174.00 / 1192.49 ±16.86 / 1212.76 ms │     795.41 / 804.51 ±5.62 / 812.98 ms │ +1.48x faster │
│ QQuery 23 │     265.74 / 272.20 ±4.04 / 276.54 ms │    136.50 / 249.28 ±59.10 / 305.30 ms │ +1.09x faster │
│ QQuery 24 │        90.96 / 94.64 ±2.21 / 97.62 ms │        37.40 / 41.36 ±2.47 / 44.73 ms │ +2.29x faster │
│ QQuery 25 │     170.93 / 177.22 ±4.42 / 182.58 ms │     119.08 / 120.65 ±1.06 / 121.79 ms │ +1.47x faster │
│ QQuery 26 │     107.84 / 112.64 ±4.37 / 120.31 ms │        58.67 / 60.89 ±1.51 / 62.70 ms │ +1.85x faster │
│ QQuery 27 │   976.29 / 993.06 ±10.50 / 1002.21 ms │     639.70 / 645.03 ±3.41 / 649.44 ms │ +1.54x faster │
│ QQuery 28 │ 3357.98 / 3416.11 ±30.23 / 3446.65 ms │ 2997.44 / 3032.28 ±18.50 / 3051.97 ms │ +1.13x faster │
│ QQuery 29 │        53.08 / 55.98 ±2.63 / 60.54 ms │        43.98 / 47.88 ±4.03 / 55.01 ms │ +1.17x faster │
│ QQuery 30 │     363.45 / 372.30 ±7.44 / 382.17 ms │     331.14 / 338.46 ±5.59 / 346.22 ms │ +1.10x faster │
│ QQuery 31 │    361.55 / 376.34 ±12.24 / 391.41 ms │     334.08 / 340.84 ±5.55 / 348.45 ms │ +1.10x faster │
│ QQuery 32 │ 1226.66 / 1289.16 ±50.33 / 1353.94 ms │  1023.58 / 1030.56 ±7.46 / 1043.70 ms │ +1.25x faster │
│ QQuery 33 │ 1493.83 / 1550.39 ±40.93 / 1616.23 ms │ 1440.84 / 1455.03 ±12.96 / 1477.81 ms │ +1.07x faster │
│ QQuery 34 │ 1490.67 / 1522.37 ±26.22 / 1557.57 ms │ 1487.95 / 1501.94 ±15.40 / 1530.02 ms │     no change │
│ QQuery 35 │     402.55 / 414.62 ±8.79 / 429.74 ms │     318.65 / 327.68 ±7.96 / 342.07 ms │ +1.27x faster │
│ QQuery 36 │      98.88 / 109.97 ±6.24 / 117.39 ms │        59.51 / 66.05 ±3.55 / 69.63 ms │ +1.66x faster │
│ QQuery 37 │        55.26 / 60.50 ±3.22 / 65.33 ms │        35.61 / 37.78 ±1.42 / 40.06 ms │ +1.60x faster │
│ QQuery 38 │        53.71 / 57.77 ±3.00 / 61.56 ms │        37.04 / 39.50 ±2.02 / 41.84 ms │ +1.46x faster │
│ QQuery 39 │    168.39 / 186.16 ±10.28 / 198.24 ms │     124.72 / 127.27 ±1.90 / 129.49 ms │ +1.46x faster │
│ QQuery 40 │        30.19 / 32.75 ±1.94 / 34.71 ms │        20.91 / 22.84 ±2.25 / 26.80 ms │ +1.43x faster │
│ QQuery 41 │        26.01 / 28.01 ±1.57 / 30.58 ms │        17.79 / 18.23 ±0.27 / 18.62 ms │ +1.54x faster │
│ QQuery 42 │        22.18 / 23.34 ±0.64 / 24.15 ms │        15.62 / 16.15 ±0.35 / 16.59 ms │ +1.45x faster │
└───────────┴───────────────────────────────────────┴───────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                                    ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                                    │ 20578.21ms │
│ Total Time (filter-pushdown-dynamic-bytes-morsels)   │ 17475.25ms │
│ Average Time (HEAD)                                  │   478.56ms │
│ Average Time (filter-pushdown-dynamic-bytes-morsels) │   406.40ms │
│ Queries Faster                                       │         37 │
│ Queries Slower                                       │          0 │
│ Queries with No Change                               │          6 │
│ Queries with Failure                                 │          0 │
└──────────────────────────────────────────────────────┴────────────┘

Resource Usage

clickbench_partitioned — base (merge-base)

Metric Value
Wall time 103.9s
Peak memory 33.7 GiB
Avg memory 25.6 GiB
CPU user 927.9s
CPU sys 103.8s
Peak spill 0 B

clickbench_partitioned — branch

Metric Value
Wall time 88.4s
Peak memory 38.1 GiB
Avg memory 31.5 GiB
CPU user 910.3s
CPU sys 73.5s
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 filter-pushdown-dynamic-bytes-morsels
--------------------
Benchmark tpcds_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┓
┃ Query     ┃                                      HEAD ┃    filter-pushdown-dynamic-bytes-morsels ┃         Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━┩
│ QQuery 1  │               6.20 / 6.66 ±0.78 / 8.21 ms │              6.40 / 6.77 ±0.71 / 8.20 ms │      no change │
│ QQuery 2  │        113.84 / 135.34 ±24.20 / 165.52 ms │        110.72 / 112.07 ±0.78 / 113.16 ms │  +1.21x faster │
│ QQuery 3  │         108.91 / 110.69 ±1.05 / 112.15 ms │        124.21 / 125.08 ±1.12 / 127.18 ms │   1.13x slower │
│ QQuery 4  │     1034.34 / 1056.08 ±16.01 / 1079.83 ms │    1012.65 / 1052.41 ±24.16 / 1075.50 ms │      no change │
│ QQuery 5  │         191.59 / 194.91 ±2.53 / 198.48 ms │        193.51 / 198.85 ±4.15 / 205.61 ms │      no change │
│ QQuery 6  │         249.80 / 260.26 ±7.31 / 270.70 ms │       240.72 / 258.61 ±10.00 / 269.71 ms │      no change │
│ QQuery 7  │         323.19 / 331.96 ±5.86 / 341.19 ms │        334.69 / 343.18 ±5.66 / 351.39 ms │      no change │
│ QQuery 8  │         151.57 / 160.08 ±4.34 / 163.49 ms │        169.79 / 170.79 ±1.18 / 173.07 ms │   1.07x slower │
│ QQuery 9  │         239.61 / 244.24 ±3.44 / 248.74 ms │         99.75 / 104.49 ±2.42 / 106.30 ms │  +2.34x faster │
│ QQuery 10 │         169.58 / 173.95 ±3.19 / 179.23 ms │        166.22 / 172.49 ±3.62 / 176.42 ms │      no change │
│ QQuery 11 │         696.69 / 702.75 ±6.00 / 713.79 ms │        697.28 / 700.36 ±2.05 / 703.21 ms │      no change │
│ QQuery 12 │            37.70 / 39.77 ±1.76 / 43.01 ms │           35.20 / 37.02 ±1.13 / 38.73 ms │  +1.07x faster │
│ QQuery 13 │        534.25 / 552.32 ±14.94 / 569.55 ms │        571.58 / 582.57 ±7.94 / 591.89 ms │   1.05x slower │
│ QQuery 14 │         897.55 / 909.46 ±8.92 / 924.47 ms │        870.38 / 882.68 ±9.88 / 896.18 ms │      no change │
│ QQuery 15 │            19.87 / 21.84 ±2.53 / 26.72 ms │           18.19 / 20.47 ±3.25 / 26.83 ms │  +1.07x faster │
│ QQuery 16 │               6.95 / 7.20 ±0.28 / 7.69 ms │              6.94 / 7.46 ±0.54 / 8.49 ms │      no change │
│ QQuery 17 │         202.53 / 205.69 ±2.97 / 209.42 ms │        196.76 / 199.38 ±2.81 / 204.25 ms │      no change │
│ QQuery 18 │        345.46 / 451.27 ±62.87 / 510.54 ms │       307.79 / 320.26 ±10.93 / 339.71 ms │  +1.41x faster │
│ QQuery 19 │         140.04 / 144.27 ±2.80 / 147.33 ms │        143.14 / 144.42 ±1.28 / 146.21 ms │      no change │
│ QQuery 20 │            15.50 / 16.14 ±0.48 / 16.73 ms │           14.29 / 15.71 ±1.15 / 17.22 ms │      no change │
│ QQuery 21 │            26.50 / 27.41 ±0.66 / 28.06 ms │           21.27 / 21.96 ±0.59 / 22.84 ms │  +1.25x faster │
│ QQuery 22 │         500.18 / 504.23 ±3.04 / 509.58 ms │        489.74 / 498.02 ±4.29 / 501.91 ms │      no change │
│ QQuery 23 │     1212.35 / 1224.66 ±11.77 / 1241.77 ms │     1199.26 / 1211.06 ±9.17 / 1227.43 ms │      no change │
│ QQuery 24 │         122.39 / 125.18 ±2.74 / 130.22 ms │        124.99 / 126.77 ±1.47 / 129.07 ms │      no change │
│ QQuery 25 │         296.71 / 301.56 ±3.17 / 305.48 ms │        321.38 / 323.93 ±2.02 / 326.51 ms │   1.07x slower │
│ QQuery 26 │         140.44 / 148.57 ±5.66 / 157.15 ms │        140.85 / 148.38 ±6.17 / 157.99 ms │      no change │
│ QQuery 27 │               6.60 / 7.46 ±0.89 / 8.88 ms │              6.53 / 6.74 ±0.16 / 6.91 ms │  +1.11x faster │
│ QQuery 28 │         226.38 / 229.35 ±2.63 / 234.20 ms │        149.41 / 150.33 ±1.02 / 152.19 ms │  +1.53x faster │
│ QQuery 29 │         237.04 / 253.37 ±9.16 / 262.69 ms │        241.80 / 243.43 ±1.28 / 245.01 ms │      no change │
│ QQuery 30 │            54.36 / 58.94 ±4.76 / 67.84 ms │           54.08 / 56.57 ±2.25 / 60.13 ms │      no change │
│ QQuery 31 │         177.79 / 180.66 ±1.67 / 182.88 ms │        167.16 / 169.08 ±1.02 / 170.12 ms │  +1.07x faster │
│ QQuery 32 │            14.88 / 15.50 ±0.62 / 16.47 ms │           13.33 / 13.86 ±0.37 / 14.46 ms │  +1.12x faster │
│ QQuery 33 │         130.08 / 133.50 ±2.48 / 136.35 ms │        130.31 / 131.07 ±0.47 / 131.71 ms │      no change │
│ QQuery 34 │               7.13 / 7.63 ±0.77 / 9.13 ms │              6.98 / 7.37 ±0.29 / 7.68 ms │      no change │
│ QQuery 35 │         149.37 / 152.93 ±2.17 / 155.50 ms │        133.63 / 134.38 ±0.61 / 135.47 ms │  +1.14x faster │
│ QQuery 36 │               6.32 / 7.08 ±1.14 / 9.33 ms │              6.19 / 6.72 ±0.43 / 7.25 ms │  +1.05x faster │
│ QQuery 37 │               5.32 / 5.77 ±0.52 / 6.45 ms │              5.05 / 5.10 ±0.04 / 5.17 ms │  +1.13x faster │
│ QQuery 38 │         105.04 / 108.35 ±4.28 / 116.65 ms │         98.82 / 101.63 ±2.59 / 106.07 ms │  +1.07x faster │
│ QQuery 39 │         136.33 / 139.02 ±1.87 / 140.92 ms │        131.62 / 134.31 ±1.58 / 136.25 ms │      no change │
│ QQuery 40 │         131.04 / 138.06 ±7.24 / 152.06 ms │        126.94 / 130.90 ±6.59 / 143.99 ms │  +1.05x faster │
│ QQuery 41 │            13.98 / 15.55 ±0.84 / 16.27 ms │           15.39 / 16.47 ±0.97 / 18.02 ms │   1.06x slower │
│ QQuery 42 │         110.17 / 113.98 ±2.17 / 116.60 ms │        108.18 / 111.77 ±2.12 / 114.09 ms │      no change │
│ QQuery 43 │               5.84 / 6.05 ±0.25 / 6.46 ms │              5.68 / 5.82 ±0.15 / 6.10 ms │      no change │
│ QQuery 44 │            11.21 / 12.03 ±0.80 / 13.54 ms │           10.87 / 11.49 ±0.44 / 12.20 ms │      no change │
│ QQuery 45 │            45.09 / 45.97 ±1.01 / 47.92 ms │           42.26 / 43.98 ±1.40 / 46.18 ms │      no change │
│ QQuery 46 │               8.15 / 8.77 ±0.38 / 9.25 ms │              8.34 / 8.53 ±0.19 / 8.80 ms │      no change │
│ QQuery 47 │        783.33 / 817.68 ±30.25 / 873.25 ms │        742.92 / 750.49 ±4.76 / 755.43 ms │  +1.09x faster │
│ QQuery 48 │         480.35 / 487.18 ±5.55 / 494.47 ms │        399.09 / 407.12 ±7.07 / 416.24 ms │  +1.20x faster │
│ QQuery 49 │         280.94 / 285.96 ±4.06 / 292.62 ms │        238.93 / 241.49 ±2.61 / 244.86 ms │  +1.18x faster │
│ QQuery 50 │         531.11 / 542.49 ±9.88 / 559.31 ms │        502.34 / 507.79 ±5.93 / 515.69 ms │  +1.07x faster │
│ QQuery 51 │         219.18 / 221.85 ±1.52 / 223.50 ms │        205.10 / 209.57 ±2.79 / 213.23 ms │  +1.06x faster │
│ QQuery 52 │         109.76 / 115.70 ±3.69 / 119.92 ms │        105.26 / 111.21 ±3.07 / 113.79 ms │      no change │
│ QQuery 53 │         135.91 / 144.52 ±4.37 / 148.03 ms │        167.78 / 169.08 ±0.66 / 169.55 ms │   1.17x slower │
│ QQuery 54 │         130.33 / 133.53 ±2.81 / 137.66 ms │        126.91 / 130.02 ±2.86 / 133.71 ms │      no change │
│ QQuery 55 │         108.65 / 114.76 ±3.22 / 117.85 ms │        110.08 / 112.78 ±1.58 / 114.42 ms │      no change │
│ QQuery 56 │         132.54 / 135.88 ±1.86 / 138.29 ms │        127.89 / 132.92 ±2.59 / 134.86 ms │      no change │
│ QQuery 57 │         189.26 / 192.23 ±2.50 / 196.44 ms │        187.67 / 189.81 ±1.82 / 191.88 ms │      no change │
│ QQuery 58 │         227.03 / 229.29 ±1.56 / 231.82 ms │        227.21 / 228.29 ±0.90 / 229.51 ms │      no change │
│ QQuery 59 │         272.94 / 283.41 ±5.35 / 287.66 ms │        278.24 / 279.48 ±1.02 / 281.01 ms │      no change │
│ QQuery 60 │         138.53 / 139.75 ±1.01 / 141.20 ms │        135.92 / 138.26 ±2.17 / 141.52 ms │      no change │
│ QQuery 61 │            12.31 / 12.60 ±0.43 / 13.45 ms │           11.96 / 12.38 ±0.34 / 12.81 ms │      no change │
│ QQuery 62 │       932.26 / 964.74 ±27.28 / 1012.12 ms │      875.75 / 970.85 ±50.02 / 1010.69 ms │      no change │
│ QQuery 63 │         145.21 / 149.11 ±4.84 / 158.66 ms │        166.70 / 171.02 ±3.41 / 176.83 ms │   1.15x slower │
│ QQuery 64 │ 27741.91 / 28430.95 ±601.72 / 29236.53 ms │        865.45 / 870.72 ±4.47 / 876.23 ms │ +32.65x faster │
│ QQuery 65 │         347.70 / 365.46 ±9.92 / 376.15 ms │        351.71 / 363.72 ±6.54 / 370.57 ms │      no change │
│ QQuery 66 │         199.40 / 200.56 ±1.04 / 202.10 ms │        190.59 / 195.34 ±2.40 / 196.87 ms │      no change │
│ QQuery 67 │        490.17 / 503.05 ±13.18 / 524.09 ms │       483.74 / 500.39 ±10.82 / 512.47 ms │      no change │
│ QQuery 68 │               8.09 / 9.28 ±0.65 / 9.84 ms │            8.56 / 10.68 ±1.60 / 13.07 ms │   1.15x slower │
│ QQuery 69 │         173.96 / 178.18 ±4.01 / 185.39 ms │        158.05 / 160.83 ±1.68 / 162.84 ms │  +1.11x faster │
│ QQuery 70 │         417.38 / 433.28 ±9.05 / 444.51 ms │       438.06 / 453.95 ±12.94 / 476.67 ms │      no change │
│ QQuery 71 │         127.25 / 130.86 ±2.86 / 134.38 ms │        126.48 / 129.02 ±1.78 / 131.55 ms │      no change │
│ QQuery 72 │      1191.39 / 1199.58 ±5.03 / 1206.92 ms │     1074.79 / 1082.37 ±4.45 / 1087.20 ms │  +1.11x faster │
│ QQuery 73 │               6.45 / 6.91 ±0.39 / 7.58 ms │              6.77 / 6.93 ±0.09 / 7.03 ms │      no change │
│ QQuery 74 │         490.03 / 501.22 ±5.95 / 506.08 ms │        496.15 / 503.36 ±6.00 / 512.80 ms │      no change │
│ QQuery 75 │         287.72 / 290.19 ±1.93 / 293.66 ms │        268.48 / 274.21 ±3.66 / 278.29 ms │  +1.06x faster │
│ QQuery 76 │         266.44 / 277.79 ±6.12 / 283.54 ms │        269.25 / 272.55 ±3.02 / 277.89 ms │      no change │
│ QQuery 77 │         228.28 / 229.92 ±1.78 / 232.83 ms │        224.15 / 227.00 ±2.19 / 229.25 ms │      no change │
│ QQuery 78 │         300.37 / 304.72 ±2.24 / 306.75 ms │        298.13 / 304.52 ±5.70 / 314.28 ms │      no change │
│ QQuery 79 │         251.88 / 260.02 ±4.37 / 264.68 ms │        254.63 / 258.25 ±2.80 / 261.23 ms │      no change │
│ QQuery 80 │         275.24 / 282.76 ±4.10 / 287.76 ms │        277.53 / 284.59 ±3.71 / 288.50 ms │      no change │
│ QQuery 81 │            31.01 / 31.58 ±0.41 / 32.15 ms │           30.43 / 32.73 ±1.61 / 35.00 ms │      no change │
│ QQuery 82 │            47.05 / 50.03 ±1.95 / 52.36 ms │           44.60 / 46.14 ±1.48 / 48.68 ms │  +1.08x faster │
│ QQuery 83 │            44.66 / 45.97 ±1.04 / 47.51 ms │           43.39 / 44.28 ±0.63 / 45.29 ms │      no change │
│ QQuery 84 │            64.80 / 65.25 ±0.39 / 65.82 ms │           64.56 / 65.68 ±0.67 / 66.43 ms │      no change │
│ QQuery 85 │         273.65 / 283.39 ±5.61 / 288.79 ms │        288.53 / 292.83 ±2.63 / 295.40 ms │      no change │
│ QQuery 86 │            46.89 / 49.38 ±2.29 / 53.65 ms │           41.17 / 43.69 ±2.64 / 48.38 ms │  +1.13x faster │
│ QQuery 87 │         102.95 / 107.50 ±4.02 / 114.70 ms │        102.14 / 104.32 ±2.19 / 108.13 ms │      no change │
│ QQuery 88 │         128.18 / 131.73 ±3.74 / 137.47 ms │        121.15 / 122.46 ±0.75 / 123.26 ms │  +1.08x faster │
│ QQuery 89 │         153.91 / 162.76 ±5.26 / 169.63 ms │        169.28 / 173.68 ±3.43 / 177.25 ms │   1.07x slower │
│ QQuery 90 │            23.22 / 25.79 ±1.74 / 28.28 ms │           21.78 / 24.07 ±2.41 / 28.56 ms │  +1.07x faster │
│ QQuery 91 │          99.23 / 103.86 ±5.50 / 114.45 ms │        100.73 / 105.58 ±4.43 / 112.41 ms │      no change │
│ QQuery 92 │            50.49 / 53.11 ±1.48 / 54.80 ms │           57.34 / 60.24 ±2.13 / 63.48 ms │   1.13x slower │
│ QQuery 93 │         186.23 / 187.29 ±1.14 / 189.48 ms │        185.28 / 187.36 ±2.80 / 192.89 ms │      no change │
│ QQuery 94 │            63.79 / 68.58 ±2.51 / 70.93 ms │           68.37 / 70.22 ±1.56 / 73.02 ms │      no change │
│ QQuery 95 │         148.44 / 150.55 ±1.28 / 151.73 ms │        160.29 / 162.86 ±1.87 / 165.97 ms │   1.08x slower │
│ QQuery 96 │            81.63 / 86.13 ±2.33 / 88.26 ms │           87.26 / 91.51 ±3.14 / 94.74 ms │   1.06x slower │
│ QQuery 97 │         149.55 / 151.99 ±1.50 / 153.39 ms │        148.38 / 153.16 ±4.46 / 160.18 ms │      no change │
│ QQuery 98 │         121.33 / 122.63 ±1.33 / 124.63 ms │        113.87 / 118.13 ±2.63 / 121.25 ms │      no change │
│ QQuery 99 │  10679.66 / 10713.43 ±21.00 / 10743.92 ms │ 10723.93 / 10763.85 ±31.40 / 10820.33 ms │      no change │
└───────────┴───────────────────────────────────────────┴──────────────────────────────────────────┴────────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                                    ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                                    │ 60862.81ms │
│ Total Time (filter-pushdown-dynamic-bytes-morsels)   │ 32598.50ms │
│ Average Time (HEAD)                                  │   614.78ms │
│ Average Time (filter-pushdown-dynamic-bytes-morsels) │   329.28ms │
│ Queries Faster                                       │         28 │
│ Queries Slower                                       │         12 │
│ Queries with No Change                               │         59 │
│ Queries with Failure                                 │          0 │
└──────────────────────────────────────────────────────┴────────────┘

Resource Usage

tpcds — base (merge-base)

Metric Value
Wall time 304.7s
Peak memory 37.5 GiB
Avg memory 27.0 GiB
CPU user 593.3s
CPU sys 26.3s
Peak spill 0 B

tpcds — branch

Metric Value
Wall time 163.3s
Peak memory 5.1 GiB
Avg memory 4.3 GiB
CPU user 223.8s
CPU sys 22.8s
Peak spill 0 B

File an issue against this benchmark runner

## Which issue does this PR close?
- Closes apache#2547

## Rationale for this change
Related with apache#20830  all operator does not support operators above. 


## What changes are included in this PR?
Adds support for other expressions and add tests

This is a question actually I've checked behaviors of Postgresql and
Duckdb about null semantics and continued with the Postgresql behavior.
However, I'm not sure if we want this so also put Duckdb outputs. It
would be great to have feedback on this

| Query | PostgreSQL | This PR | DuckDB |
  |---|---|---|---|
  | `5 = ALL(NULL::INT[])` | `NULL` | `NULL` | `true` |
  | `5 <> ALL(NULL::INT[])` | `NULL` | `NULL` | `true` |
  | `5 > ALL(NULL::INT[])` | `NULL` | `NULL` | `true` |
  | `5 < ALL(NULL::INT[])` | `NULL` | `NULL` | `true` |
  | `5 >= ALL(NULL::INT[])` | `NULL` | `NULL` | `true` |
  | `5 <= ALL(NULL::INT[])` | `NULL` | `NULL` | `true` |

## Are these changes tested?
Added slt tests for this and they all pass

## Are there any user-facing changes?
Yes user's can now use all operator with this new expressions

---------

Co-authored-by: Jeffrey Vo <jeffrey.vo.australia@gmail.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 filter-pushdown-dynamic-bytes-morsels
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                  HEAD ┃ filter-pushdown-dynamic-bytes-morsels ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0  │          1.20 / 4.50 ±6.44 / 17.39 ms │          1.19 / 4.45 ±6.36 / 17.17 ms │     no change │
│ QQuery 1  │        15.57 / 15.85 ±0.17 / 16.11 ms │        12.76 / 13.33 ±0.29 / 13.53 ms │ +1.19x faster │
│ QQuery 2  │        43.88 / 44.45 ±0.35 / 44.83 ms │        37.36 / 37.62 ±0.26 / 38.09 ms │ +1.18x faster │
│ QQuery 3  │        39.96 / 40.81 ±0.70 / 41.88 ms │        31.00 / 31.46 ±0.37 / 31.84 ms │ +1.30x faster │
│ QQuery 4  │     283.24 / 291.72 ±5.21 / 299.61 ms │     251.12 / 256.08 ±3.32 / 260.68 ms │ +1.14x faster │
│ QQuery 5  │     336.77 / 341.23 ±4.40 / 349.32 ms │     295.31 / 303.84 ±5.16 / 311.24 ms │ +1.12x faster │
│ QQuery 6  │         6.72 / 11.03 ±5.25 / 18.89 ms │           5.38 / 6.04 ±0.65 / 7.21 ms │ +1.83x faster │
│ QQuery 7  │        21.80 / 22.66 ±0.58 / 23.58 ms │        14.23 / 14.45 ±0.18 / 14.69 ms │ +1.57x faster │
│ QQuery 8  │     410.11 / 418.36 ±7.50 / 431.89 ms │     363.37 / 368.83 ±4.19 / 374.47 ms │ +1.13x faster │
│ QQuery 9  │     653.68 / 664.77 ±7.07 / 673.12 ms │    514.56 / 532.35 ±11.52 / 550.89 ms │ +1.25x faster │
│ QQuery 10 │     116.69 / 119.94 ±2.40 / 123.93 ms │      99.09 / 101.37 ±3.45 / 108.22 ms │ +1.18x faster │
│ QQuery 11 │     132.09 / 133.45 ±1.41 / 135.75 ms │     108.18 / 109.95 ±1.17 / 111.64 ms │ +1.21x faster │
│ QQuery 12 │     378.87 / 386.41 ±4.62 / 391.22 ms │     291.29 / 298.47 ±7.38 / 309.18 ms │ +1.29x faster │
│ QQuery 13 │    490.45 / 500.84 ±12.50 / 523.99 ms │     461.90 / 464.75 ±3.35 / 470.80 ms │ +1.08x faster │
│ QQuery 14 │     380.42 / 384.62 ±3.79 / 391.37 ms │     338.36 / 342.30 ±2.99 / 346.83 ms │ +1.12x faster │
│ QQuery 15 │    351.23 / 365.31 ±16.72 / 397.20 ms │    329.58 / 347.43 ±16.64 / 376.68 ms │     no change │
│ QQuery 16 │    716.06 / 724.86 ±12.83 / 749.81 ms │     680.48 / 688.34 ±7.38 / 698.30 ms │ +1.05x faster │
│ QQuery 17 │     709.61 / 716.42 ±4.44 / 723.30 ms │     673.55 / 678.92 ±5.39 / 688.71 ms │ +1.06x faster │
│ QQuery 18 │ 1400.57 / 1462.66 ±38.64 / 1514.97 ms │ 1371.01 / 1458.10 ±47.81 / 1503.90 ms │     no change │
│ QQuery 19 │        37.59 / 41.45 ±4.82 / 50.70 ms │       29.83 / 35.51 ±10.16 / 55.79 ms │ +1.17x faster │
│ QQuery 20 │    715.65 / 729.83 ±17.11 / 755.27 ms │     514.91 / 521.81 ±7.95 / 537.21 ms │ +1.40x faster │
│ QQuery 21 │    718.18 / 737.58 ±11.76 / 753.11 ms │     563.20 / 574.57 ±8.21 / 586.79 ms │ +1.28x faster │
│ QQuery 22 │ 1163.67 / 1181.27 ±14.42 / 1205.43 ms │     787.77 / 799.41 ±6.50 / 806.96 ms │ +1.48x faster │
│ QQuery 23 │     263.07 / 269.41 ±5.48 / 279.49 ms │    184.97 / 245.15 ±35.06 / 286.49 ms │ +1.10x faster │
│ QQuery 24 │       93.79 / 97.13 ±2.64 / 101.56 ms │        42.25 / 45.08 ±4.06 / 53.03 ms │ +2.15x faster │
│ QQuery 25 │     172.41 / 179.11 ±4.98 / 186.10 ms │     118.27 / 118.84 ±0.54 / 119.75 ms │ +1.51x faster │
│ QQuery 26 │     108.32 / 112.82 ±4.59 / 119.11 ms │        58.43 / 59.69 ±0.79 / 60.67 ms │ +1.89x faster │
│ QQuery 27 │   961.38 / 991.22 ±28.03 / 1043.99 ms │     642.40 / 648.69 ±7.44 / 662.78 ms │ +1.53x faster │
│ QQuery 28 │ 3387.28 / 3405.87 ±12.91 / 3419.51 ms │ 3008.19 / 3038.15 ±31.88 / 3091.02 ms │ +1.12x faster │
│ QQuery 29 │        50.59 / 56.64 ±6.33 / 65.75 ms │        43.57 / 48.39 ±5.31 / 57.22 ms │ +1.17x faster │
│ QQuery 30 │     364.50 / 372.17 ±5.56 / 378.86 ms │     329.76 / 335.96 ±5.61 / 345.88 ms │ +1.11x faster │
│ QQuery 31 │    351.12 / 369.31 ±16.25 / 393.20 ms │     328.05 / 336.73 ±4.97 / 342.72 ms │ +1.10x faster │
│ QQuery 32 │ 1215.91 / 1270.56 ±45.06 / 1346.98 ms │ 1229.75 / 1265.21 ±46.09 / 1352.67 ms │     no change │
│ QQuery 33 │ 1512.20 / 1543.24 ±29.16 / 1595.11 ms │ 1549.23 / 1567.53 ±13.95 / 1589.41 ms │     no change │
│ QQuery 34 │ 1510.25 / 1595.18 ±53.28 / 1659.60 ms │ 1482.13 / 1514.58 ±22.63 / 1544.12 ms │ +1.05x faster │
│ QQuery 35 │    392.70 / 419.78 ±48.05 / 515.71 ms │     317.44 / 324.38 ±5.73 / 332.50 ms │ +1.29x faster │
│ QQuery 36 │     106.00 / 107.91 ±1.97 / 111.22 ms │        61.00 / 65.76 ±3.26 / 68.70 ms │ +1.64x faster │
│ QQuery 37 │        50.83 / 57.03 ±3.21 / 60.10 ms │        34.20 / 37.19 ±1.86 / 40.02 ms │ +1.53x faster │
│ QQuery 38 │        56.52 / 58.36 ±1.43 / 59.99 ms │        36.56 / 39.53 ±1.60 / 40.92 ms │ +1.48x faster │
│ QQuery 39 │     171.55 / 180.70 ±7.18 / 190.28 ms │     124.59 / 130.70 ±4.37 / 138.12 ms │ +1.38x faster │
│ QQuery 40 │        31.44 / 32.08 ±0.45 / 32.84 ms │        20.68 / 23.42 ±3.19 / 29.33 ms │ +1.37x faster │
│ QQuery 41 │        26.75 / 28.54 ±1.41 / 30.44 ms │        17.42 / 18.54 ±1.24 / 20.45 ms │ +1.54x faster │
│ QQuery 42 │        22.29 / 23.09 ±0.51 / 23.72 ms │        15.65 / 16.22 ±0.58 / 17.21 ms │ +1.42x faster │
└───────────┴───────────────────────────────────────┴───────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                                    ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                                    │ 20510.17ms │
│ Total Time (filter-pushdown-dynamic-bytes-morsels)   │ 17869.11ms │
│ Average Time (HEAD)                                  │   476.98ms │
│ Average Time (filter-pushdown-dynamic-bytes-morsels) │   415.56ms │
│ Queries Faster                                       │         38 │
│ Queries Slower                                       │          0 │
│ Queries with No Change                               │          5 │
│ Queries with Failure                                 │          0 │
└──────────────────────────────────────────────────────┴────────────┘

Resource Usage

clickbench_partitioned — base (merge-base)

Metric Value
Wall time 105.0s
Peak memory 33.6 GiB
Avg memory 26.0 GiB
CPU user 925.8s
CPU sys 103.0s
Peak spill 0 B

clickbench_partitioned — branch

Metric Value
Wall time 95.0s
Peak memory 35.2 GiB
Avg memory 25.2 GiB
CPU user 907.4s
CPU sys 89.7s
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 filter-pushdown-dynamic-bytes-morsels
--------------------
Benchmark tpcds_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                     HEAD ┃    filter-pushdown-dynamic-bytes-morsels ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │              6.65 / 7.10 ±0.67 / 8.43 ms │              6.37 / 6.79 ±0.72 / 8.22 ms │     no change │
│ QQuery 2  │        149.18 / 149.93 ±0.69 / 151.07 ms │        108.32 / 109.82 ±1.70 / 112.46 ms │ +1.37x faster │
│ QQuery 3  │        112.98 / 113.52 ±0.32 / 113.82 ms │        124.92 / 126.64 ±1.47 / 128.69 ms │  1.12x slower │
│ QQuery 4  │    1333.04 / 1355.99 ±15.44 / 1379.14 ms │    1048.05 / 1069.20 ±14.79 / 1092.92 ms │ +1.27x faster │
│ QQuery 5  │        172.40 / 173.90 ±1.60 / 177.01 ms │        173.62 / 175.83 ±1.54 / 177.99 ms │     no change │
│ QQuery 6  │        842.33 / 859.24 ±9.97 / 869.43 ms │        210.14 / 220.58 ±7.02 / 230.74 ms │ +3.90x faster │
│ QQuery 7  │        340.63 / 342.95 ±1.85 / 345.81 ms │        319.53 / 329.31 ±6.09 / 335.37 ms │     no change │
│ QQuery 8  │        115.34 / 118.06 ±1.77 / 120.39 ms │        139.21 / 142.07 ±2.13 / 144.95 ms │  1.20x slower │
│ QQuery 9  │         99.97 / 101.45 ±1.44 / 104.05 ms │        100.23 / 103.99 ±4.92 / 113.60 ms │     no change │
│ QQuery 10 │        105.71 / 106.93 ±0.71 / 107.80 ms │        140.33 / 144.67 ±2.36 / 147.12 ms │  1.35x slower │
│ QQuery 11 │        975.39 / 979.62 ±2.71 / 983.61 ms │        698.31 / 704.70 ±5.08 / 711.33 ms │ +1.39x faster │
│ QQuery 12 │           46.54 / 47.39 ±0.48 / 47.91 ms │           35.74 / 37.54 ±1.17 / 39.30 ms │ +1.26x faster │
│ QQuery 13 │        402.20 / 404.41 ±1.26 / 406.03 ms │        553.41 / 564.27 ±6.96 / 570.00 ms │  1.40x slower │
│ QQuery 14 │      992.24 / 1000.34 ±5.18 / 1008.50 ms │       845.37 / 864.41 ±10.60 / 877.63 ms │ +1.16x faster │
│ QQuery 15 │           16.17 / 17.31 ±1.49 / 20.25 ms │           18.09 / 20.32 ±1.92 / 23.54 ms │  1.17x slower │
│ QQuery 16 │              7.86 / 8.13 ±0.38 / 8.88 ms │              7.08 / 7.51 ±0.30 / 7.98 ms │ +1.08x faster │
│ QQuery 17 │        227.71 / 229.69 ±1.09 / 230.77 ms │        177.38 / 180.57 ±2.02 / 182.75 ms │ +1.27x faster │
│ QQuery 18 │        129.37 / 129.99 ±0.90 / 131.77 ms │        304.74 / 312.49 ±5.63 / 319.67 ms │  2.40x slower │
│ QQuery 19 │        156.44 / 157.39 ±0.68 / 158.39 ms │        140.91 / 144.93 ±2.35 / 147.72 ms │ +1.09x faster │
│ QQuery 20 │           13.98 / 14.60 ±0.46 / 15.14 ms │           14.36 / 15.23 ±0.64 / 16.15 ms │     no change │
│ QQuery 21 │           19.95 / 20.34 ±0.28 / 20.83 ms │           21.29 / 22.08 ±0.41 / 22.42 ms │  1.09x slower │
│ QQuery 22 │       475.89 / 486.20 ±12.46 / 509.71 ms │       496.65 / 504.87 ±11.10 / 526.81 ms │     no change │
│ QQuery 23 │       888.05 / 898.78 ±12.61 / 923.43 ms │        846.73 / 858.83 ±9.50 / 870.19 ms │     no change │
│ QQuery 24 │        380.57 / 384.20 ±3.33 / 390.45 ms │        118.16 / 125.74 ±4.61 / 131.72 ms │ +3.06x faster │
│ QQuery 25 │        340.63 / 342.85 ±2.12 / 345.95 ms │        282.04 / 285.71 ±2.74 / 289.64 ms │ +1.20x faster │
│ QQuery 26 │           80.46 / 82.18 ±1.05 / 83.52 ms │        141.90 / 151.05 ±7.51 / 163.82 ms │  1.84x slower │
│ QQuery 27 │              6.81 / 7.18 ±0.43 / 8.01 ms │              6.66 / 6.85 ±0.13 / 7.06 ms │     no change │
│ QQuery 28 │        148.48 / 149.35 ±1.06 / 151.07 ms │        150.61 / 151.95 ±0.90 / 153.30 ms │     no change │
│ QQuery 29 │        279.42 / 281.31 ±1.18 / 282.71 ms │        219.69 / 223.66 ±2.69 / 227.79 ms │ +1.26x faster │
│ QQuery 30 │           43.21 / 46.25 ±2.26 / 50.14 ms │           54.02 / 55.73 ±2.04 / 59.09 ms │  1.20x slower │
│ QQuery 31 │        168.54 / 171.43 ±1.79 / 173.68 ms │        166.74 / 169.75 ±2.08 / 172.94 ms │     no change │
│ QQuery 32 │           13.89 / 14.46 ±0.40 / 14.93 ms │           14.30 / 14.49 ±0.20 / 14.83 ms │     no change │
│ QQuery 33 │        138.76 / 141.32 ±2.01 / 143.96 ms │        132.51 / 134.29 ±1.73 / 136.49 ms │     no change │
│ QQuery 34 │              7.01 / 7.29 ±0.25 / 7.65 ms │              7.26 / 7.82 ±0.42 / 8.54 ms │  1.07x slower │
│ QQuery 35 │        106.47 / 108.11 ±1.54 / 110.23 ms │        107.80 / 109.35 ±1.30 / 111.29 ms │     no change │
│ QQuery 36 │              6.45 / 6.62 ±0.12 / 6.81 ms │              6.50 / 6.68 ±0.19 / 7.03 ms │     no change │
│ QQuery 37 │              8.81 / 9.14 ±0.44 / 9.98 ms │              5.02 / 5.32 ±0.30 / 5.90 ms │ +1.72x faster │
│ QQuery 38 │           84.66 / 87.59 ±3.04 / 93.01 ms │           88.89 / 91.19 ±2.45 / 95.94 ms │     no change │
│ QQuery 39 │        124.46 / 128.09 ±2.96 / 132.97 ms │        133.83 / 135.42 ±1.23 / 137.60 ms │  1.06x slower │
│ QQuery 40 │        108.62 / 114.22 ±7.82 / 129.72 ms │        118.89 / 125.27 ±7.43 / 139.75 ms │  1.10x slower │
│ QQuery 41 │           14.59 / 16.20 ±1.47 / 18.38 ms │           16.60 / 17.79 ±1.06 / 19.12 ms │  1.10x slower │
│ QQuery 42 │        108.24 / 109.01 ±0.52 / 109.70 ms │        107.28 / 111.49 ±2.32 / 113.96 ms │     no change │
│ QQuery 43 │              6.09 / 6.18 ±0.13 / 6.44 ms │              6.00 / 6.09 ±0.08 / 6.22 ms │     no change │
│ QQuery 44 │           11.79 / 12.21 ±0.45 / 13.06 ms │           11.46 / 11.73 ±0.27 / 12.19 ms │     no change │
│ QQuery 45 │           51.50 / 53.02 ±1.25 / 54.87 ms │           45.67 / 47.52 ±1.90 / 50.96 ms │ +1.12x faster │
│ QQuery 46 │              8.27 / 8.56 ±0.24 / 8.93 ms │              8.45 / 8.80 ±0.24 / 9.12 ms │     no change │
│ QQuery 47 │        714.38 / 730.38 ±9.61 / 742.68 ms │       711.20 / 724.18 ±12.92 / 743.06 ms │     no change │
│ QQuery 48 │        284.39 / 288.29 ±4.05 / 293.74 ms │        353.46 / 361.66 ±7.60 / 374.84 ms │  1.25x slower │
│ QQuery 49 │        252.89 / 254.16 ±1.17 / 256.32 ms │        239.20 / 241.00 ±2.02 / 244.17 ms │ +1.05x faster │
│ QQuery 50 │        217.75 / 230.05 ±6.19 / 234.02 ms │        245.61 / 250.54 ±4.00 / 254.13 ms │  1.09x slower │
│ QQuery 51 │        180.72 / 182.83 ±1.99 / 186.21 ms │        205.05 / 209.04 ±3.70 / 215.31 ms │  1.14x slower │
│ QQuery 52 │        106.38 / 109.28 ±1.89 / 111.48 ms │        112.22 / 113.96 ±1.24 / 115.84 ms │     no change │
│ QQuery 53 │        102.90 / 104.41 ±1.23 / 106.05 ms │        142.72 / 144.34 ±1.41 / 146.88 ms │  1.38x slower │
│ QQuery 54 │        145.64 / 146.87 ±1.40 / 149.54 ms │        129.22 / 132.04 ±2.75 / 136.85 ms │ +1.11x faster │
│ QQuery 55 │        107.00 / 108.85 ±1.83 / 112.05 ms │        108.45 / 112.52 ±2.33 / 115.62 ms │     no change │
│ QQuery 56 │        140.83 / 143.00 ±1.51 / 145.32 ms │        131.01 / 133.18 ±2.06 / 136.47 ms │ +1.07x faster │
│ QQuery 57 │        174.55 / 175.22 ±0.85 / 176.90 ms │        183.70 / 187.13 ±2.49 / 189.66 ms │  1.07x slower │
│ QQuery 58 │        268.47 / 271.97 ±2.49 / 274.95 ms │        226.58 / 229.22 ±2.12 / 232.32 ms │ +1.19x faster │
│ QQuery 59 │       198.94 / 209.52 ±19.48 / 248.46 ms │        228.61 / 230.84 ±2.97 / 236.61 ms │  1.10x slower │
│ QQuery 60 │        141.65 / 144.64 ±1.84 / 146.68 ms │        138.42 / 140.36 ±1.73 / 143.37 ms │     no change │
│ QQuery 61 │           13.26 / 13.42 ±0.17 / 13.73 ms │           12.07 / 13.03 ±0.94 / 14.46 ms │     no change │
│ QQuery 62 │      894.25 / 934.02 ±43.08 / 1017.43 ms │       898.70 / 934.37 ±27.15 / 971.30 ms │     no change │
│ QQuery 63 │        101.86 / 103.69 ±1.51 / 106.27 ms │        144.60 / 148.20 ±3.18 / 153.39 ms │  1.43x slower │
│ QQuery 64 │        688.87 / 695.61 ±5.78 / 706.23 ms │        728.12 / 739.68 ±7.01 / 747.45 ms │  1.06x slower │
│ QQuery 65 │        253.94 / 258.70 ±3.95 / 264.87 ms │        323.40 / 330.61 ±4.16 / 334.48 ms │  1.28x slower │
│ QQuery 66 │        243.05 / 253.50 ±9.24 / 266.91 ms │        189.66 / 191.85 ±1.33 / 193.35 ms │ +1.32x faster │
│ QQuery 67 │        312.16 / 318.57 ±5.76 / 327.77 ms │        487.25 / 503.89 ±8.44 / 509.54 ms │  1.58x slower │
│ QQuery 68 │            8.99 / 10.31 ±0.86 / 11.24 ms │            8.51 / 10.94 ±1.39 / 12.38 ms │  1.06x slower │
│ QQuery 69 │        102.76 / 105.26 ±2.17 / 108.67 ms │        130.18 / 137.46 ±4.62 / 143.97 ms │  1.31x slower │
│ QQuery 70 │        337.65 / 349.25 ±8.71 / 363.96 ms │        384.56 / 397.63 ±8.46 / 405.79 ms │  1.14x slower │
│ QQuery 71 │        134.11 / 135.27 ±0.80 / 136.30 ms │        122.36 / 131.41 ±4.81 / 136.34 ms │     no change │
│ QQuery 72 │        618.25 / 628.11 ±8.96 / 643.60 ms │        486.61 / 489.26 ±2.58 / 492.97 ms │ +1.28x faster │
│ QQuery 73 │              6.48 / 7.31 ±0.78 / 8.51 ms │              7.21 / 8.03 ±0.96 / 9.89 ms │  1.10x slower │
│ QQuery 74 │        610.03 / 614.93 ±4.68 / 622.44 ms │       485.94 / 504.81 ±10.42 / 514.31 ms │ +1.22x faster │
│ QQuery 75 │        272.97 / 275.86 ±2.40 / 278.89 ms │        275.33 / 276.99 ±1.70 / 279.70 ms │     no change │
│ QQuery 76 │        130.67 / 133.04 ±1.88 / 135.51 ms │        145.09 / 155.72 ±6.18 / 162.24 ms │  1.17x slower │
│ QQuery 77 │        187.42 / 188.93 ±1.16 / 190.78 ms │        204.47 / 206.43 ±2.24 / 210.78 ms │  1.09x slower │
│ QQuery 78 │        342.39 / 346.12 ±2.49 / 350.09 ms │        303.02 / 309.08 ±4.52 / 315.14 ms │ +1.12x faster │
│ QQuery 79 │        232.87 / 237.34 ±2.44 / 239.52 ms │        257.52 / 263.64 ±4.38 / 268.54 ms │  1.11x slower │
│ QQuery 80 │        321.42 / 325.01 ±3.42 / 330.00 ms │       261.59 / 269.00 ±10.70 / 290.12 ms │ +1.21x faster │
│ QQuery 81 │           26.55 / 27.50 ±0.58 / 28.33 ms │           32.07 / 34.07 ±1.52 / 36.74 ms │  1.24x slower │
│ QQuery 82 │           41.65 / 42.67 ±0.81 / 43.69 ms │           45.87 / 47.14 ±0.79 / 48.10 ms │  1.10x slower │
│ QQuery 83 │           38.80 / 39.96 ±1.00 / 41.50 ms │           41.90 / 42.60 ±0.79 / 44.12 ms │  1.07x slower │
│ QQuery 84 │           48.40 / 49.74 ±0.73 / 50.48 ms │           65.52 / 68.04 ±2.61 / 72.95 ms │  1.37x slower │
│ QQuery 85 │        148.83 / 149.59 ±0.45 / 150.01 ms │        242.94 / 246.85 ±3.23 / 252.03 ms │  1.65x slower │
│ QQuery 86 │           39.91 / 40.37 ±0.37 / 40.98 ms │           41.74 / 44.70 ±1.52 / 46.01 ms │  1.11x slower │
│ QQuery 87 │           86.51 / 89.81 ±2.21 / 92.92 ms │          90.63 / 95.25 ±4.07 / 102.79 ms │  1.06x slower │
│ QQuery 88 │         99.18 / 100.13 ±0.63 / 101.14 ms │        119.15 / 120.25 ±0.91 / 121.22 ms │  1.20x slower │
│ QQuery 89 │        119.15 / 119.75 ±0.54 / 120.76 ms │        144.89 / 149.00 ±3.12 / 154.04 ms │  1.24x slower │
│ QQuery 90 │           22.76 / 23.68 ±0.74 / 24.58 ms │           23.47 / 24.91 ±1.08 / 26.59 ms │  1.05x slower │
│ QQuery 91 │           62.66 / 64.35 ±1.16 / 65.62 ms │        103.87 / 108.59 ±2.78 / 111.87 ms │  1.69x slower │
│ QQuery 92 │           57.56 / 58.82 ±0.71 / 59.71 ms │           58.50 / 61.24 ±1.73 / 63.82 ms │     no change │
│ QQuery 93 │        185.84 / 188.07 ±1.44 / 190.28 ms │        188.14 / 189.75 ±0.93 / 190.87 ms │     no change │
│ QQuery 94 │           62.36 / 64.25 ±1.59 / 66.64 ms │           71.60 / 72.83 ±0.68 / 73.50 ms │  1.13x slower │
│ QQuery 95 │        129.80 / 132.41 ±1.97 / 135.63 ms │        115.79 / 125.35 ±5.15 / 130.88 ms │ +1.06x faster │
│ QQuery 96 │           72.81 / 73.85 ±0.92 / 75.36 ms │           91.26 / 93.32 ±1.32 / 95.37 ms │  1.26x slower │
│ QQuery 97 │        123.06 / 126.77 ±2.42 / 129.46 ms │        153.93 / 155.47 ±1.13 / 157.39 ms │  1.23x slower │
│ QQuery 98 │        151.20 / 153.77 ±1.89 / 156.11 ms │        115.51 / 117.22 ±1.36 / 118.98 ms │ +1.31x faster │
│ QQuery 99 │ 10750.72 / 10826.20 ±53.60 / 10893.88 ms │ 10752.55 / 10781.51 ±25.89 / 10825.03 ms │     no change │
└───────────┴──────────────────────────────────────────┴──────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                                    ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                                    │ 31415.45ms │
│ Total Time (filter-pushdown-dynamic-bytes-morsels)   │ 30480.43ms │
│ Average Time (HEAD)                                  │   317.33ms │
│ Average Time (filter-pushdown-dynamic-bytes-morsels) │   307.88ms │
│ Queries Faster                                       │         25 │
│ Queries Slower                                       │         44 │
│ Queries with No Change                               │         30 │
│ Queries with Failure                                 │          0 │
└──────────────────────────────────────────────────────┴────────────┘

Resource Usage

tpcds — base (merge-base)

Metric Value
Wall time 160.0s
Peak memory 5.5 GiB
Avg memory 4.4 GiB
CPU user 261.2s
CPU sys 16.1s
Peak spill 0 B

tpcds — branch

Metric Value
Wall time 155.0s
Peak memory 5.5 GiB
Avg memory 4.4 GiB
CPU user 212.7s
CPU sys 21.6s
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 filter-pushdown-dynamic-bytes-morsels
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┓
┃ Query     ┃                                  HEAD ┃ filter-pushdown-dynamic-bytes-morsels ┃         Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━┩
│ QQuery 0  │          1.20 / 4.43 ±6.30 / 17.03 ms │          1.22 / 4.52 ±6.46 / 17.44 ms │      no change │
│ QQuery 1  │        14.27 / 14.60 ±0.18 / 14.81 ms │        13.04 / 13.56 ±0.28 / 13.83 ms │  +1.08x faster │
│ QQuery 2  │        45.01 / 45.23 ±0.18 / 45.54 ms │        36.38 / 37.02 ±0.66 / 38.30 ms │  +1.22x faster │
│ QQuery 3  │        39.43 / 40.43 ±1.12 / 42.55 ms │        31.40 / 32.01 ±0.69 / 33.19 ms │  +1.26x faster │
│ QQuery 4  │     281.61 / 289.93 ±6.33 / 299.08 ms │     255.05 / 259.94 ±4.67 / 268.70 ms │  +1.12x faster │
│ QQuery 5  │     335.99 / 343.34 ±4.09 / 346.74 ms │     295.23 / 298.72 ±2.84 / 302.52 ms │  +1.15x faster │
│ QQuery 6  │           5.90 / 6.63 ±0.88 / 8.23 ms │           5.82 / 6.38 ±0.38 / 6.90 ms │      no change │
│ QQuery 7  │        16.87 / 17.17 ±0.32 / 17.79 ms │        14.99 / 15.19 ±0.20 / 15.56 ms │  +1.13x faster │
│ QQuery 8  │     410.40 / 419.13 ±5.03 / 424.94 ms │    365.64 / 377.70 ±13.22 / 401.84 ms │  +1.11x faster │
│ QQuery 9  │     646.04 / 659.13 ±9.35 / 672.94 ms │     512.27 / 528.09 ±9.40 / 540.29 ms │  +1.25x faster │
│ QQuery 10 │        89.08 / 92.27 ±2.18 / 94.95 ms │      99.93 / 101.67 ±1.67 / 104.79 ms │   1.10x slower │
│ QQuery 11 │     103.00 / 103.95 ±0.64 / 105.00 ms │     109.60 / 110.05 ±0.45 / 110.87 ms │   1.06x slower │
│ QQuery 12 │     333.95 / 344.93 ±8.06 / 358.18 ms │     294.20 / 300.67 ±9.63 / 319.53 ms │  +1.15x faster │
│ QQuery 13 │     453.47 / 467.89 ±9.07 / 478.28 ms │    458.96 / 481.48 ±26.66 / 514.24 ms │      no change │
│ QQuery 14 │     348.00 / 350.74 ±2.72 / 354.61 ms │     339.80 / 344.32 ±2.84 / 347.61 ms │      no change │
│ QQuery 15 │    354.46 / 368.14 ±11.89 / 384.75 ms │    333.46 / 350.42 ±14.78 / 375.40 ms │      no change │
│ QQuery 16 │     714.98 / 719.37 ±3.18 / 723.66 ms │     686.31 / 691.04 ±2.82 / 694.91 ms │      no change │
│ QQuery 17 │     713.32 / 717.23 ±4.39 / 725.54 ms │     676.97 / 690.90 ±9.78 / 703.46 ms │      no change │
│ QQuery 18 │ 1421.07 / 1475.99 ±35.81 / 1519.80 ms │ 1386.47 / 1460.91 ±41.39 / 1507.61 ms │      no change │
│ QQuery 19 │        35.60 / 39.45 ±5.16 / 49.66 ms │        30.09 / 34.02 ±6.13 / 46.22 ms │  +1.16x faster │
│ QQuery 20 │    712.08 / 738.55 ±25.05 / 778.60 ms │     513.48 / 523.12 ±8.61 / 538.29 ms │  +1.41x faster │
│ QQuery 21 │     758.40 / 763.23 ±3.77 / 767.88 ms │     571.60 / 584.86 ±9.80 / 601.33 ms │  +1.30x faster │
│ QQuery 22 │  1131.13 / 1145.67 ±7.88 / 1154.57 ms │     789.12 / 801.05 ±6.15 / 806.44 ms │  +1.43x faster │
│ QQuery 23 │ 3102.82 / 3133.20 ±30.84 / 3186.97 ms │    158.31 / 236.89 ±56.73 / 290.75 ms │ +13.23x faster │
│ QQuery 24 │     100.43 / 103.28 ±1.61 / 105.29 ms │        42.17 / 46.09 ±5.13 / 56.10 ms │  +2.24x faster │
│ QQuery 25 │     137.79 / 141.69 ±2.61 / 145.79 ms │     119.75 / 121.91 ±1.66 / 124.85 ms │  +1.16x faster │
│ QQuery 26 │      98.67 / 101.56 ±1.59 / 103.11 ms │        58.47 / 60.80 ±1.70 / 62.82 ms │  +1.67x faster │
│ QQuery 27 │     851.47 / 856.41 ±3.95 / 860.69 ms │     647.00 / 651.16 ±3.90 / 657.35 ms │  +1.32x faster │
│ QQuery 28 │ 3267.09 / 3297.71 ±17.75 / 3320.98 ms │ 3014.34 / 3048.17 ±30.99 / 3101.51 ms │  +1.08x faster │
│ QQuery 29 │        53.43 / 57.89 ±4.66 / 64.84 ms │        44.32 / 48.73 ±3.99 / 54.60 ms │  +1.19x faster │
│ QQuery 30 │     367.76 / 373.72 ±5.12 / 382.86 ms │     345.28 / 349.01 ±3.10 / 354.35 ms │  +1.07x faster │
│ QQuery 31 │    372.78 / 387.31 ±12.56 / 402.67 ms │     336.60 / 344.41 ±5.40 / 352.45 ms │  +1.12x faster │
│ QQuery 32 │ 1214.21 / 1241.61 ±39.24 / 1315.69 ms │ 1207.35 / 1279.15 ±63.19 / 1396.51 ms │      no change │
│ QQuery 33 │ 1524.48 / 1573.53 ±27.11 / 1604.11 ms │ 1524.49 / 1579.63 ±40.20 / 1647.92 ms │      no change │
│ QQuery 34 │ 1546.16 / 1563.76 ±13.20 / 1581.35 ms │ 1484.92 / 1515.23 ±29.59 / 1560.39 ms │      no change │
│ QQuery 35 │     400.56 / 409.00 ±5.08 / 415.07 ms │     325.79 / 330.74 ±7.83 / 346.32 ms │  +1.24x faster │
│ QQuery 36 │     115.41 / 121.55 ±3.54 / 125.82 ms │        59.82 / 63.25 ±2.18 / 66.49 ms │  +1.92x faster │
│ QQuery 37 │        47.21 / 49.33 ±1.20 / 50.50 ms │        34.29 / 36.77 ±1.34 / 38.29 ms │  +1.34x faster │
│ QQuery 38 │        75.27 / 77.33 ±1.09 / 78.55 ms │        36.93 / 39.31 ±1.58 / 41.76 ms │  +1.97x faster │
│ QQuery 39 │     213.69 / 222.91 ±7.39 / 229.74 ms │     115.07 / 124.68 ±7.68 / 131.84 ms │  +1.79x faster │
│ QQuery 40 │        24.37 / 26.70 ±1.82 / 29.97 ms │        17.52 / 20.63 ±2.48 / 24.97 ms │  +1.29x faster │
│ QQuery 41 │        21.07 / 23.26 ±2.32 / 27.32 ms │        16.98 / 18.90 ±1.72 / 21.28 ms │  +1.23x faster │
│ QQuery 42 │        20.33 / 20.68 ±0.23 / 20.98 ms │        15.44 / 16.05 ±0.45 / 16.64 ms │  +1.29x faster │
└───────────┴───────────────────────────────────────┴───────────────────────────────────────┴────────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                                    ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                                    │ 22949.87ms │
│ Total Time (filter-pushdown-dynamic-bytes-morsels)   │ 17979.18ms │
│ Average Time (HEAD)                                  │   533.72ms │
│ Average Time (filter-pushdown-dynamic-bytes-morsels) │   418.12ms │
│ Queries Faster                                       │         30 │
│ Queries Slower                                       │          2 │
│ Queries with No Change                               │         11 │
│ Queries with Failure                                 │          0 │
└──────────────────────────────────────────────────────┴────────────┘

Resource Usage

clickbench_partitioned — base (merge-base)

Metric Value
Wall time 120.0s
Peak memory 34.8 GiB
Avg memory 26.0 GiB
CPU user 1078.6s
CPU sys 99.6s
Peak spill 0 B

clickbench_partitioned — branch

Metric Value
Wall time 95.0s
Peak memory 36.2 GiB
Avg memory 25.7 GiB
CPU user 914.2s
CPU sys 91.7s
Peak spill 0 B

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-c4277259594-1576-szkhp 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 filter-pushdown-dynamic-bytes-morsels (92c6a24) to afc0784 (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 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 filter-pushdown-dynamic-bytes-morsels
--------------------
Benchmark tpcds_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┓
┃ Query     ┃                                      HEAD ┃    filter-pushdown-dynamic-bytes-morsels ┃         Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━┩
│ QQuery 1  │               6.78 / 7.20 ±0.66 / 8.51 ms │              6.80 / 7.18 ±0.62 / 8.41 ms │      no change │
│ QQuery 2  │        118.07 / 140.08 ±25.83 / 172.23 ms │        109.75 / 110.63 ±0.96 / 111.83 ms │  +1.27x faster │
│ QQuery 3  │         112.48 / 113.39 ±1.14 / 115.57 ms │        126.50 / 128.59 ±1.71 / 131.28 ms │   1.13x slower │
│ QQuery 4  │     1125.75 / 1138.80 ±12.43 / 1161.20 ms │    1097.50 / 1118.87 ±14.24 / 1133.50 ms │      no change │
│ QQuery 5  │         199.45 / 203.28 ±2.34 / 205.23 ms │        176.67 / 182.37 ±3.54 / 186.42 ms │  +1.11x faster │
│ QQuery 6  │         302.39 / 307.08 ±4.72 / 315.05 ms │        235.57 / 245.65 ±6.79 / 256.51 ms │  +1.25x faster │
│ QQuery 7  │         346.02 / 352.07 ±5.43 / 360.01 ms │        336.07 / 342.61 ±5.23 / 351.43 ms │      no change │
│ QQuery 8  │         160.43 / 167.23 ±3.80 / 172.11 ms │        139.78 / 145.96 ±4.05 / 152.26 ms │  +1.15x faster │
│ QQuery 9  │        250.66 / 267.86 ±10.14 / 280.93 ms │        102.89 / 105.00 ±1.94 / 108.34 ms │  +2.55x faster │
│ QQuery 10 │         171.34 / 180.31 ±6.12 / 189.88 ms │        148.44 / 151.27 ±3.13 / 156.45 ms │  +1.19x faster │
│ QQuery 11 │         773.49 / 777.31 ±3.59 / 781.66 ms │        744.92 / 756.09 ±8.93 / 770.92 ms │      no change │
│ QQuery 12 │            41.01 / 42.73 ±1.28 / 44.39 ms │           38.04 / 39.89 ±1.72 / 42.95 ms │  +1.07x faster │
│ QQuery 13 │         584.55 / 593.82 ±6.57 / 603.34 ms │        598.97 / 602.52 ±2.43 / 605.76 ms │      no change │
│ QQuery 14 │         960.71 / 967.45 ±9.33 / 985.83 ms │        895.19 / 902.74 ±6.60 / 915.02 ms │  +1.07x faster │
│ QQuery 15 │            20.52 / 23.52 ±3.30 / 27.92 ms │           19.75 / 21.77 ±1.90 / 24.84 ms │  +1.08x faster │
│ QQuery 16 │               7.43 / 7.72 ±0.25 / 8.18 ms │              7.92 / 8.32 ±0.50 / 9.29 ms │   1.08x slower │
│ QQuery 17 │         208.35 / 217.21 ±6.99 / 226.38 ms │        179.82 / 181.89 ±1.77 / 184.44 ms │  +1.19x faster │
│ QQuery 18 │        458.63 / 476.07 ±10.24 / 486.83 ms │       318.97 / 346.53 ±41.63 / 429.06 ms │  +1.37x faster │
│ QQuery 19 │         151.13 / 152.83 ±1.19 / 154.51 ms │        146.79 / 150.16 ±3.16 / 155.76 ms │      no change │
│ QQuery 20 │            16.31 / 17.30 ±0.53 / 17.82 ms │           16.57 / 17.25 ±0.72 / 18.43 ms │      no change │
│ QQuery 21 │            27.81 / 29.24 ±0.79 / 30.25 ms │           22.74 / 23.73 ±1.12 / 25.72 ms │  +1.23x faster │
│ QQuery 22 │         548.78 / 557.52 ±5.00 / 563.44 ms │        551.71 / 555.83 ±4.63 / 564.74 ms │      no change │
│ QQuery 23 │      1301.56 / 1311.56 ±6.55 / 1321.99 ms │       906.69 / 930.86 ±13.48 / 941.59 ms │  +1.41x faster │
│ QQuery 24 │         126.54 / 129.83 ±2.97 / 134.66 ms │        127.89 / 131.03 ±3.62 / 137.56 ms │      no change │
│ QQuery 25 │         317.12 / 319.38 ±1.68 / 322.26 ms │        289.94 / 293.86 ±2.81 / 298.48 ms │  +1.09x faster │
│ QQuery 26 │         157.64 / 163.68 ±5.08 / 172.99 ms │        148.41 / 153.68 ±3.06 / 157.04 ms │  +1.07x faster │
│ QQuery 27 │               6.96 / 7.15 ±0.14 / 7.32 ms │              7.25 / 7.56 ±0.28 / 8.04 ms │   1.06x slower │
│ QQuery 28 │         235.94 / 239.85 ±4.11 / 245.17 ms │        155.86 / 158.37 ±1.58 / 159.70 ms │  +1.51x faster │
│ QQuery 29 │         262.60 / 267.69 ±5.17 / 275.11 ms │        230.48 / 232.32 ±2.07 / 235.67 ms │  +1.15x faster │
│ QQuery 30 │            59.71 / 62.39 ±2.85 / 67.68 ms │           56.03 / 58.53 ±1.98 / 62.12 ms │  +1.07x faster │
│ QQuery 31 │         189.26 / 192.10 ±3.31 / 197.20 ms │        171.31 / 176.06 ±2.51 / 178.06 ms │  +1.09x faster │
│ QQuery 32 │            15.44 / 16.14 ±0.58 / 17.08 ms │           15.11 / 15.93 ±0.85 / 17.37 ms │      no change │
│ QQuery 33 │         136.84 / 137.98 ±0.82 / 139.06 ms │        137.44 / 138.51 ±1.00 / 140.09 ms │      no change │
│ QQuery 34 │               7.47 / 7.99 ±0.40 / 8.54 ms │              7.91 / 8.20 ±0.38 / 8.90 ms │      no change │
│ QQuery 35 │         157.79 / 163.72 ±3.31 / 167.96 ms │        116.75 / 117.81 ±0.85 / 119.18 ms │  +1.39x faster │
│ QQuery 36 │               6.96 / 7.07 ±0.11 / 7.25 ms │              7.11 / 7.28 ±0.15 / 7.47 ms │      no change │
│ QQuery 37 │               5.84 / 6.63 ±0.89 / 7.79 ms │              5.65 / 5.96 ±0.27 / 6.43 ms │  +1.11x faster │
│ QQuery 38 │         116.49 / 118.89 ±2.93 / 124.61 ms │         99.35 / 102.56 ±4.26 / 110.85 ms │  +1.16x faster │
│ QQuery 39 │         155.45 / 158.40 ±1.75 / 160.69 ms │        156.26 / 159.13 ±2.09 / 162.13 ms │      no change │
│ QQuery 40 │         147.49 / 152.85 ±6.73 / 165.96 ms │        124.66 / 132.10 ±7.26 / 145.96 ms │  +1.16x faster │
│ QQuery 41 │            15.91 / 17.17 ±0.78 / 17.99 ms │           18.39 / 19.02 ±0.43 / 19.51 ms │   1.11x slower │
│ QQuery 42 │         119.96 / 121.85 ±1.16 / 123.58 ms │        114.19 / 115.96 ±1.06 / 117.09 ms │      no change │
│ QQuery 43 │               6.47 / 7.03 ±0.67 / 8.23 ms │              6.25 / 6.36 ±0.14 / 6.62 ms │  +1.11x faster │
│ QQuery 44 │            12.72 / 13.27 ±0.34 / 13.76 ms │           12.28 / 12.91 ±0.54 / 13.78 ms │      no change │
│ QQuery 45 │            46.35 / 49.55 ±1.67 / 51.12 ms │           47.37 / 48.19 ±0.73 / 49.46 ms │      no change │
│ QQuery 46 │               8.93 / 9.28 ±0.35 / 9.77 ms │             9.21 / 9.74 ±0.61 / 10.63 ms │      no change │
│ QQuery 47 │         926.40 / 937.67 ±7.39 / 949.39 ms │        847.35 / 854.04 ±4.46 / 858.02 ms │  +1.10x faster │
│ QQuery 48 │         513.09 / 519.31 ±6.38 / 529.77 ms │        368.70 / 371.98 ±4.14 / 379.92 ms │  +1.40x faster │
│ QQuery 49 │         293.21 / 299.89 ±5.56 / 308.77 ms │        242.41 / 245.93 ±3.20 / 251.37 ms │  +1.22x faster │
│ QQuery 50 │         585.37 / 596.43 ±6.23 / 603.51 ms │        266.91 / 274.28 ±4.44 / 279.01 ms │  +2.17x faster │
│ QQuery 51 │         228.20 / 231.62 ±2.87 / 236.36 ms │        209.84 / 216.47 ±4.22 / 220.05 ms │  +1.07x faster │
│ QQuery 52 │         117.30 / 120.72 ±1.91 / 123.20 ms │        110.56 / 115.13 ±3.68 / 120.75 ms │      no change │
│ QQuery 53 │         145.87 / 151.69 ±4.59 / 158.31 ms │        143.50 / 148.34 ±3.54 / 153.00 ms │      no change │
│ QQuery 54 │         135.71 / 138.87 ±3.32 / 144.77 ms │        131.65 / 136.22 ±4.24 / 142.30 ms │      no change │
│ QQuery 55 │         115.41 / 118.91 ±2.87 / 122.59 ms │        115.06 / 117.70 ±1.34 / 118.68 ms │      no change │
│ QQuery 56 │         135.67 / 138.64 ±1.51 / 139.88 ms │        136.34 / 139.33 ±2.66 / 143.62 ms │      no change │
│ QQuery 57 │         198.63 / 204.86 ±3.37 / 208.49 ms │        191.97 / 195.23 ±2.28 / 197.29 ms │      no change │
│ QQuery 58 │         232.27 / 236.56 ±2.16 / 237.93 ms │        235.48 / 237.07 ±1.30 / 239.45 ms │      no change │
│ QQuery 59 │         300.88 / 302.09 ±0.98 / 303.64 ms │        242.15 / 245.44 ±3.52 / 251.92 ms │  +1.23x faster │
│ QQuery 60 │         145.40 / 146.21 ±0.66 / 147.36 ms │        140.17 / 143.18 ±2.69 / 147.44 ms │      no change │
│ QQuery 61 │            13.00 / 13.61 ±0.71 / 14.93 ms │           13.01 / 13.68 ±0.40 / 14.19 ms │      no change │
│ QQuery 62 │       953.61 / 993.12 ±21.70 / 1015.78 ms │     958.25 / 1026.09 ±51.43 / 1112.40 ms │      no change │
│ QQuery 63 │         144.94 / 154.45 ±5.27 / 160.58 ms │        149.27 / 152.32 ±1.65 / 154.20 ms │      no change │
│ QQuery 64 │ 28347.10 / 29450.39 ±582.97 / 30028.31 ms │        777.71 / 783.44 ±6.33 / 795.14 ms │ +37.59x faster │
│ QQuery 65 │        390.26 / 407.55 ±10.62 / 420.59 ms │        350.56 / 359.32 ±6.78 / 368.05 ms │  +1.13x faster │
│ QQuery 66 │         201.66 / 207.39 ±4.93 / 215.45 ms │        193.59 / 199.65 ±4.95 / 208.71 ms │      no change │
│ QQuery 67 │         550.18 / 557.29 ±6.87 / 568.05 ms │       524.50 / 546.21 ±15.55 / 572.18 ms │      no change │
│ QQuery 68 │             9.81 / 12.56 ±1.63 / 14.57 ms │           11.36 / 12.68 ±1.35 / 15.25 ms │      no change │
│ QQuery 69 │         181.13 / 187.57 ±6.74 / 200.39 ms │        145.56 / 151.29 ±4.41 / 158.97 ms │  +1.24x faster │
│ QQuery 70 │         444.88 / 452.51 ±6.04 / 461.31 ms │        392.71 / 402.33 ±6.05 / 411.41 ms │  +1.12x faster │
│ QQuery 71 │         133.85 / 137.11 ±1.73 / 138.59 ms │        131.33 / 135.43 ±4.95 / 145.01 ms │      no change │
│ QQuery 72 │     1223.46 / 1244.75 ±15.42 / 1264.25 ms │        499.41 / 506.20 ±4.69 / 513.67 ms │  +2.46x faster │
│ QQuery 73 │              7.69 / 8.84 ±1.17 / 10.73 ms │              7.33 / 7.96 ±0.62 / 9.07 ms │  +1.11x faster │
│ QQuery 74 │         548.29 / 554.12 ±4.75 / 562.30 ms │        537.31 / 543.58 ±4.56 / 549.69 ms │      no change │
│ QQuery 75 │         296.62 / 302.86 ±4.49 / 309.89 ms │        286.93 / 291.50 ±3.64 / 297.74 ms │      no change │
│ QQuery 76 │         290.93 / 297.42 ±3.97 / 301.81 ms │        163.67 / 166.44 ±3.23 / 172.04 ms │  +1.79x faster │
│ QQuery 77 │         233.59 / 237.22 ±2.21 / 239.52 ms │        208.82 / 211.07 ±1.84 / 214.32 ms │  +1.12x faster │
│ QQuery 78 │         319.38 / 326.71 ±4.51 / 332.12 ms │        313.60 / 324.40 ±6.72 / 333.78 ms │      no change │
│ QQuery 79 │         268.71 / 273.76 ±3.25 / 278.33 ms │        266.65 / 272.43 ±3.48 / 277.55 ms │      no change │
│ QQuery 80 │         290.80 / 295.54 ±2.56 / 298.23 ms │        267.83 / 273.02 ±4.35 / 278.25 ms │  +1.08x faster │
│ QQuery 81 │            32.77 / 34.77 ±1.81 / 38.16 ms │           34.24 / 35.57 ±0.69 / 36.13 ms │      no change │
│ QQuery 82 │            50.76 / 52.85 ±1.70 / 55.77 ms │           48.53 / 49.48 ±0.70 / 50.52 ms │  +1.07x faster │
│ QQuery 83 │            47.12 / 48.32 ±0.80 / 49.19 ms │           45.00 / 46.32 ±1.29 / 48.58 ms │      no change │
│ QQuery 84 │            67.02 / 68.60 ±0.84 / 69.36 ms │           67.29 / 68.88 ±0.88 / 69.74 ms │      no change │
│ QQuery 85 │         290.57 / 296.03 ±3.31 / 299.58 ms │        250.93 / 254.73 ±3.84 / 262.09 ms │  +1.16x faster │
│ QQuery 86 │            50.97 / 52.37 ±2.18 / 56.69 ms │           43.26 / 45.89 ±1.39 / 47.20 ms │  +1.14x faster │
│ QQuery 87 │         109.92 / 117.50 ±6.06 / 125.36 ms │        100.73 / 103.81 ±3.61 / 110.70 ms │  +1.13x faster │
│ QQuery 88 │         135.80 / 137.99 ±1.84 / 141.22 ms │        125.20 / 128.95 ±2.45 / 132.64 ms │  +1.07x faster │
│ QQuery 89 │        155.60 / 169.24 ±10.04 / 183.65 ms │        151.09 / 154.59 ±2.80 / 158.70 ms │  +1.09x faster │
│ QQuery 90 │            27.48 / 29.62 ±2.40 / 34.12 ms │           25.93 / 26.97 ±1.29 / 29.50 ms │  +1.10x faster │
│ QQuery 91 │         107.69 / 112.06 ±3.68 / 118.50 ms │        105.88 / 111.68 ±2.91 / 113.69 ms │      no change │
│ QQuery 92 │            54.71 / 57.28 ±1.74 / 59.96 ms │           62.31 / 63.60 ±1.20 / 65.23 ms │   1.11x slower │
│ QQuery 93 │         200.52 / 202.38 ±1.98 / 205.90 ms │        199.50 / 202.02 ±1.93 / 204.39 ms │      no change │
│ QQuery 94 │            71.70 / 73.42 ±1.90 / 77.07 ms │           71.61 / 72.77 ±0.96 / 73.90 ms │      no change │
│ QQuery 95 │         150.76 / 154.18 ±1.85 / 155.75 ms │        120.18 / 128.87 ±7.66 / 140.55 ms │  +1.20x faster │
│ QQuery 96 │            90.46 / 93.13 ±1.42 / 94.53 ms │           87.76 / 92.91 ±4.12 / 99.69 ms │      no change │
│ QQuery 97 │         161.96 / 165.79 ±2.97 / 169.30 ms │        159.41 / 162.98 ±2.41 / 165.17 ms │      no change │
│ QQuery 98 │         125.91 / 130.09 ±2.23 / 132.47 ms │        120.02 / 121.76 ±1.43 / 124.03 ms │  +1.07x faster │
│ QQuery 99 │  10994.27 / 11030.50 ±25.15 / 11058.99 ms │ 10991.78 / 11031.11 ±25.71 / 11054.08 ms │      no change │
└───────────┴───────────────────────────────────────────┴──────────────────────────────────────────┴────────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                                    ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                                    │ 63705.84ms │
│ Total Time (filter-pushdown-dynamic-bytes-morsels)   │ 31909.04ms │
│ Average Time (HEAD)                                  │   643.49ms │
│ Average Time (filter-pushdown-dynamic-bytes-morsels) │   322.31ms │
│ Queries Faster                                       │         48 │
│ Queries Slower                                       │          5 │
│ Queries with No Change                               │         46 │
│ Queries with Failure                                 │          0 │
└──────────────────────────────────────────────────────┴────────────┘

Resource Usage

tpcds — base (merge-base)

Metric Value
Wall time 320.1s
Peak memory 36.8 GiB
Avg memory 26.8 GiB
CPU user 629.4s
CPU sys 29.4s
Peak spill 0 B

tpcds — branch

Metric Value
Wall time 160.0s
Peak memory 5.4 GiB
Avg memory 4.3 GiB
CPU user 222.8s
CPU sys 23.6s
Peak spill 0 B

File an issue against this benchmark runner

2010YOUY01 and others added 3 commits April 20, 2026 01:25
## Which issue does this PR close?

<!--
We generally require a GitHub issue to be filed for all bug fixes and
enhancements and this helps us generate change logs for our releases.
You can link an issue to this PR using the GitHub syntax. For example
`Closes apache#123` indicates that this PR will close issue apache#123.
-->

- Closes #.

## Rationale for this change

<!--
Why are you proposing this change? If this is already explained clearly
in the issue then this section is not needed.
Explaining clearly why changes are proposed helps reviewers understand
your changes and offer better suggestions for fixes.
-->
Clarifying a function with more comments

## What changes are included in this PR?

<!--
There is no need to duplicate the description in the issue here but it
is sometimes worth providing a summary of the individual changes in this
PR.
-->

## Are these changes tested?

<!--
We typically require tests for all PRs in order to:
1. Prevent the code from being accidentally broken by subsequent changes
2. Serve as another way to document the expected behavior of the code

If tests are not included in your PR, please explain why (for example,
are they covered by existing tests)?
-->

## Are there any user-facing changes?

<!--
If there are user-facing changes then we may require documentation to be
updated before approving the PR.
-->

<!--
If there are any breaking changes to public APIs, please add the `api
change` label.
-->
## Which issue does this PR close?

- Closes apache#20529
- Closes apache#20820

## Rationale for this change

This PR finally enables dynamic work scheduling in the FileStream (so
that if a task is done it can look at any remaining work)

This improves performance on queries that scan multiple files and the
work is not balanced evenly across partitions in the plan (e.g. we have
dynamic filtering that reduces work significantly)


It is the last of a sequence of several PRs:
- apache#21342
- apache#21327
- apache#21340

## What changes are included in this PR?

1. Add shared state across sibling FileStream's and the wiring to
connect them
2. Sibling streams put their file work into a shared queue when it can
be reordered
3. Add a bunch of tests sjpw

Note there are a bunch of other things that are NOT included in this PR,
including
1. Trying to limit concurrent IO (this PR has the same properties as
main -- up to one outstanding IO per partition)
2. Trying to issue multiple IOs by the same partition (aka to interleave
IO and CPU work more)
4. Splitting files into smaller units (e.g. across row groups)

As @Dandandan proposes below, I expect we can work on those changes as
follow on PRs.


## Are these changes tested?

Yes by existing functional and benchmark tests, as well as new
functional tests

## Are there any user-facing changes?
Yes, faster performance (see benchmarks):
apache#21351 (comment)

---------

Co-authored-by: Oleks V <comphead@users.noreply.github.com>
## Which issue does this PR close?

<!--
We generally require a GitHub issue to be filed for all bug fixes and
enhancements and this helps us generate change logs for our releases.
You can link an issue to this PR using the GitHub syntax. For example
`Closes apache#123` indicates that this PR will close issue apache#123.
-->

- Related to apache#21635.

## Rationale for this change

Upon releasing 53.0.0 and 53.1.0 I found some steps not clear or
misleading, I tried to clarify steps based on most recent experience

<!--
Why are you proposing this change? If this is already explained clearly
in the issue then this section is not needed.
Explaining clearly why changes are proposed helps reviewers understand
your changes and offer better suggestions for fixes.
-->

## What changes are included in this PR?

<!--
There is no need to duplicate the description in the issue here but it
is sometimes worth providing a summary of the individual changes in this
PR.
-->

## Are these changes tested?

<!--
We typically require tests for all PRs in order to:
1. Prevent the code from being accidentally broken by subsequent changes
2. Serve as another way to document the expected behavior of the code

If tests are not included in your PR, please explain why (for example,
are they covered by existing tests)?
-->

## Are there any user-facing changes?

<!--
If there are user-facing changes then we may require documentation to be
updated before approving the PR.
-->

<!--
If there are any breaking changes to public APIs, please add the `api
change` label.
-->
@adriangb
Copy link
Copy Markdown
Owner Author

run benchmark tpch
baseline:
ref: main
changed:
ref: HEAD

@adriangbot
Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c4283463524-1614-rkb8b 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 HEAD (92c6a24) to main diff using: tpch
Results will be posted here when complete


File an issue against this benchmark runner

@adriangb
Copy link
Copy Markdown
Owner Author

run benchmarks

baseline:
    ref: main
    env:
       DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: false
       DATAFUSION_EXECUTION_PARQUET_REORDER_FILTERS: true
changed:
    ref: HEAD
    env:
       DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: true

@adriangbot
Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c4283549510-1615-8b5cb 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 HEAD (66a6808) to main 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-c4283549510-1616-n9jrn 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 HEAD (66a6808) to main 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-c4283549510-1617-gf92p 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 HEAD (66a6808) to main diff using: tpch
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 filter-pushdown-dynamic-bytes-morsels
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┓
┃ Query     ┃                                  HEAD ┃ filter-pushdown-dynamic-bytes-morsels ┃         Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━┩
│ QQuery 0  │          1.19 / 4.36 ±6.28 / 16.92 ms │          1.21 / 4.38 ±6.28 / 16.93 ms │      no change │
│ QQuery 1  │        14.65 / 14.85 ±0.14 / 15.07 ms │        12.68 / 13.26 ±0.30 / 13.51 ms │  +1.12x faster │
│ QQuery 2  │        44.60 / 44.77 ±0.15 / 45.01 ms │        36.09 / 36.26 ±0.09 / 36.37 ms │  +1.23x faster │
│ QQuery 3  │        39.82 / 40.71 ±0.77 / 42.14 ms │        31.01 / 31.29 ±0.16 / 31.46 ms │  +1.30x faster │
│ QQuery 4  │     303.92 / 310.13 ±4.75 / 316.58 ms │     251.07 / 253.99 ±2.25 / 258.02 ms │  +1.22x faster │
│ QQuery 5  │     347.61 / 349.57 ±1.60 / 351.67 ms │     289.45 / 291.62 ±1.75 / 293.75 ms │  +1.20x faster │
│ QQuery 6  │           5.71 / 6.29 ±0.45 / 6.75 ms │           5.05 / 6.31 ±0.90 / 7.82 ms │      no change │
│ QQuery 7  │        17.49 / 17.93 ±0.56 / 19.03 ms │        14.51 / 14.93 ±0.49 / 15.87 ms │  +1.20x faster │
│ QQuery 8  │     404.54 / 411.51 ±6.10 / 420.00 ms │     349.81 / 354.33 ±4.69 / 362.70 ms │  +1.16x faster │
│ QQuery 9  │     638.04 / 645.86 ±7.07 / 654.65 ms │    492.59 / 538.81 ±23.78 / 557.95 ms │  +1.20x faster │
│ QQuery 10 │        91.20 / 93.98 ±3.16 / 99.65 ms │     102.69 / 105.27 ±3.78 / 112.74 ms │   1.12x slower │
│ QQuery 11 │     103.40 / 104.01 ±0.37 / 104.54 ms │     107.78 / 110.69 ±2.29 / 113.03 ms │   1.06x slower │
│ QQuery 12 │     331.02 / 341.95 ±7.29 / 350.71 ms │     282.62 / 287.51 ±5.31 / 296.93 ms │  +1.19x faster │
│ QQuery 13 │    478.07 / 496.61 ±14.03 / 520.21 ms │    457.06 / 472.56 ±12.58 / 488.70 ms │      no change │
│ QQuery 14 │     352.10 / 368.92 ±8.51 / 374.66 ms │     335.65 / 337.78 ±1.79 / 340.73 ms │  +1.09x faster │
│ QQuery 15 │    343.24 / 360.36 ±17.01 / 392.20 ms │    329.40 / 344.21 ±12.26 / 366.34 ms │      no change │
│ QQuery 16 │    707.89 / 719.43 ±10.31 / 737.16 ms │     701.42 / 712.71 ±6.88 / 721.99 ms │      no change │
│ QQuery 17 │     695.17 / 706.01 ±6.32 / 712.32 ms │     663.51 / 670.85 ±5.52 / 679.85 ms │      no change │
│ QQuery 18 │ 1398.96 / 1454.52 ±42.02 / 1517.40 ms │ 1318.29 / 1336.07 ±12.86 / 1356.90 ms │  +1.09x faster │
│ QQuery 19 │      39.53 / 57.92 ±33.76 / 125.41 ms │        28.61 / 30.50 ±1.71 / 33.40 ms │  +1.90x faster │
│ QQuery 20 │    717.16 / 746.59 ±25.42 / 782.87 ms │     508.23 / 513.11 ±6.22 / 525.22 ms │  +1.46x faster │
│ QQuery 21 │     757.46 / 762.33 ±3.99 / 768.87 ms │     559.66 / 568.24 ±7.27 / 580.94 ms │  +1.34x faster │
│ QQuery 22 │ 1124.21 / 1136.28 ±10.85 / 1155.72 ms │    782.41 / 801.09 ±14.71 / 818.52 ms │  +1.42x faster │
│ QQuery 23 │ 3053.16 / 3108.59 ±51.99 / 3188.14 ms │    192.84 / 257.82 ±45.95 / 304.32 ms │ +12.06x faster │
│ QQuery 24 │      99.96 / 102.68 ±2.60 / 106.56 ms │        41.19 / 45.30 ±4.20 / 53.04 ms │  +2.27x faster │
│ QQuery 25 │     135.74 / 139.25 ±2.23 / 142.16 ms │     119.14 / 120.00 ±0.94 / 121.73 ms │  +1.16x faster │
│ QQuery 26 │      95.42 / 100.67 ±3.09 / 103.93 ms │        57.35 / 58.61 ±1.65 / 61.75 ms │  +1.72x faster │
│ QQuery 27 │     843.95 / 857.99 ±8.85 / 869.69 ms │     636.34 / 643.57 ±4.26 / 647.72 ms │  +1.33x faster │
│ QQuery 28 │ 3223.44 / 3267.47 ±28.06 / 3304.95 ms │ 2960.77 / 3021.61 ±48.30 / 3085.48 ms │  +1.08x faster │
│ QQuery 29 │        50.48 / 55.11 ±4.17 / 61.43 ms │        43.24 / 47.08 ±2.57 / 49.51 ms │  +1.17x faster │
│ QQuery 30 │     352.66 / 362.98 ±8.38 / 377.96 ms │     327.86 / 331.18 ±3.42 / 337.25 ms │  +1.10x faster │
│ QQuery 31 │     365.78 / 371.32 ±3.19 / 374.52 ms │     325.18 / 330.72 ±5.21 / 340.33 ms │  +1.12x faster │
│ QQuery 32 │ 1251.60 / 1311.40 ±45.16 / 1363.76 ms │ 1008.64 / 1048.10 ±25.30 / 1078.13 ms │  +1.25x faster │
│ QQuery 33 │ 1424.50 / 1481.68 ±66.30 / 1611.10 ms │ 1417.75 / 1430.16 ±11.08 / 1450.67 ms │      no change │
│ QQuery 34 │ 1435.18 / 1517.38 ±54.28 / 1581.41 ms │ 1488.27 / 1530.92 ±35.69 / 1574.47 ms │      no change │
│ QQuery 35 │     372.99 / 382.46 ±5.33 / 388.61 ms │     310.08 / 316.14 ±4.69 / 324.08 ms │  +1.21x faster │
│ QQuery 36 │     118.41 / 119.93 ±2.01 / 123.80 ms │        59.01 / 62.88 ±2.52 / 65.74 ms │  +1.91x faster │
│ QQuery 37 │        46.07 / 48.38 ±1.45 / 50.45 ms │        35.66 / 36.84 ±0.96 / 37.82 ms │  +1.31x faster │
│ QQuery 38 │        75.72 / 77.81 ±1.46 / 80.08 ms │        37.88 / 39.65 ±1.68 / 41.94 ms │  +1.96x faster │
│ QQuery 39 │     216.54 / 220.24 ±2.38 / 222.93 ms │     116.03 / 123.75 ±4.47 / 129.69 ms │  +1.78x faster │
│ QQuery 40 │        23.97 / 25.74 ±1.15 / 26.90 ms │        19.58 / 20.76 ±0.89 / 21.97 ms │  +1.24x faster │
│ QQuery 41 │        20.19 / 21.62 ±0.78 / 22.43 ms │        16.78 / 18.05 ±0.88 / 19.46 ms │  +1.20x faster │
│ QQuery 42 │        19.15 / 20.99 ±2.51 / 25.91 ms │        14.60 / 15.33 ±0.48 / 15.95 ms │  +1.37x faster │
└───────────┴───────────────────────────────────────┴───────────────────────────────────────┴────────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                                    ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                                    │ 22788.57ms │
│ Total Time (filter-pushdown-dynamic-bytes-morsels)   │ 17334.27ms │
│ Average Time (HEAD)                                  │   529.97ms │
│ Average Time (filter-pushdown-dynamic-bytes-morsels) │   403.12ms │
│ Queries Faster                                       │         33 │
│ Queries Slower                                       │          2 │
│ Queries with No Change                               │          8 │
│ Queries with Failure                                 │          0 │
└──────────────────────────────────────────────────────┴────────────┘

Resource Usage

clickbench_partitioned — base (merge-base)

Metric Value
Wall time 115.0s
Peak memory 36.2 GiB
Avg memory 27.3 GiB
CPU user 1077.6s
CPU sys 93.9s
Peak spill 0 B

clickbench_partitioned — branch

Metric Value
Wall time 90.0s
Peak memory 38.0 GiB
Avg memory 31.5 GiB
CPU user 907.3s
CPU sys 70.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 filter-pushdown-dynamic-bytes-morsels
--------------------
Benchmark tpcds_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                     HEAD ┃    filter-pushdown-dynamic-bytes-morsels ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │              6.58 / 7.00 ±0.74 / 8.48 ms │              6.24 / 6.66 ±0.79 / 8.23 ms │     no change │
│ QQuery 2  │        148.06 / 148.95 ±0.96 / 150.65 ms │        106.82 / 108.39 ±1.53 / 110.95 ms │ +1.37x faster │
│ QQuery 3  │        112.62 / 113.29 ±0.47 / 114.04 ms │        122.84 / 124.14 ±1.05 / 125.89 ms │  1.10x slower │
│ QQuery 4  │    1216.74 / 1245.29 ±19.52 / 1276.76 ms │    1010.80 / 1032.34 ±13.32 / 1043.78 ms │ +1.21x faster │
│ QQuery 5  │        170.90 / 172.52 ±1.17 / 174.26 ms │        170.15 / 173.82 ±2.38 / 176.72 ms │     no change │
│ QQuery 6  │       816.94 / 853.14 ±25.36 / 889.48 ms │        201.58 / 207.26 ±4.62 / 215.10 ms │ +4.12x faster │
│ QQuery 7  │        341.68 / 343.74 ±1.99 / 347.08 ms │        322.83 / 329.03 ±4.33 / 335.00 ms │     no change │
│ QQuery 8  │        114.06 / 115.45 ±0.84 / 116.69 ms │        136.16 / 141.34 ±4.26 / 147.55 ms │  1.22x slower │
│ QQuery 9  │        101.59 / 104.29 ±1.77 / 106.20 ms │        100.28 / 102.47 ±2.15 / 105.50 ms │     no change │
│ QQuery 10 │        105.93 / 106.62 ±0.65 / 107.71 ms │        135.78 / 144.83 ±6.42 / 154.35 ms │  1.36x slower │
│ QQuery 11 │        843.17 / 857.86 ±8.18 / 866.88 ms │        662.03 / 677.10 ±8.12 / 686.02 ms │ +1.27x faster │
│ QQuery 12 │           43.91 / 45.61 ±1.01 / 46.99 ms │           34.42 / 36.92 ±2.05 / 39.39 ms │ +1.24x faster │
│ QQuery 13 │        393.46 / 397.04 ±2.04 / 398.93 ms │        550.27 / 554.66 ±3.61 / 560.76 ms │  1.40x slower │
│ QQuery 14 │        985.38 / 989.46 ±2.41 / 992.97 ms │        844.16 / 855.55 ±9.19 / 872.04 ms │ +1.16x faster │
│ QQuery 15 │           15.69 / 16.24 ±0.80 / 17.84 ms │           17.86 / 19.03 ±0.89 / 20.04 ms │  1.17x slower │
│ QQuery 16 │              7.11 / 7.28 ±0.16 / 7.48 ms │              6.93 / 7.09 ±0.16 / 7.33 ms │     no change │
│ QQuery 17 │        225.83 / 227.92 ±1.61 / 230.63 ms │        169.76 / 174.58 ±2.66 / 176.62 ms │ +1.31x faster │
│ QQuery 18 │        126.16 / 129.17 ±1.63 / 130.99 ms │        179.08 / 187.50 ±4.49 / 191.89 ms │  1.45x slower │
│ QQuery 19 │        154.06 / 155.90 ±1.41 / 157.24 ms │        142.07 / 144.24 ±1.23 / 145.85 ms │ +1.08x faster │
│ QQuery 20 │           14.25 / 14.57 ±0.51 / 15.58 ms │           14.92 / 15.75 ±0.70 / 16.94 ms │  1.08x slower │
│ QQuery 21 │           19.65 / 20.29 ±0.74 / 21.31 ms │           20.02 / 21.12 ±0.60 / 21.82 ms │     no change │
│ QQuery 22 │        472.66 / 474.43 ±1.23 / 476.52 ms │        487.98 / 492.65 ±3.41 / 498.05 ms │     no change │
│ QQuery 23 │        857.26 / 861.31 ±3.70 / 867.47 ms │       823.60 / 842.11 ±10.07 / 852.77 ms │     no change │
│ QQuery 24 │        378.57 / 381.15 ±1.93 / 384.48 ms │        123.91 / 125.75 ±1.47 / 128.20 ms │ +3.03x faster │
│ QQuery 25 │        342.02 / 343.23 ±1.14 / 344.98 ms │        276.09 / 280.53 ±2.97 / 283.23 ms │ +1.22x faster │
│ QQuery 26 │           81.02 / 83.16 ±1.25 / 84.26 ms │        139.49 / 145.07 ±4.19 / 151.17 ms │  1.74x slower │
│ QQuery 27 │              6.97 / 7.93 ±0.60 / 8.59 ms │              6.57 / 7.22 ±0.60 / 8.11 ms │ +1.10x faster │
│ QQuery 28 │        149.01 / 149.92 ±0.81 / 151.40 ms │        148.93 / 150.31 ±0.77 / 151.23 ms │     no change │
│ QQuery 29 │        280.12 / 282.33 ±1.80 / 285.52 ms │        211.78 / 218.40 ±4.21 / 223.22 ms │ +1.29x faster │
│ QQuery 30 │           42.67 / 44.15 ±1.66 / 47.06 ms │           52.37 / 54.05 ±1.76 / 57.22 ms │  1.22x slower │
│ QQuery 31 │        170.95 / 172.57 ±1.38 / 174.52 ms │        168.58 / 169.85 ±1.82 / 173.43 ms │     no change │
│ QQuery 32 │           13.83 / 14.62 ±0.74 / 15.81 ms │           13.44 / 14.27 ±1.14 / 16.53 ms │     no change │
│ QQuery 33 │        142.43 / 143.34 ±0.77 / 144.60 ms │        131.13 / 132.66 ±1.26 / 134.31 ms │ +1.08x faster │
│ QQuery 34 │              6.84 / 7.09 ±0.25 / 7.56 ms │              6.80 / 7.08 ±0.41 / 7.90 ms │     no change │
│ QQuery 35 │        105.98 / 108.12 ±1.28 / 109.55 ms │        108.53 / 110.07 ±0.81 / 110.90 ms │     no change │
│ QQuery 36 │              6.49 / 6.77 ±0.27 / 7.13 ms │              6.14 / 6.49 ±0.25 / 6.76 ms │     no change │
│ QQuery 37 │              8.36 / 8.92 ±0.41 / 9.56 ms │              5.05 / 5.43 ±0.48 / 6.35 ms │ +1.64x faster │
│ QQuery 38 │           81.56 / 87.39 ±3.58 / 91.90 ms │           89.53 / 92.55 ±2.99 / 98.01 ms │  1.06x slower │
│ QQuery 39 │        124.92 / 127.14 ±1.50 / 128.70 ms │        128.55 / 131.30 ±1.86 / 132.90 ms │     no change │
│ QQuery 40 │        110.36 / 116.40 ±6.34 / 128.63 ms │        119.42 / 122.75 ±5.73 / 134.18 ms │  1.05x slower │
│ QQuery 41 │           14.24 / 15.69 ±0.91 / 16.98 ms │           17.01 / 17.75 ±0.83 / 19.33 ms │  1.13x slower │
│ QQuery 42 │        109.77 / 110.23 ±0.55 / 111.27 ms │        111.90 / 113.36 ±1.68 / 116.30 ms │     no change │
│ QQuery 43 │              5.94 / 6.14 ±0.20 / 6.47 ms │              5.75 / 5.86 ±0.16 / 6.17 ms │     no change │
│ QQuery 44 │           12.07 / 12.23 ±0.23 / 12.67 ms │           11.19 / 11.76 ±0.66 / 13.03 ms │     no change │
│ QQuery 45 │           51.75 / 52.34 ±0.84 / 53.99 ms │           43.76 / 44.56 ±0.85 / 46.07 ms │ +1.17x faster │
│ QQuery 46 │              8.30 / 8.58 ±0.35 / 9.18 ms │              8.14 / 8.45 ±0.24 / 8.86 ms │     no change │
│ QQuery 47 │        697.09 / 701.10 ±3.41 / 704.95 ms │       670.86 / 684.24 ±10.35 / 695.99 ms │     no change │
│ QQuery 48 │        280.09 / 289.18 ±5.41 / 295.12 ms │        358.64 / 362.68 ±4.06 / 369.74 ms │  1.25x slower │
│ QQuery 49 │        251.22 / 253.45 ±1.48 / 255.86 ms │        234.84 / 240.61 ±3.56 / 244.69 ms │ +1.05x faster │
│ QQuery 50 │        221.80 / 227.96 ±3.12 / 230.25 ms │        242.39 / 248.69 ±3.88 / 254.40 ms │  1.09x slower │
│ QQuery 51 │        178.83 / 181.76 ±2.39 / 184.03 ms │        207.31 / 211.43 ±2.76 / 214.29 ms │  1.16x slower │
│ QQuery 52 │        106.46 / 107.98 ±1.40 / 110.39 ms │        108.13 / 113.74 ±2.87 / 115.79 ms │  1.05x slower │
│ QQuery 53 │        102.04 / 102.51 ±0.51 / 103.49 ms │        137.30 / 144.44 ±3.72 / 148.21 ms │  1.41x slower │
│ QQuery 54 │        146.68 / 147.06 ±0.20 / 147.23 ms │        124.63 / 128.37 ±2.47 / 131.33 ms │ +1.15x faster │
│ QQuery 55 │        105.89 / 106.31 ±0.33 / 106.73 ms │        108.19 / 112.34 ±3.00 / 116.37 ms │  1.06x slower │
│ QQuery 56 │        139.49 / 141.19 ±1.87 / 144.23 ms │        133.85 / 136.60 ±1.38 / 137.46 ms │     no change │
│ QQuery 57 │        172.78 / 175.16 ±2.57 / 180.04 ms │        181.98 / 183.54 ±1.10 / 184.55 ms │     no change │
│ QQuery 58 │        272.08 / 273.94 ±1.74 / 276.72 ms │        227.10 / 228.63 ±0.87 / 229.80 ms │ +1.20x faster │
│ QQuery 59 │        200.85 / 202.05 ±0.89 / 203.45 ms │        226.57 / 227.93 ±1.34 / 230.28 ms │  1.13x slower │
│ QQuery 60 │        143.16 / 146.27 ±1.91 / 148.31 ms │        134.93 / 138.32 ±2.21 / 141.24 ms │ +1.06x faster │
│ QQuery 61 │           13.40 / 13.69 ±0.35 / 14.36 ms │           12.16 / 12.76 ±0.51 / 13.49 ms │ +1.07x faster │
│ QQuery 62 │      893.03 / 949.36 ±60.25 / 1066.37 ms │       872.04 / 891.55 ±10.61 / 902.64 ms │ +1.06x faster │
│ QQuery 63 │        102.74 / 104.43 ±1.36 / 106.18 ms │        139.00 / 144.61 ±4.06 / 150.08 ms │  1.38x slower │
│ QQuery 64 │        679.88 / 689.58 ±7.07 / 699.16 ms │        721.67 / 730.49 ±4.63 / 734.81 ms │  1.06x slower │
│ QQuery 65 │        249.42 / 254.68 ±4.36 / 259.93 ms │        318.98 / 324.41 ±4.89 / 333.49 ms │  1.27x slower │
│ QQuery 66 │        248.51 / 255.56 ±6.74 / 268.32 ms │        185.40 / 188.71 ±2.64 / 192.09 ms │ +1.35x faster │
│ QQuery 67 │        306.42 / 312.54 ±4.33 / 318.28 ms │        468.81 / 474.89 ±7.15 / 487.07 ms │  1.52x slower │
│ QQuery 68 │            9.12 / 10.62 ±1.28 / 12.49 ms │            9.46 / 11.11 ±1.34 / 12.91 ms │     no change │
│ QQuery 69 │        102.04 / 103.21 ±1.15 / 105.31 ms │        133.43 / 138.82 ±3.93 / 144.59 ms │  1.34x slower │
│ QQuery 70 │       325.12 / 345.74 ±15.46 / 372.54 ms │        376.51 / 386.30 ±8.27 / 397.83 ms │  1.12x slower │
│ QQuery 71 │        133.61 / 134.83 ±0.82 / 136.12 ms │        126.46 / 129.14 ±1.94 / 132.22 ms │     no change │
│ QQuery 72 │        614.33 / 626.68 ±6.65 / 633.78 ms │        484.24 / 486.87 ±2.85 / 491.16 ms │ +1.29x faster │
│ QQuery 73 │              7.28 / 8.44 ±0.94 / 9.54 ms │              6.50 / 7.00 ±0.50 / 7.86 ms │ +1.21x faster │
│ QQuery 74 │        573.23 / 583.69 ±9.56 / 600.98 ms │        484.29 / 486.14 ±1.54 / 487.94 ms │ +1.20x faster │
│ QQuery 75 │        274.53 / 278.45 ±2.22 / 281.33 ms │        270.44 / 273.77 ±2.00 / 275.74 ms │     no change │
│ QQuery 76 │        130.28 / 131.91 ±1.31 / 134.21 ms │        153.48 / 154.94 ±1.27 / 157.12 ms │  1.17x slower │
│ QQuery 77 │        188.52 / 190.27 ±2.21 / 194.53 ms │        201.76 / 204.82 ±1.62 / 206.47 ms │  1.08x slower │
│ QQuery 78 │        333.91 / 339.84 ±3.92 / 345.67 ms │        297.66 / 304.72 ±4.89 / 311.68 ms │ +1.12x faster │
│ QQuery 79 │        228.87 / 231.58 ±2.81 / 236.84 ms │        257.32 / 260.10 ±1.86 / 263.03 ms │  1.12x slower │
│ QQuery 80 │        321.76 / 324.21 ±1.95 / 326.72 ms │        258.43 / 260.76 ±2.05 / 263.52 ms │ +1.24x faster │
│ QQuery 81 │           25.31 / 26.09 ±0.61 / 26.93 ms │           30.57 / 33.27 ±1.84 / 36.31 ms │  1.28x slower │
│ QQuery 82 │           40.44 / 41.64 ±2.00 / 45.63 ms │           43.14 / 45.13 ±1.42 / 47.29 ms │  1.08x slower │
│ QQuery 83 │           38.99 / 40.02 ±0.53 / 40.42 ms │           40.72 / 41.70 ±0.83 / 43.16 ms │     no change │
│ QQuery 84 │           48.09 / 50.05 ±1.63 / 53.03 ms │           52.04 / 52.79 ±0.58 / 53.80 ms │  1.05x slower │
│ QQuery 85 │        147.64 / 150.87 ±1.98 / 152.73 ms │        214.61 / 216.58 ±1.30 / 218.67 ms │  1.44x slower │
│ QQuery 86 │           39.14 / 40.40 ±0.69 / 40.99 ms │           40.92 / 43.47 ±1.91 / 45.31 ms │  1.08x slower │
│ QQuery 87 │           85.23 / 88.64 ±3.52 / 95.13 ms │           88.01 / 90.97 ±2.96 / 96.39 ms │     no change │
│ QQuery 88 │         99.68 / 105.11 ±8.54 / 122.15 ms │        119.93 / 120.75 ±0.84 / 122.30 ms │  1.15x slower │
│ QQuery 89 │        119.12 / 119.97 ±0.79 / 121.37 ms │        140.64 / 143.94 ±2.09 / 146.20 ms │  1.20x slower │
│ QQuery 90 │           23.39 / 24.23 ±0.52 / 25.01 ms │           23.40 / 25.79 ±1.72 / 28.43 ms │  1.06x slower │
│ QQuery 91 │           63.54 / 64.74 ±0.78 / 65.51 ms │        105.52 / 106.96 ±0.80 / 107.74 ms │  1.65x slower │
│ QQuery 92 │           56.85 / 57.74 ±0.69 / 58.58 ms │           55.97 / 58.50 ±2.22 / 61.17 ms │     no change │
│ QQuery 93 │        183.16 / 185.95 ±1.48 / 187.27 ms │        185.12 / 185.99 ±0.63 / 187.04 ms │     no change │
│ QQuery 94 │           62.21 / 63.19 ±1.30 / 65.75 ms │           64.35 / 68.53 ±2.35 / 71.00 ms │  1.08x slower │
│ QQuery 95 │        130.32 / 131.45 ±1.04 / 132.81 ms │        121.21 / 121.98 ±0.43 / 122.43 ms │ +1.08x faster │
│ QQuery 96 │           71.35 / 74.04 ±1.82 / 77.04 ms │           90.05 / 91.28 ±1.31 / 93.63 ms │  1.23x slower │
│ QQuery 97 │        124.50 / 125.85 ±1.12 / 127.71 ms │        148.53 / 150.53 ±2.02 / 153.64 ms │  1.20x slower │
│ QQuery 98 │        153.02 / 154.81 ±1.55 / 156.59 ms │        115.65 / 117.72 ±2.08 / 121.55 ms │ +1.32x faster │
│ QQuery 99 │ 10692.78 / 10715.25 ±24.36 / 10756.97 ms │ 10660.96 / 10716.25 ±36.38 / 10772.78 ms │     no change │
└───────────┴──────────────────────────────────────────┴──────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                                    ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                                    │ 30902.09ms │
│ Total Time (filter-pushdown-dynamic-bytes-morsels)   │ 29839.66ms │
│ Average Time (HEAD)                                  │   312.14ms │
│ Average Time (filter-pushdown-dynamic-bytes-morsels) │   301.41ms │
│ Queries Faster                                       │         29 │
│ Queries Slower                                       │         40 │
│ Queries with No Change                               │         30 │
│ Queries with Failure                                 │          0 │
└──────────────────────────────────────────────────────┴────────────┘

Resource Usage

tpcds — base (merge-base)

Metric Value
Wall time 155.0s
Peak memory 4.9 GiB
Avg memory 4.3 GiB
CPU user 256.3s
CPU sys 16.7s
Peak spill 0 B

tpcds — branch

Metric Value
Wall time 150.0s
Peak memory 5.2 GiB
Avg memory 4.3 GiB
CPU user 208.8s
CPU sys 21.3s
Peak spill 0 B

File an issue against this benchmark runner

adriangb and others added 4 commits April 20, 2026 14:26
Introduces a runtime adaptive filter selectivity tracking system for
Parquet pushdown. Each filter is monitored with Welford online stats
and moves through a state machine: New -> RowFilter|PostScan ->
(promoted / demoted / dropped).

Key changes:
- New selectivity.rs module (SelectivityTracker, TrackerConfig,
  SelectivityStats, FilterState, PartitionedFilters, FilterId).
- New OptionalFilterPhysicalExpr wrapper in physical_expr_common.
  HashJoinExec wraps dynamic join filters in it.
- Removes reorder_filters config + supporting code.
- Adds filter_pushdown_min_bytes_per_sec,
  filter_collecting_byte_ratio_threshold, filter_confidence_z config.
- Predicate storage: Option<Arc<PhysicalExpr>> -> Option<Vec<(FilterId,
  Arc<PhysicalExpr>)>> on ParquetSource/ParquetOpener.
- build_row_filter takes Vec<(FilterId,...)> + SelectivityTracker,
  returns RowFilterWithMetrics. DatafusionArrowPredicate reports
  per-batch stats back to the tracker.
- ParquetOpener calls tracker.partition_filters() and
  apply_post_scan_filters_with_stats; records filter_apply_time.
- Proto reserves tag 6 (was reorder_filters); adds 3 new optional
  fields.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Optional/dynamic filters from hash-join build sides were unconditionally
placed as PostScan on first encounter, losing late-materialization
benefits even when filter columns were small relative to the projection.
With few file splits opened in parallel, the tracker rarely accumulated
enough samples to promote them mid-query.

Apply the same byte_ratio_threshold heuristic used for static filters.
The CI lower-bound promotion and CI upper-bound demotion paths still
apply, including Drop for ineffective optional filters.

Local TPC-DS sf1 (M-series, pushdown_filters=true):

| Query | Main  | Branch | Branch+Fix |
|-------|-------|--------|------------|
| Q24   |    72 |    452 |         70 |
| Q17   |   124 |    212 |        121 |
| Q25   |   182 |    379 |        203 |
| Q29   |   152 |    312 |        145 |
| Q7    |   224 |    297 |        220 |
| Q58   |   129 |    191 |        133 |
| Q64   | 28213 |    672 |        578 |
| Q9    |   228 |     96 |         87 |
| Q76   |   172 |    105 |        156 |

Q76 regresses slightly vs the no-fix branch (CASE/hash_lookup is CPU-
heavy at row level) but still beats main.

Also updates dynamic_filter_pushdown_config.slt to match the
Optional(DynamicFilter ...) display introduced earlier in the branch.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
After moving optional filters to RowFilter via byte_ratio, queries with
1-row-group-per-file inputs (e.g. TPC-DS) had no chance to demote when
the chosen filter turned out to be CPU-dominated and ineffective:
partition_filters runs once per file open, all 12 split openers fire in
parallel and see no stats, and the existing Demote/Drop branches never
re-trigger for the lifetime of the scan.

Add a per-FilterId Arc<AtomicBool> "skip flag" owned by
SelectivityTracker. Once a filter has accumulated enough samples and its
CI upper bound on bytes-per-second falls below min_bytes_per_sec, the
hot per-batch update() path flips the flag — but only for filters
recorded as optional at first encounter (mandatory filters must always
execute or the result set changes).

Both consumers honour it:
  * DatafusionArrowPredicate::evaluate returns an all-true mask without
    invoking physical_expr (filter columns are still decoded; CPU is
    reclaimed but I/O is not, pending arrow-rs API).
  * apply_post_scan_filters_with_stats `continue`s past the filter,
    skipping evaluation and the per-batch tracker.update.

Local TPC-DS sf1 (M-series, pushdown_filters=true), worst regressors
from main pushdown=off baseline:

| Query | Main(off) | Branch(byte-ratio) | +skip-flag |
|-------|-----------|--------------------|------------|
| Q72   |     619   |          554       |       261  |
| Q50   |     221   |          521       |       135  |
| Q23   |     892   |         1217       |       680  |
| Q67   |     310   |          510       |       306  |
| Q18   |     128   |          312       |       178  |
| Q13   |     399   |          558       |       363  |
| Q53   |     103   |          167       |        93  |
| Q63   |     106   |          173       |        93  |
| Q76   |     132   |          268       |       105  |

Q24-class wins are unaffected (Q24 holds at 70 ms vs 379 ms on main).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Q18 (and several other TPC-DS regressions) had a post-scan
customer_demographics filter — `Optional(DynamicFilter)` on the single
projected column `cd_demo_sk` — that burned 90 ms of CPU per scan but
could never be skipped. The filter was correctly placed at PostScan
(projection ⊆ filter columns ⇒ byte_ratio = 1.0 > threshold) but the
mid-stream skip path never fired.

Root cause: `SelectivityStats::update` only incremented `sample_count`
when `batch_bytes > 0`. When the projection is a subset of the filter
columns, `other_bytes_per_row = 0` and therefore `batch_bytes = 0` on
every call, so the Welford counter stayed at zero, the CI upper bound
stayed `None`, and the skip check short-circuited. Meanwhile the filter
kept running per batch.

Admit samples with `batch_bytes = 0`. The recorded effectiveness for
those samples is legitimately zero (no late-materialization payoff), so
the CI upper bound converges on zero after a few batches and the skip
flag flips for optional filters — exactly what we want: CPU spent, no
byte savings, optional ⇒ drop.

Local TPC-DS sf1 (M-series, pushdown=on) vs main pushdown=off:

| Query | Main(off) | Before | After |
|-------|-----------|--------|-------|
| Q18   |   99      | 182    |  118  |
| Q67   |  312      | 503    |  346  |
| Q26   |   80      | 151    |   94  |
| Q85   |  149      | 246    |  157  |
| Q91   |   64      | 108    |   58  |
| Q53   |  103      | 144    |   99  |
| Q63   |  103      | 148    |   99  |
| Q13   |  399      | 558    |  376  |
| Q72   |  619      | 489    |  277  |
| Q24   |  379      |  70    |   70  |
| Q64   | 28213     | --     |  519  |

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@adriangb
Copy link
Copy Markdown
Owner Author

run benchmark tpch
baseline:
ref: main
changed:
ref: HEAD

The OptionalFilterPhysicalExpr wrapper introduced for optional dynamic
filters changes two things observable in tests:

1. Display format: `DynamicFilter [...]` becomes `Optional(DynamicFilter
   [...])` when wrapped. Update insta snapshots in filter_pushdown.rs
   and plan strings in joins.slt / push_down_filter_parquet.slt.

2. Adaptive tracker placement: new filters flow through the byte-ratio
   heuristic and optional filters can be skipped mid-stream. This
   zeroes pushdown metrics for cases where the tracker chose PostScan
   or dropped the filter. Row group / page pruning still runs via the
   pruning predicate, so output rows are unchanged.

Also fix test_discover_dynamic_filters_via_expressions_api to walk
each expression subtree so the inner DynamicFilterPhysicalExpr is still
found when wrapped in OptionalFilterPhysicalExpr.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@adriangb adriangb closed this Apr 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.