Skip to content

Adaptive filter scheduling for Parquet scans#21752

Open
adriangb wants to merge 7 commits intoapache:mainfrom
adriangb:filter-pushdown-dynamic-bytes-morsels
Open

Adaptive filter scheduling for Parquet scans#21752
adriangb wants to merge 7 commits intoapache:mainfrom
adriangb:filter-pushdown-dynamic-bytes-morsels

Conversation

@adriangb
Copy link
Copy Markdown
Contributor

Currently we are either all or nothing applying filters as post-scan or row filters.

This PR introduces basic intra-query tracking of filter selectivity and dynamically adjusts how we apply filters.
We use heuristics to determine where to start filters and how to order them (hence this replaces the existing reorder_filters config) and then use runtime stats to move filters around.

Importantly this dynamic optimization impacts the IO patterns: we don't just move the compute, we move the IO as well. When filters are applied as row filters we schedule reads one by one. For example, for a filter like service_name = 'foo' and duration > 1 we would:

  1. Read the entire duration column and filter based on it.
  2. Compute a mask.
  3. Read the service_name column applying this mask.
  4. Create a final mask used to filter any projected rows.

This means two round trips to object storage (at least), which may be worth it if duration > 1 filters out 75% of rows and service_name = 'foo' filters out another 75%. But if duration > 1 filters out 99% of rows we might as well just pull the remaining service_name rows when we read the projection data and filter in memory. Similarly if service_name = 'foo' filtered out 99% of the data we could apply duration > 1 in memory. If they both filter 99% of the data it's a tossup but we definitely should not be doing 2 IOs, one of them is redundant.

This is complimentary to the compute-only optimizations being discussed in apache/arrow-rs#9659.

I do think there's an important followup here (which will be visible in the benchmarks): we currently can only adapt between row groups. If the data files are single huge row groups (as in TPCDS, also what DuckDB writes by default) we may not have a chance to adapt properly. Fixing this would require some way to re-evaluate the strategy mid stream (easy to do in DataFusion) but then push a new strategy into arrow-rs (new projection, new row filters). Maybe we can do this just in DataFusion if we were able to keep track of which pages have been read or something, but it'd likely be smoother if integrated with arrow-rs.

@github-actions github-actions bot added documentation Improvements or additions to documentation physical-expr Changes to the physical-expr crates core Core DataFusion crate sqllogictest SQL Logic Tests (.slt) common Related to common crate proto Related to proto crate datasource Changes to the datasource crate physical-plan Changes to the physical-plan crate labels Apr 20, 2026
@adriangb
Copy link
Copy Markdown
Contributor Author

run benchmarks

@adriangb
Copy link
Copy Markdown
Contributor 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-c4283745570-1618-h9tk6 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 (487e56b) to a311d14 (merge-base) diff using: clickbench_partitioned
Results will be posted here when complete


File an issue against this benchmark runner

@adriangbot
Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c4283745570-1619-ff5hj 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 (487e56b) to a311d14 (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-c4283745570-1620-ltrpw 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 (487e56b) to a311d14 (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 for this request failed.

Last 20 lines of output:

Click to expand
Cloning into '/workspace/datafusion-branch'...
From https://github.com/apache/datafusion
 * [new ref]         refs/pull/21752/head -> filter-pushdown-dynamic-bytes-morsels
 * branch            main       -> FETCH_HEAD
Switched to branch 'filter-pushdown-dynamic-bytes-morsels'
a311d149bf7ee345c9c9db5486b67ff98d8ce708
From https://github.com/apache/datafusion
 * branch            refs/pull/21752/head -> FETCH_HEAD
Cloning into '/workspace/datafusion-base'...
From https://github.com/apache/datafusion
 * branch            refs/pull/21752/head -> FETCH_HEAD
Your branch is up to date with 'origin/main'.
Already on 'main'
rustc 1.95.0 (59807616e 2026-04-14)
487e56bec71a59e2d36b95f6c7a13cdb79fdbb1d
a311d149bf7ee345c9c9db5486b67ff98d8ce708

File an issue against this benchmark runner

2 similar comments
@adriangbot
Copy link
Copy Markdown

Benchmark for this request failed.

Last 20 lines of output:

Click to expand
Cloning into '/workspace/datafusion-branch'...
From https://github.com/apache/datafusion
 * [new ref]         refs/pull/21752/head -> filter-pushdown-dynamic-bytes-morsels
 * branch            main       -> FETCH_HEAD
Switched to branch 'filter-pushdown-dynamic-bytes-morsels'
a311d149bf7ee345c9c9db5486b67ff98d8ce708
From https://github.com/apache/datafusion
 * branch            refs/pull/21752/head -> FETCH_HEAD
Cloning into '/workspace/datafusion-base'...
From https://github.com/apache/datafusion
 * branch            refs/pull/21752/head -> FETCH_HEAD
Your branch is up to date with 'origin/main'.
Already on 'main'
rustc 1.95.0 (59807616e 2026-04-14)
487e56bec71a59e2d36b95f6c7a13cdb79fdbb1d
a311d149bf7ee345c9c9db5486b67ff98d8ce708

File an issue against this benchmark runner

@adriangbot
Copy link
Copy Markdown

Benchmark for this request failed.

Last 20 lines of output:

Click to expand
Cloning into '/workspace/datafusion-branch'...
From https://github.com/apache/datafusion
 * [new ref]         refs/pull/21752/head -> filter-pushdown-dynamic-bytes-morsels
 * branch            main       -> FETCH_HEAD
Switched to branch 'filter-pushdown-dynamic-bytes-morsels'
a311d149bf7ee345c9c9db5486b67ff98d8ce708
From https://github.com/apache/datafusion
 * branch            refs/pull/21752/head -> FETCH_HEAD
Cloning into '/workspace/datafusion-base'...
From https://github.com/apache/datafusion
 * branch            refs/pull/21752/head -> FETCH_HEAD
Your branch is up to date with 'origin/main'.
Already on 'main'
rustc 1.95.0 (59807616e 2026-04-14)
487e56bec71a59e2d36b95f6c7a13cdb79fdbb1d
a311d149bf7ee345c9c9db5486b67ff98d8ce708

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.16 / 4.34 ±6.27 / 16.88 ms │          1.17 / 4.50 ±6.48 / 17.46 ms │     no change │
│ QQuery 1  │        12.00 / 12.20 ±0.14 / 12.37 ms │        12.24 / 12.71 ±0.25 / 12.96 ms │     no change │
│ QQuery 2  │        35.69 / 35.88 ±0.13 / 36.02 ms │        36.68 / 36.76 ±0.06 / 36.85 ms │     no change │
│ QQuery 3  │        31.00 / 31.74 ±0.73 / 32.76 ms │        31.52 / 32.03 ±0.29 / 32.36 ms │     no change │
│ QQuery 4  │     250.08 / 256.23 ±3.41 / 259.58 ms │     251.77 / 256.86 ±4.09 / 264.27 ms │     no change │
│ QQuery 5  │     288.19 / 290.60 ±1.44 / 292.50 ms │     291.88 / 296.15 ±3.19 / 299.78 ms │     no change │
│ QQuery 6  │          6.18 / 9.32 ±4.97 / 19.23 ms │           7.06 / 7.61 ±0.37 / 8.07 ms │ +1.23x faster │
│ QQuery 7  │        13.34 / 13.74 ±0.40 / 14.51 ms │        13.64 / 13.98 ±0.30 / 14.45 ms │     no change │
│ QQuery 8  │     352.68 / 359.51 ±6.56 / 371.19 ms │    355.79 / 369.86 ±10.64 / 384.56 ms │     no change │
│ QQuery 9  │     496.58 / 509.02 ±7.61 / 515.79 ms │    513.39 / 529.62 ±13.28 / 548.31 ms │     no change │
│ QQuery 10 │        74.03 / 75.60 ±1.87 / 79.21 ms │        75.86 / 78.35 ±2.46 / 81.50 ms │     no change │
│ QQuery 11 │        84.38 / 84.48 ±0.10 / 84.61 ms │        85.51 / 86.16 ±0.48 / 86.99 ms │     no change │
│ QQuery 12 │     288.20 / 294.99 ±5.35 / 302.59 ms │     291.69 / 303.23 ±7.73 / 311.98 ms │     no change │
│ QQuery 13 │     415.13 / 425.45 ±8.76 / 436.52 ms │     431.51 / 438.99 ±6.67 / 451.28 ms │     no change │
│ QQuery 14 │     298.23 / 302.01 ±2.66 / 305.15 ms │     304.02 / 308.83 ±2.61 / 311.61 ms │     no change │
│ QQuery 15 │    316.03 / 331.72 ±14.39 / 358.16 ms │    322.57 / 338.75 ±14.08 / 364.29 ms │     no change │
│ QQuery 16 │     663.83 / 672.99 ±5.64 / 681.04 ms │     674.15 / 679.01 ±5.49 / 689.23 ms │     no change │
│ QQuery 17 │     660.16 / 666.83 ±4.12 / 672.71 ms │     671.08 / 673.87 ±4.05 / 681.92 ms │     no change │
│ QQuery 18 │ 1352.22 / 1424.15 ±42.54 / 1464.73 ms │ 1367.15 / 1476.21 ±57.10 / 1533.94 ms │     no change │
│ QQuery 19 │       29.21 / 43.29 ±25.12 / 93.51 ms │        30.76 / 36.11 ±8.90 / 53.87 ms │ +1.20x faster │
│ QQuery 20 │    519.05 / 532.19 ±12.14 / 548.19 ms │     524.77 / 530.55 ±7.06 / 542.18 ms │     no change │
│ QQuery 21 │     592.80 / 598.65 ±4.26 / 605.22 ms │     598.13 / 606.61 ±9.51 / 624.52 ms │     no change │
│ QQuery 22 │  1053.37 / 1060.06 ±6.28 / 1070.67 ms │  1053.02 / 1063.46 ±8.23 / 1077.23 ms │     no change │
│ QQuery 23 │ 3282.67 / 3314.65 ±22.78 / 3351.75 ms │ 3299.89 / 3314.41 ±13.17 / 3335.93 ms │     no change │
│ QQuery 24 │        42.69 / 46.38 ±3.97 / 53.84 ms │        43.07 / 45.52 ±3.47 / 52.35 ms │     no change │
│ QQuery 25 │     113.33 / 114.85 ±1.63 / 117.93 ms │     113.92 / 115.02 ±1.05 / 116.58 ms │     no change │
│ QQuery 26 │        42.78 / 44.86 ±1.35 / 46.25 ms │        43.59 / 44.25 ±0.53 / 45.00 ms │     no change │
│ QQuery 27 │     667.37 / 674.54 ±6.97 / 685.73 ms │     665.87 / 672.14 ±3.54 / 676.41 ms │     no change │
│ QQuery 28 │  2997.39 / 3011.18 ±8.73 / 3020.94 ms │ 2962.05 / 2996.32 ±20.50 / 3021.47 ms │     no change │
│ QQuery 29 │      43.54 / 75.95 ±34.45 / 123.99 ms │        43.18 / 47.50 ±3.14 / 52.11 ms │ +1.60x faster │
│ QQuery 30 │     336.90 / 347.97 ±7.44 / 359.67 ms │     327.39 / 334.60 ±6.68 / 346.53 ms │     no change │
│ QQuery 31 │    329.61 / 348.49 ±22.17 / 391.06 ms │     326.42 / 336.45 ±5.90 / 342.32 ms │     no change │
│ QQuery 32 │ 1129.63 / 1162.68 ±31.29 / 1201.92 ms │ 1016.81 / 1027.08 ±16.10 / 1059.16 ms │ +1.13x faster │
│ QQuery 33 │ 1448.36 / 1528.23 ±54.75 / 1613.73 ms │ 1423.44 / 1436.36 ±10.61 / 1452.99 ms │ +1.06x faster │
│ QQuery 34 │ 1450.05 / 1467.84 ±11.87 / 1481.52 ms │ 1438.35 / 1468.44 ±24.85 / 1509.91 ms │     no change │
│ QQuery 35 │     307.93 / 315.78 ±6.35 / 327.29 ms │     312.57 / 320.10 ±8.28 / 336.00 ms │     no change │
│ QQuery 36 │        62.62 / 66.56 ±2.29 / 69.63 ms │        63.34 / 66.77 ±2.43 / 70.03 ms │     no change │
│ QQuery 37 │        36.06 / 37.34 ±1.60 / 40.42 ms │        35.70 / 37.99 ±1.60 / 39.81 ms │     no change │
│ QQuery 38 │        41.46 / 42.55 ±0.78 / 43.23 ms │        40.51 / 41.91 ±1.08 / 43.41 ms │     no change │
│ QQuery 39 │     122.55 / 129.33 ±4.25 / 134.34 ms │     120.14 / 128.50 ±7.34 / 138.61 ms │     no change │
│ QQuery 40 │        14.72 / 17.27 ±1.89 / 19.37 ms │        14.42 / 17.58 ±2.44 / 21.40 ms │     no change │
│ QQuery 41 │        13.93 / 15.01 ±0.96 / 16.25 ms │        14.26 / 15.47 ±1.36 / 18.08 ms │     no change │
│ QQuery 42 │        13.13 / 13.69 ±0.32 / 14.02 ms │        13.59 / 14.23 ±0.78 / 15.68 ms │     no change │
└───────────┴───────────────────────────────────────┴───────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                                    ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                                    │ 20810.14ms │
│ Total Time (filter-pushdown-dynamic-bytes-morsels)   │ 20660.85ms │
│ Average Time (HEAD)                                  │   483.96ms │
│ Average Time (filter-pushdown-dynamic-bytes-morsels) │   480.48ms │
│ Queries Faster                                       │          5 │
│ Queries Slower                                       │          0 │
│ Queries with No Change                               │         38 │
│ Queries with Failure                                 │          0 │
└──────────────────────────────────────────────────────┴────────────┘

Resource Usage

clickbench_partitioned — base (merge-base)

Metric Value
Wall time 105.0s
Peak memory 35.5 GiB
Avg memory 26.2 GiB
CPU user 1064.9s
CPU sys 100.9s
Peak spill 0 B

clickbench_partitioned — branch

Metric Value
Wall time 105.0s
Peak memory 38.6 GiB
Avg memory 27.6 GiB
CPU user 1069.7s
CPU sys 91.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.40 / 6.82 ±0.75 / 8.32 ms │              6.52 / 6.94 ±0.70 / 8.34 ms │     no change │
│ QQuery 2  │        146.73 / 148.14 ±1.16 / 149.82 ms │        147.67 / 148.68 ±0.90 / 150.30 ms │     no change │
│ QQuery 3  │        114.11 / 114.96 ±0.75 / 116.04 ms │        114.05 / 114.59 ±0.30 / 114.89 ms │     no change │
│ QQuery 4  │    1316.58 / 1352.14 ±24.16 / 1379.15 ms │    1335.74 / 1355.68 ±17.17 / 1386.77 ms │     no change │
│ QQuery 5  │        172.44 / 174.65 ±2.00 / 177.93 ms │        171.78 / 174.89 ±1.92 / 177.33 ms │     no change │
│ QQuery 6  │       842.48 / 862.02 ±20.68 / 897.32 ms │       835.73 / 851.61 ±17.02 / 877.10 ms │     no change │
│ QQuery 7  │        342.36 / 347.71 ±5.44 / 358.09 ms │        339.43 / 343.20 ±3.38 / 348.96 ms │     no change │
│ QQuery 8  │        116.16 / 117.72 ±1.07 / 119.11 ms │        115.60 / 117.81 ±1.93 / 121.13 ms │     no change │
│ QQuery 9  │        102.43 / 107.83 ±4.40 / 115.86 ms │        101.04 / 108.22 ±5.90 / 114.96 ms │     no change │
│ QQuery 10 │        105.16 / 106.52 ±1.14 / 108.32 ms │        105.22 / 106.12 ±0.78 / 107.13 ms │     no change │
│ QQuery 11 │        965.64 / 972.22 ±7.17 / 985.79 ms │       945.20 / 962.10 ±10.49 / 976.62 ms │     no change │
│ QQuery 12 │           44.99 / 47.12 ±1.20 / 48.27 ms │           46.71 / 47.53 ±0.62 / 48.33 ms │     no change │
│ QQuery 13 │        398.33 / 401.02 ±2.08 / 404.28 ms │        398.69 / 403.62 ±2.87 / 407.63 ms │     no change │
│ QQuery 14 │     989.16 / 1010.21 ±11.80 / 1022.97 ms │      999.80 / 1010.23 ±8.40 / 1025.47 ms │     no change │
│ QQuery 15 │           16.11 / 17.75 ±1.86 / 21.30 ms │           16.43 / 17.03 ±0.81 / 18.58 ms │     no change │
│ QQuery 16 │              7.81 / 8.19 ±0.33 / 8.67 ms │              7.53 / 8.36 ±0.72 / 9.35 ms │     no change │
│ QQuery 17 │        228.84 / 229.86 ±1.04 / 231.81 ms │        229.51 / 231.65 ±1.14 / 232.60 ms │     no change │
│ QQuery 18 │        127.19 / 129.36 ±1.52 / 131.67 ms │        128.10 / 129.13 ±0.82 / 130.38 ms │     no change │
│ QQuery 19 │        154.92 / 156.91 ±1.43 / 159.37 ms │        157.03 / 160.16 ±2.01 / 162.78 ms │     no change │
│ QQuery 20 │           13.75 / 14.27 ±0.45 / 15.01 ms │           14.34 / 14.76 ±0.49 / 15.63 ms │     no change │
│ QQuery 21 │           19.19 / 19.60 ±0.35 / 20.23 ms │           20.15 / 20.42 ±0.34 / 21.02 ms │     no change │
│ QQuery 22 │        481.46 / 484.38 ±2.69 / 489.48 ms │        486.80 / 491.71 ±5.60 / 501.63 ms │     no change │
│ QQuery 23 │        881.29 / 892.38 ±8.66 / 902.87 ms │       914.33 / 928.93 ±18.02 / 963.61 ms │     no change │
│ QQuery 24 │        381.94 / 388.61 ±4.58 / 395.00 ms │        389.40 / 394.64 ±5.57 / 404.53 ms │     no change │
│ QQuery 25 │        340.75 / 343.65 ±2.30 / 347.70 ms │        347.76 / 350.40 ±2.27 / 354.31 ms │     no change │
│ QQuery 26 │           79.46 / 81.65 ±1.27 / 83.17 ms │           81.92 / 83.96 ±1.97 / 87.47 ms │     no change │
│ QQuery 27 │              6.73 / 7.18 ±0.50 / 8.13 ms │              7.07 / 7.37 ±0.43 / 8.23 ms │     no change │
│ QQuery 28 │        149.00 / 150.46 ±1.10 / 152.24 ms │        151.16 / 151.98 ±0.69 / 153.24 ms │     no change │
│ QQuery 29 │        282.36 / 284.38 ±2.20 / 288.55 ms │        287.91 / 290.13 ±2.10 / 293.99 ms │     no change │
│ QQuery 30 │           43.38 / 44.94 ±1.37 / 47.38 ms │           43.77 / 46.19 ±1.85 / 47.98 ms │     no change │
│ QQuery 31 │        169.24 / 172.40 ±1.92 / 174.58 ms │        171.91 / 175.25 ±2.24 / 178.00 ms │     no change │
│ QQuery 32 │           13.20 / 13.62 ±0.37 / 14.10 ms │           14.41 / 14.82 ±0.32 / 15.26 ms │  1.09x slower │
│ QQuery 33 │        140.81 / 142.51 ±1.11 / 143.80 ms │        142.33 / 144.93 ±1.31 / 145.82 ms │     no change │
│ QQuery 34 │              6.90 / 7.15 ±0.21 / 7.48 ms │              7.29 / 7.73 ±0.45 / 8.59 ms │  1.08x slower │
│ QQuery 35 │        106.42 / 108.37 ±1.60 / 111.24 ms │        111.21 / 112.28 ±0.61 / 113.02 ms │     no change │
│ QQuery 36 │              6.51 / 6.74 ±0.31 / 7.35 ms │              6.68 / 7.08 ±0.46 / 7.96 ms │  1.05x slower │
│ QQuery 37 │             8.58 / 9.50 ±1.11 / 11.45 ms │              8.76 / 9.08 ±0.27 / 9.47 ms │     no change │
│ QQuery 38 │           87.27 / 89.82 ±2.55 / 93.27 ms │           85.96 / 89.94 ±3.95 / 97.29 ms │     no change │
│ QQuery 39 │        123.00 / 126.34 ±2.11 / 129.51 ms │        129.26 / 130.53 ±0.72 / 131.22 ms │     no change │
│ QQuery 40 │        110.27 / 115.42 ±4.43 / 123.37 ms │        114.79 / 119.85 ±6.70 / 132.56 ms │     no change │
│ QQuery 41 │           13.91 / 14.70 ±0.66 / 15.75 ms │           14.98 / 16.22 ±0.76 / 17.04 ms │  1.10x slower │
│ QQuery 42 │        110.23 / 110.35 ±0.14 / 110.53 ms │        110.31 / 112.12 ±1.16 / 113.83 ms │     no change │
│ QQuery 43 │              5.51 / 5.97 ±0.58 / 7.08 ms │              5.73 / 5.87 ±0.19 / 6.24 ms │     no change │
│ QQuery 44 │           11.56 / 12.09 ±0.47 / 12.77 ms │           11.99 / 12.45 ±0.45 / 13.31 ms │     no change │
│ QQuery 45 │           50.75 / 51.56 ±0.42 / 51.91 ms │           51.78 / 52.47 ±0.64 / 53.59 ms │     no change │
│ QQuery 46 │              8.46 / 8.76 ±0.28 / 9.20 ms │              8.31 / 8.88 ±0.56 / 9.79 ms │     no change │
│ QQuery 47 │        714.57 / 719.57 ±4.64 / 727.72 ms │       738.75 / 754.65 ±11.40 / 770.93 ms │     no change │
│ QQuery 48 │        281.67 / 287.24 ±6.53 / 298.53 ms │        286.69 / 292.52 ±3.40 / 296.57 ms │     no change │
│ QQuery 49 │        254.60 / 255.67 ±0.58 / 256.17 ms │        252.05 / 253.93 ±1.48 / 256.62 ms │     no change │
│ QQuery 50 │        221.61 / 227.53 ±5.85 / 237.92 ms │        224.73 / 231.42 ±3.70 / 236.01 ms │     no change │
│ QQuery 51 │        181.52 / 182.88 ±1.24 / 184.44 ms │        178.38 / 183.41 ±2.83 / 186.91 ms │     no change │
│ QQuery 52 │        107.58 / 108.28 ±0.64 / 109.49 ms │        108.90 / 111.48 ±2.86 / 116.42 ms │     no change │
│ QQuery 53 │        102.79 / 103.72 ±0.55 / 104.49 ms │        102.87 / 104.72 ±2.46 / 109.34 ms │     no change │
│ QQuery 54 │        148.14 / 150.33 ±1.92 / 153.66 ms │        146.23 / 148.96 ±1.47 / 150.71 ms │     no change │
│ QQuery 55 │        107.86 / 109.39 ±1.21 / 110.74 ms │        107.64 / 108.38 ±1.20 / 110.76 ms │     no change │
│ QQuery 56 │        142.34 / 144.11 ±1.55 / 146.37 ms │        140.37 / 141.63 ±1.13 / 143.34 ms │     no change │
│ QQuery 57 │        174.35 / 176.41 ±1.12 / 177.70 ms │        172.46 / 175.09 ±2.22 / 179.19 ms │     no change │
│ QQuery 58 │        275.21 / 276.20 ±0.91 / 277.55 ms │        270.67 / 274.91 ±3.05 / 279.78 ms │     no change │
│ QQuery 59 │        201.40 / 202.65 ±0.82 / 203.78 ms │        195.79 / 198.54 ±2.40 / 203.00 ms │     no change │
│ QQuery 60 │        144.76 / 147.40 ±1.40 / 148.59 ms │        142.18 / 144.18 ±1.13 / 145.40 ms │     no change │
│ QQuery 61 │           13.15 / 13.35 ±0.14 / 13.57 ms │           12.92 / 13.10 ±0.17 / 13.38 ms │     no change │
│ QQuery 62 │      928.27 / 975.07 ±31.11 / 1024.35 ms │       922.78 / 952.09 ±32.57 / 998.62 ms │     no change │
│ QQuery 63 │        104.07 / 107.59 ±3.33 / 113.60 ms │        103.63 / 106.42 ±2.12 / 108.83 ms │     no change │
│ QQuery 64 │        694.60 / 696.33 ±1.09 / 697.69 ms │        690.26 / 694.50 ±4.22 / 701.80 ms │     no change │
│ QQuery 65 │        261.09 / 266.42 ±3.51 / 271.03 ms │        251.54 / 256.90 ±3.33 / 261.62 ms │     no change │
│ QQuery 66 │       255.14 / 285.62 ±26.74 / 328.03 ms │        245.58 / 255.94 ±9.33 / 273.37 ms │ +1.12x faster │
│ QQuery 67 │        314.06 / 321.52 ±6.35 / 333.13 ms │        306.49 / 315.18 ±6.81 / 327.41 ms │     no change │
│ QQuery 68 │           10.47 / 11.22 ±0.65 / 12.41 ms │            8.88 / 10.30 ±1.41 / 12.81 ms │ +1.09x faster │
│ QQuery 69 │        101.54 / 103.45 ±1.33 / 104.82 ms │         99.89 / 102.49 ±2.17 / 105.10 ms │     no change │
│ QQuery 70 │       333.06 / 353.67 ±16.72 / 381.91 ms │        342.55 / 350.57 ±6.68 / 359.84 ms │     no change │
│ QQuery 71 │        135.64 / 137.02 ±1.26 / 139.31 ms │        134.71 / 138.22 ±2.44 / 142.30 ms │     no change │
│ QQuery 72 │       623.82 / 636.41 ±11.94 / 651.96 ms │        625.40 / 636.00 ±8.53 / 648.25 ms │     no change │
│ QQuery 73 │             7.40 / 8.66 ±1.15 / 10.69 ms │              6.66 / 8.20 ±1.05 / 9.92 ms │ +1.06x faster │
│ QQuery 74 │        617.81 / 624.54 ±5.40 / 631.49 ms │        608.69 / 614.98 ±4.93 / 622.08 ms │     no change │
│ QQuery 75 │        275.75 / 278.66 ±2.23 / 281.11 ms │        273.95 / 277.58 ±2.12 / 279.85 ms │     no change │
│ QQuery 76 │        131.42 / 133.47 ±1.33 / 134.63 ms │        132.54 / 133.65 ±1.19 / 135.85 ms │     no change │
│ QQuery 77 │        190.74 / 191.81 ±0.80 / 193.22 ms │        189.18 / 190.95 ±1.97 / 194.45 ms │     no change │
│ QQuery 78 │        342.57 / 346.46 ±3.16 / 351.52 ms │        343.83 / 347.72 ±3.15 / 352.88 ms │     no change │
│ QQuery 79 │        235.37 / 239.22 ±2.33 / 241.70 ms │        235.73 / 239.58 ±3.14 / 244.82 ms │     no change │
│ QQuery 80 │        325.89 / 328.37 ±2.98 / 332.27 ms │        325.51 / 326.79 ±0.97 / 327.95 ms │     no change │
│ QQuery 81 │           26.09 / 26.91 ±0.55 / 27.45 ms │           26.46 / 27.41 ±0.84 / 28.42 ms │     no change │
│ QQuery 82 │           41.90 / 43.09 ±1.08 / 44.41 ms │           41.17 / 41.97 ±0.76 / 42.99 ms │     no change │
│ QQuery 83 │           38.39 / 39.07 ±0.45 / 39.62 ms │           38.83 / 40.20 ±1.20 / 42.20 ms │     no change │
│ QQuery 84 │           48.64 / 49.18 ±0.35 / 49.53 ms │           48.78 / 49.84 ±0.61 / 50.64 ms │     no change │
│ QQuery 85 │        147.88 / 149.58 ±1.01 / 151.04 ms │        149.01 / 150.03 ±0.59 / 150.63 ms │     no change │
│ QQuery 86 │           39.23 / 39.81 ±0.50 / 40.58 ms │           39.13 / 40.02 ±0.56 / 40.79 ms │     no change │
│ QQuery 87 │           86.35 / 89.76 ±3.02 / 95.37 ms │           86.57 / 88.53 ±2.56 / 93.28 ms │     no change │
│ QQuery 88 │        100.10 / 100.47 ±0.44 / 101.21 ms │        100.53 / 101.22 ±0.48 / 101.81 ms │     no change │
│ QQuery 89 │        116.73 / 120.39 ±2.10 / 123.09 ms │        118.40 / 120.40 ±1.34 / 121.80 ms │     no change │
│ QQuery 90 │           23.24 / 23.88 ±0.63 / 24.97 ms │           24.56 / 24.96 ±0.25 / 25.30 ms │     no change │
│ QQuery 91 │           63.44 / 64.00 ±0.58 / 65.05 ms │           64.19 / 65.34 ±1.36 / 67.91 ms │     no change │
│ QQuery 92 │           57.77 / 58.55 ±1.07 / 60.63 ms │           57.59 / 58.36 ±0.59 / 59.35 ms │     no change │
│ QQuery 93 │        188.61 / 191.41 ±1.69 / 193.33 ms │        188.04 / 189.26 ±1.16 / 191.36 ms │     no change │
│ QQuery 94 │           62.66 / 63.88 ±0.69 / 64.58 ms │           62.92 / 63.50 ±0.56 / 64.47 ms │     no change │
│ QQuery 95 │        129.75 / 131.83 ±1.25 / 133.58 ms │        130.60 / 132.09 ±1.04 / 133.21 ms │     no change │
│ QQuery 96 │           74.17 / 75.48 ±0.87 / 76.51 ms │           73.25 / 74.26 ±1.01 / 75.80 ms │     no change │
│ QQuery 97 │        125.71 / 127.84 ±1.18 / 129.13 ms │        127.08 / 129.01 ±1.70 / 132.09 ms │     no change │
│ QQuery 98 │        153.43 / 156.67 ±2.24 / 160.01 ms │        153.38 / 157.18 ±2.55 / 159.87 ms │     no change │
│ QQuery 99 │ 10707.78 / 10782.37 ±57.39 / 10885.44 ms │ 10761.93 / 10826.10 ±44.36 / 10898.43 ms │     no change │
└───────────┴──────────────────────────────────────────┴──────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                                    ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                                    │ 31502.33ms │
│ Total Time (filter-pushdown-dynamic-bytes-morsels)   │ 31572.19ms │
│ Average Time (HEAD)                                  │   318.21ms │
│ Average Time (filter-pushdown-dynamic-bytes-morsels) │   318.91ms │
│ Queries Faster                                       │          3 │
│ Queries Slower                                       │          4 │
│ Queries with No Change                               │         92 │
│ Queries with Failure                                 │          0 │
└──────────────────────────────────────────────────────┴────────────┘

Resource Usage

tpcds — base (merge-base)

Metric Value
Wall time 160.0s
Peak memory 6.5 GiB
Avg memory 5.3 GiB
CPU user 260.8s
CPU sys 17.4s
Peak spill 0 B

tpcds — branch

Metric Value
Wall time 160.0s
Peak memory 6.2 GiB
Avg memory 5.3 GiB
CPU user 262.6s
CPU sys 17.3s
Peak spill 0 B

File an issue against this benchmark runner

@adriangb adriangb changed the title Filter pushdown dynamic bytes morsels Dynamic filter scheduling during filter pushdown Apr 20, 2026
adriangb and others added 5 commits April 20, 2026 15:30
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>
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 force-pushed the filter-pushdown-dynamic-bytes-morsels branch from d6e049a to c7b55cc Compare April 20, 2026 20:30
@adriangb
Copy link
Copy Markdown
Contributor Author

run benchmarks

env:
   DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: true
   DATAFUSION_EXECUTION_PARQUET_REORDER_FILTERS: true

@adriangbot
Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c4284081174-1627-tcg5z 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 (c7b55cc) to 7acbe03 (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-c4284081174-1625-lfn67 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 (c7b55cc) to 7acbe03 (merge-base) diff using: clickbench_partitioned
Results will be posted here when complete


File an issue against this benchmark runner

@adriangbot
Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c4284081174-1626-d5bqp 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 (c7b55cc) to 7acbe03 (merge-base) diff using: tpcds
Results will be posted here when complete


File an issue against this benchmark runner

@adriangb adriangb changed the title Dynamic filter scheduling during filter pushdown Adaptive filter scheduling during filter pushdown Apr 20, 2026
@adriangb adriangb changed the title Adaptive filter scheduling during filter pushdown Adaptive filter scheduling for Parquet scans Apr 20, 2026
- Rephrase a doc comment in row_filter.rs to avoid "mis-" hyphenation
  that triggers the typos spell-check in CI.
- Update the force_hash_collisions variant of
  test_hashjoin_dynamic_filter_pushdown_partitioned to expect the
  Optional(DynamicFilter [...]) wrapper introduced in this branch.

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

🤖 Benchmark completed (GKE) | trigger

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

CPU Details (lscpu)
Architecture:                            aarch64
CPU op-mode(s):                          64-bit
Byte Order:                              Little Endian
CPU(s):                                  16
On-line CPU(s) list:                     0-15
Vendor ID:                               ARM
Model name:                              Neoverse-V2
Model:                                   1
Thread(s) per core:                      1
Core(s) per cluster:                     16
Socket(s):                               -
Cluster(s):                              1
Stepping:                                r0p1
BogoMIPS:                                2000.00
Flags:                                   fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 sve asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp sve2 sveaes svepmull svebitperm svesha3 svesm4 flagm2 frint svei8mm svebf16 i8mm bf16 dgh rng bti
L1d cache:                               1 MiB (16 instances)
L1i cache:                               1 MiB (16 instances)
L2 cache:                                32 MiB (16 instances)
L3 cache:                                80 MiB (1 instance)
NUMA node(s):                            1
NUMA node0 CPU(s):                       0-15
Vulnerability Gather data sampling:      Not affected
Vulnerability Indirect target selection: Not affected
Vulnerability Itlb multihit:             Not affected
Vulnerability L1tf:                      Not affected
Vulnerability Mds:                       Not affected
Vulnerability Meltdown:                  Not affected
Vulnerability Mmio stale data:           Not affected
Vulnerability Reg file data sampling:    Not affected
Vulnerability Retbleed:                  Not affected
Vulnerability Spec rstack overflow:      Not affected
Vulnerability Spec store bypass:         Mitigation; Speculative Store Bypass disabled via prctl
Vulnerability Spectre v1:                Mitigation; __user pointer sanitization
Vulnerability Spectre v2:                Mitigation; CSV2, BHB
Vulnerability Srbds:                     Not affected
Vulnerability Tsa:                       Not affected
Vulnerability Tsx async abort:           Not affected
Vulnerability Vmscape:                   Not affected
Details

Comparing HEAD and filter-pushdown-dynamic-bytes-morsels
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                  HEAD ┃ filter-pushdown-dynamic-bytes-morsels ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0  │          1.16 / 4.44 ±6.41 / 17.26 ms │          1.19 / 4.49 ±6.44 / 17.36 ms │     no change │
│ QQuery 1  │        12.27 / 12.74 ±0.26 / 13.02 ms │        13.11 / 13.52 ±0.21 / 13.69 ms │  1.06x slower │
│ QQuery 2  │        37.07 / 37.12 ±0.05 / 37.21 ms │        36.53 / 36.69 ±0.09 / 36.77 ms │     no change │
│ QQuery 3  │        31.93 / 32.57 ±0.93 / 34.42 ms │        31.78 / 32.18 ±0.27 / 32.60 ms │     no change │
│ QQuery 4  │     255.01 / 262.38 ±4.97 / 268.69 ms │     262.35 / 266.13 ±3.52 / 271.93 ms │     no change │
│ QQuery 5  │     297.19 / 300.55 ±1.73 / 302.22 ms │     297.29 / 305.88 ±5.27 / 313.73 ms │     no change │
│ QQuery 6  │           5.88 / 6.30 ±0.39 / 6.98 ms │           6.18 / 7.44 ±0.79 / 8.42 ms │  1.18x slower │
│ QQuery 7  │        15.97 / 16.12 ±0.14 / 16.37 ms │        14.59 / 15.90 ±1.99 / 19.84 ms │     no change │
│ QQuery 8  │     363.41 / 367.86 ±4.25 / 373.16 ms │     371.74 / 376.10 ±4.32 / 383.56 ms │     no change │
│ QQuery 9  │     511.10 / 516.22 ±3.78 / 521.68 ms │    523.61 / 536.34 ±11.96 / 558.03 ms │     no change │
│ QQuery 10 │      99.21 / 101.62 ±2.51 / 106.20 ms │     100.30 / 101.71 ±1.76 / 105.13 ms │     no change │
│ QQuery 11 │     108.38 / 109.28 ±0.62 / 110.13 ms │     110.12 / 110.55 ±0.34 / 111.00 ms │     no change │
│ QQuery 12 │     327.16 / 334.02 ±5.46 / 341.84 ms │     290.13 / 301.14 ±9.85 / 314.49 ms │ +1.11x faster │
│ QQuery 13 │    458.64 / 482.07 ±28.73 / 537.34 ms │    462.14 / 482.81 ±18.51 / 515.28 ms │     no change │
│ QQuery 14 │     343.10 / 346.38 ±1.91 / 348.14 ms │     341.98 / 343.19 ±1.72 / 346.60 ms │     no change │
│ QQuery 15 │    328.79 / 339.93 ±10.84 / 355.95 ms │     327.41 / 340.13 ±7.10 / 348.30 ms │     no change │
│ QQuery 16 │     682.83 / 686.71 ±3.83 / 693.77 ms │     686.09 / 691.19 ±5.64 / 701.97 ms │     no change │
│ QQuery 17 │     673.48 / 682.45 ±4.63 / 686.70 ms │     688.99 / 693.19 ±2.60 / 696.08 ms │     no change │
│ QQuery 18 │ 1341.16 / 1445.12 ±58.52 / 1494.12 ms │ 1411.39 / 1492.38 ±48.39 / 1548.25 ms │     no change │
│ QQuery 19 │       34.72 / 50.09 ±13.64 / 71.04 ms │        29.54 / 30.92 ±1.92 / 34.70 ms │ +1.62x faster │
│ QQuery 20 │    522.74 / 538.65 ±13.17 / 558.01 ms │     522.43 / 530.29 ±7.78 / 544.25 ms │     no change │
│ QQuery 21 │    587.67 / 600.60 ±10.15 / 614.57 ms │     579.63 / 586.20 ±4.22 / 591.25 ms │     no change │
│ QQuery 22 │  979.03 / 1002.96 ±16.44 / 1019.72 ms │     812.54 / 819.38 ±5.41 / 826.36 ms │ +1.22x faster │
│ QQuery 23 │     128.01 / 131.57 ±2.80 / 135.23 ms │    214.67 / 248.12 ±24.85 / 273.86 ms │  1.89x slower │
│ QQuery 24 │        43.99 / 44.43 ±0.28 / 44.82 ms │        37.81 / 43.60 ±5.36 / 53.77 ms │     no change │
│ QQuery 25 │     144.99 / 146.70 ±1.99 / 150.40 ms │     118.11 / 120.06 ±1.01 / 121.05 ms │ +1.22x faster │
│ QQuery 26 │        59.48 / 62.11 ±1.67 / 64.56 ms │        57.16 / 58.68 ±1.13 / 60.13 ms │ +1.06x faster │
│ QQuery 27 │     719.62 / 728.07 ±5.25 / 735.31 ms │     644.61 / 647.35 ±1.62 / 649.21 ms │ +1.12x faster │
│ QQuery 28 │ 3099.87 / 3142.22 ±21.34 / 3156.56 ms │ 3002.34 / 3061.09 ±53.46 / 3146.55 ms │     no change │
│ QQuery 29 │        45.12 / 49.18 ±4.65 / 57.63 ms │        43.54 / 48.03 ±4.56 / 54.54 ms │     no change │
│ QQuery 30 │     330.74 / 338.57 ±4.73 / 345.13 ms │     338.98 / 344.28 ±3.93 / 351.10 ms │     no change │
│ QQuery 31 │     336.11 / 339.50 ±3.17 / 344.67 ms │     345.68 / 350.96 ±4.99 / 359.77 ms │     no change │
│ QQuery 32 │ 1177.82 / 1237.52 ±50.33 / 1309.98 ms │ 1033.45 / 1045.07 ±19.67 / 1084.29 ms │ +1.18x faster │
│ QQuery 33 │ 1523.45 / 1558.82 ±24.62 / 1587.12 ms │ 1464.33 / 1481.20 ±12.26 / 1496.48 ms │     no change │
│ QQuery 34 │ 1538.25 / 1566.84 ±25.00 / 1597.45 ms │ 1522.52 / 1540.85 ±23.85 / 1583.27 ms │     no change │
│ QQuery 35 │    337.73 / 348.73 ±14.34 / 376.65 ms │     325.08 / 331.39 ±8.95 / 348.97 ms │     no change │
│ QQuery 36 │        72.15 / 73.74 ±1.15 / 75.61 ms │        61.39 / 65.08 ±2.68 / 68.39 ms │ +1.13x faster │
│ QQuery 37 │        40.09 / 44.84 ±3.54 / 50.38 ms │        35.64 / 36.42 ±0.61 / 37.51 ms │ +1.23x faster │
│ QQuery 38 │        36.52 / 40.02 ±2.68 / 43.13 ms │        36.35 / 38.93 ±1.62 / 41.23 ms │     no change │
│ QQuery 39 │     120.89 / 127.63 ±6.08 / 134.99 ms │     128.03 / 129.28 ±1.86 / 132.96 ms │     no change │
│ QQuery 40 │        21.06 / 23.29 ±1.84 / 25.87 ms │        20.62 / 22.31 ±1.67 / 25.08 ms │     no change │
│ QQuery 41 │        20.04 / 20.45 ±0.70 / 21.84 ms │        17.74 / 18.64 ±1.31 / 21.24 ms │ +1.10x faster │
│ QQuery 42 │        15.29 / 15.94 ±0.53 / 16.57 ms │        15.54 / 16.17 ±0.36 / 16.58 ms │     no change │
└───────────┴───────────────────────────────────────┴───────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                                    ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                                    │ 18316.34ms │
│ Total Time (filter-pushdown-dynamic-bytes-morsels)   │ 17765.23ms │
│ Average Time (HEAD)                                  │   425.96ms │
│ Average Time (filter-pushdown-dynamic-bytes-morsels) │   413.14ms │
│ Queries Faster                                       │         10 │
│ Queries Slower                                       │          3 │
│ Queries with No Change                               │         30 │
│ Queries with Failure                                 │          0 │
└──────────────────────────────────────────────────────┴────────────┘

Resource Usage

clickbench_partitioned — base (merge-base)

Metric Value
Wall time 95.0s
Peak memory 36.5 GiB
Avg memory 26.5 GiB
CPU user 926.3s
CPU sys 101.6s
Peak spill 0 B

clickbench_partitioned — branch

Metric Value
Wall time 90.0s
Peak memory 38.0 GiB
Avg memory 27.9 GiB
CPU user 914.4s
CPU sys 84.3s
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.17 / 6.58 ±0.72 / 8.03 ms │              6.15 / 6.56 ±0.74 / 8.04 ms │      no change │
│ QQuery 2  │         111.41 / 112.41 ±0.98 / 113.67 ms │        108.28 / 109.09 ±0.62 / 110.08 ms │      no change │
│ QQuery 3  │         108.69 / 110.72 ±1.61 / 113.55 ms │        125.06 / 126.08 ±0.94 / 127.26 ms │   1.14x slower │
│ QQuery 4  │     1030.79 / 1051.93 ±13.45 / 1068.71 ms │     1029.47 / 1039.07 ±9.54 / 1054.02 ms │      no change │
│ QQuery 5  │         194.00 / 195.75 ±1.84 / 199.12 ms │        171.09 / 173.68 ±2.20 / 177.31 ms │  +1.13x faster │
│ QQuery 6  │         252.04 / 258.47 ±5.78 / 267.83 ms │        212.21 / 219.32 ±6.61 / 230.24 ms │  +1.18x faster │
│ QQuery 7  │         330.25 / 336.62 ±7.56 / 349.34 ms │        326.55 / 332.74 ±4.00 / 337.49 ms │      no change │
│ QQuery 8  │         161.43 / 164.63 ±2.65 / 169.36 ms │        142.23 / 145.65 ±2.35 / 148.73 ms │  +1.13x faster │
│ QQuery 9  │        224.15 / 238.50 ±14.59 / 260.90 ms │        100.96 / 105.58 ±4.19 / 113.27 ms │  +2.26x faster │
│ QQuery 10 │         168.23 / 172.93 ±3.79 / 179.85 ms │        137.61 / 143.57 ±3.19 / 146.40 ms │  +1.20x faster │
│ QQuery 11 │         691.61 / 696.43 ±3.80 / 702.27 ms │       665.15 / 685.69 ±12.72 / 702.72 ms │      no change │
│ QQuery 12 │            37.70 / 40.14 ±2.55 / 43.37 ms │           36.32 / 36.97 ±0.71 / 38.36 ms │  +1.09x faster │
│ QQuery 13 │         557.71 / 567.64 ±5.89 / 574.10 ms │       554.10 / 568.07 ±10.42 / 582.90 ms │      no change │
│ QQuery 14 │         892.25 / 906.99 ±7.75 / 913.90 ms │        855.75 / 872.12 ±8.95 / 881.35 ms │      no change │
│ QQuery 15 │            18.68 / 21.95 ±3.04 / 26.85 ms │           18.05 / 19.67 ±1.18 / 21.04 ms │  +1.12x faster │
│ QQuery 16 │               6.72 / 6.97 ±0.24 / 7.31 ms │              6.77 / 7.49 ±0.85 / 9.09 ms │   1.07x slower │
│ QQuery 17 │         197.30 / 203.38 ±4.57 / 210.19 ms │        176.10 / 178.64 ±2.36 / 181.59 ms │  +1.14x faster │
│ QQuery 18 │        384.12 / 467.31 ±41.85 / 491.53 ms │        183.63 / 187.31 ±3.35 / 193.57 ms │  +2.49x faster │
│ QQuery 19 │         139.26 / 145.19 ±3.32 / 149.43 ms │        142.13 / 145.48 ±2.99 / 149.81 ms │      no change │
│ QQuery 20 │            14.65 / 15.92 ±0.83 / 17.05 ms │           14.15 / 14.93 ±0.43 / 15.38 ms │  +1.07x faster │
│ QQuery 21 │            25.73 / 27.91 ±1.29 / 29.42 ms │           21.34 / 21.82 ±0.30 / 22.28 ms │  +1.28x faster │
│ QQuery 22 │         493.56 / 498.32 ±3.57 / 503.08 ms │        486.52 / 487.71 ±0.98 / 488.69 ms │      no change │
│ QQuery 23 │      1202.13 / 1212.74 ±8.28 / 1224.52 ms │        838.53 / 854.77 ±8.42 / 862.42 ms │  +1.42x faster │
│ QQuery 24 │         121.76 / 126.99 ±4.23 / 134.59 ms │        124.29 / 126.51 ±2.60 / 131.35 ms │      no change │
│ QQuery 25 │         297.50 / 303.37 ±5.22 / 312.46 ms │        284.69 / 287.11 ±2.44 / 290.34 ms │  +1.06x faster │
│ QQuery 26 │         144.83 / 147.82 ±2.59 / 151.87 ms │       140.68 / 151.83 ±10.67 / 169.67 ms │      no change │
│ QQuery 27 │               6.35 / 6.74 ±0.29 / 7.11 ms │              6.58 / 6.70 ±0.15 / 7.00 ms │      no change │
│ QQuery 28 │        223.45 / 235.22 ±11.39 / 252.65 ms │        149.51 / 151.55 ±1.60 / 153.39 ms │  +1.55x faster │
│ QQuery 29 │         250.95 / 254.05 ±2.59 / 257.95 ms │        214.94 / 218.96 ±3.78 / 224.23 ms │  +1.16x faster │
│ QQuery 30 │            56.62 / 60.19 ±3.13 / 65.10 ms │           52.06 / 55.47 ±2.73 / 59.25 ms │  +1.09x faster │
│ QQuery 31 │         178.12 / 179.82 ±1.67 / 182.24 ms │        164.04 / 171.05 ±3.94 / 175.66 ms │      no change │
│ QQuery 32 │            13.59 / 14.10 ±0.54 / 15.00 ms │           13.56 / 14.32 ±0.62 / 15.06 ms │      no change │
│ QQuery 33 │         131.38 / 133.88 ±2.20 / 137.25 ms │        132.00 / 134.27 ±1.95 / 137.84 ms │      no change │
│ QQuery 34 │               6.72 / 7.49 ±0.88 / 8.95 ms │              6.77 / 7.48 ±0.72 / 8.76 ms │      no change │
│ QQuery 35 │         145.64 / 148.56 ±2.26 / 151.26 ms │        109.80 / 111.05 ±1.00 / 112.51 ms │  +1.34x faster │
│ QQuery 36 │               6.31 / 6.89 ±0.89 / 8.64 ms │              6.19 / 6.30 ±0.18 / 6.66 ms │  +1.09x faster │
│ QQuery 37 │               5.35 / 5.74 ±0.23 / 6.05 ms │              4.94 / 5.08 ±0.12 / 5.29 ms │  +1.13x faster │
│ QQuery 38 │         101.21 / 107.90 ±4.39 / 115.03 ms │           90.16 / 91.90 ±1.80 / 94.29 ms │  +1.17x faster │
│ QQuery 39 │         130.56 / 136.06 ±4.75 / 142.34 ms │        133.26 / 134.76 ±0.96 / 136.23 ms │      no change │
│ QQuery 40 │         135.43 / 142.92 ±6.73 / 151.19 ms │        113.00 / 123.20 ±8.51 / 138.85 ms │  +1.16x faster │
│ QQuery 41 │            13.72 / 14.83 ±1.29 / 17.32 ms │           15.28 / 16.99 ±1.00 / 18.30 ms │   1.15x slower │
│ QQuery 42 │         108.58 / 114.85 ±3.21 / 117.18 ms │        106.26 / 110.22 ±2.20 / 112.22 ms │      no change │
│ QQuery 43 │               5.33 / 5.49 ±0.20 / 5.88 ms │              5.39 / 5.55 ±0.18 / 5.90 ms │      no change │
│ QQuery 44 │            11.43 / 12.85 ±1.45 / 15.43 ms │           11.08 / 11.55 ±0.41 / 12.10 ms │  +1.11x faster │
│ QQuery 45 │            44.45 / 45.83 ±1.35 / 48.41 ms │           44.30 / 45.79 ±1.60 / 48.52 ms │      no change │
│ QQuery 46 │               7.85 / 8.32 ±0.42 / 8.96 ms │              8.09 / 8.43 ±0.21 / 8.68 ms │      no change │
│ QQuery 47 │        765.67 / 778.23 ±11.71 / 799.91 ms │        684.96 / 694.43 ±8.71 / 707.68 ms │  +1.12x faster │
│ QQuery 48 │         482.42 / 493.78 ±6.44 / 500.17 ms │        360.83 / 364.68 ±3.36 / 369.91 ms │  +1.35x faster │
│ QQuery 49 │         280.66 / 291.17 ±7.03 / 301.66 ms │        238.99 / 242.62 ±2.44 / 245.58 ms │  +1.20x faster │
│ QQuery 50 │         527.14 / 538.53 ±7.98 / 549.20 ms │        245.92 / 249.65 ±3.40 / 255.82 ms │  +2.16x faster │
│ QQuery 51 │         214.90 / 220.96 ±4.93 / 229.23 ms │        207.19 / 210.23 ±1.97 / 212.79 ms │      no change │
│ QQuery 52 │         110.04 / 114.76 ±2.70 / 117.93 ms │        105.70 / 109.50 ±2.84 / 114.22 ms │      no change │
│ QQuery 53 │         138.02 / 144.60 ±4.03 / 149.36 ms │        142.82 / 146.84 ±3.86 / 153.81 ms │      no change │
│ QQuery 54 │         124.90 / 131.26 ±4.46 / 135.88 ms │        128.88 / 132.97 ±2.68 / 136.37 ms │      no change │
│ QQuery 55 │         111.03 / 114.80 ±3.07 / 119.99 ms │        108.29 / 112.54 ±2.35 / 115.13 ms │      no change │
│ QQuery 56 │         132.66 / 135.01 ±2.10 / 138.32 ms │        130.59 / 133.80 ±2.01 / 136.09 ms │      no change │
│ QQuery 57 │         189.78 / 192.42 ±2.53 / 195.94 ms │        182.23 / 183.18 ±0.81 / 184.14 ms │      no change │
│ QQuery 58 │         228.22 / 230.63 ±1.44 / 232.45 ms │        227.10 / 232.21 ±2.77 / 234.91 ms │      no change │
│ QQuery 59 │         278.26 / 280.90 ±2.50 / 285.02 ms │        227.03 / 230.19 ±2.34 / 233.79 ms │  +1.22x faster │
│ QQuery 60 │         138.70 / 139.94 ±1.05 / 141.79 ms │        138.41 / 140.04 ±1.70 / 142.89 ms │      no change │
│ QQuery 61 │            11.69 / 12.23 ±0.62 / 13.19 ms │           12.12 / 12.80 ±0.99 / 14.75 ms │      no change │
│ QQuery 62 │       875.23 / 938.87 ±55.58 / 1030.90 ms │      878.74 / 952.77 ±51.35 / 1010.74 ms │      no change │
│ QQuery 63 │         139.23 / 146.11 ±5.81 / 153.70 ms │        134.03 / 145.90 ±7.81 / 156.89 ms │      no change │
│ QQuery 64 │ 27826.92 / 29016.35 ±934.85 / 30704.29 ms │        723.27 / 729.66 ±5.17 / 736.11 ms │ +39.77x faster │
│ QQuery 65 │         366.55 / 372.23 ±3.94 / 376.67 ms │        321.75 / 328.33 ±5.69 / 337.60 ms │  +1.13x faster │
│ QQuery 66 │         193.93 / 198.03 ±3.42 / 203.49 ms │        178.70 / 186.52 ±4.84 / 192.56 ms │  +1.06x faster │
│ QQuery 67 │         494.07 / 504.01 ±5.29 / 508.47 ms │       465.32 / 478.91 ±12.63 / 502.54 ms │      no change │
│ QQuery 68 │             8.37 / 11.82 ±2.89 / 17.10 ms │            8.48 / 10.32 ±2.18 / 14.22 ms │  +1.15x faster │
│ QQuery 69 │         161.73 / 173.75 ±7.34 / 184.10 ms │        136.88 / 140.92 ±4.26 / 148.50 ms │  +1.23x faster │
│ QQuery 70 │         435.42 / 443.35 ±8.95 / 460.11 ms │       377.05 / 389.20 ±10.51 / 403.18 ms │  +1.14x faster │
│ QQuery 71 │         126.68 / 131.71 ±5.69 / 141.53 ms │        125.69 / 130.23 ±2.98 / 135.05 ms │      no change │
│ QQuery 72 │      1196.82 / 1206.86 ±7.15 / 1217.93 ms │        488.00 / 494.13 ±3.51 / 498.41 ms │  +2.44x faster │
│ QQuery 73 │               6.75 / 7.05 ±0.18 / 7.24 ms │              6.66 / 7.05 ±0.43 / 7.84 ms │      no change │
│ QQuery 74 │         502.80 / 507.39 ±3.73 / 513.43 ms │        486.65 / 494.30 ±5.99 / 504.17 ms │      no change │
│ QQuery 75 │         285.00 / 289.21 ±2.67 / 292.77 ms │        274.37 / 276.26 ±2.18 / 278.95 ms │      no change │
│ QQuery 76 │         278.66 / 281.87 ±2.31 / 284.79 ms │        150.50 / 155.68 ±3.00 / 158.46 ms │  +1.81x faster │
│ QQuery 77 │         226.59 / 230.63 ±2.78 / 232.98 ms │        207.94 / 208.84 ±0.66 / 209.99 ms │  +1.10x faster │
│ QQuery 78 │         298.53 / 302.11 ±3.39 / 307.42 ms │        297.80 / 305.10 ±5.32 / 312.59 ms │      no change │
│ QQuery 79 │         249.68 / 257.75 ±4.34 / 261.31 ms │        258.30 / 260.70 ±1.74 / 262.79 ms │      no change │
│ QQuery 80 │         282.58 / 286.25 ±3.29 / 291.63 ms │        258.72 / 262.58 ±3.63 / 268.11 ms │  +1.09x faster │
│ QQuery 81 │            29.59 / 32.25 ±2.45 / 36.74 ms │           31.72 / 32.48 ±0.87 / 34.07 ms │      no change │
│ QQuery 82 │            46.54 / 49.14 ±2.12 / 52.96 ms │           44.69 / 46.19 ±1.90 / 49.89 ms │  +1.06x faster │
│ QQuery 83 │            44.35 / 45.71 ±1.34 / 47.45 ms │           39.75 / 40.99 ±0.65 / 41.46 ms │  +1.12x faster │
│ QQuery 84 │            63.93 / 65.45 ±0.79 / 66.21 ms │           52.23 / 53.35 ±0.80 / 54.70 ms │  +1.23x faster │
│ QQuery 85 │        262.07 / 273.99 ±10.94 / 292.60 ms │        216.73 / 220.08 ±1.95 / 222.29 ms │  +1.24x faster │
│ QQuery 86 │            46.60 / 50.21 ±2.62 / 53.91 ms │           43.19 / 43.90 ±0.65 / 44.92 ms │  +1.14x faster │
│ QQuery 87 │         102.28 / 109.31 ±5.55 / 117.12 ms │           88.24 / 91.65 ±3.08 / 95.88 ms │  +1.19x faster │
│ QQuery 88 │         127.32 / 131.27 ±2.84 / 135.86 ms │        117.97 / 120.70 ±1.59 / 122.30 ms │  +1.09x faster │
│ QQuery 89 │         149.71 / 155.97 ±4.97 / 161.68 ms │        151.64 / 154.69 ±2.26 / 158.52 ms │      no change │
│ QQuery 90 │            25.33 / 26.41 ±0.72 / 27.48 ms │           23.41 / 24.50 ±1.23 / 26.72 ms │  +1.08x faster │
│ QQuery 91 │          96.93 / 102.65 ±3.24 / 106.95 ms │        103.31 / 105.63 ±1.48 / 107.03 ms │      no change │
│ QQuery 92 │            51.80 / 54.99 ±2.73 / 59.27 ms │           57.56 / 59.46 ±1.44 / 61.17 ms │   1.08x slower │
│ QQuery 93 │         186.95 / 188.25 ±1.86 / 191.95 ms │        188.71 / 189.65 ±1.17 / 191.90 ms │      no change │
│ QQuery 94 │            64.71 / 67.74 ±1.70 / 69.56 ms │           63.94 / 68.94 ±3.20 / 73.51 ms │      no change │
│ QQuery 95 │         148.37 / 149.12 ±0.45 / 149.53 ms │        119.77 / 125.90 ±6.26 / 133.97 ms │  +1.18x faster │
│ QQuery 96 │            76.21 / 88.19 ±6.09 / 92.81 ms │           84.13 / 90.46 ±3.29 / 93.78 ms │      no change │
│ QQuery 97 │         146.74 / 154.24 ±4.86 / 159.94 ms │        147.55 / 150.52 ±2.51 / 154.37 ms │      no change │
│ QQuery 98 │         122.58 / 125.02 ±1.53 / 127.30 ms │        118.35 / 119.39 ±0.62 / 120.04 ms │      no change │
│ QQuery 99 │  10671.12 / 10700.76 ±25.27 / 10730.25 ms │ 10713.36 / 10735.43 ±15.25 / 10756.83 ms │      no change │
└───────────┴───────────────────────────────────────────┴──────────────────────────────────────────┴────────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                                    ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                                    │ 61374.63ms │
│ Total Time (filter-pushdown-dynamic-bytes-morsels)   │ 30105.12ms │
│ Average Time (HEAD)                                  │   619.95ms │
│ Average Time (filter-pushdown-dynamic-bytes-morsels) │   304.09ms │
│ Queries Faster                                       │         46 │
│ Queries Slower                                       │          4 │
│ Queries with No Change                               │         49 │
│ Queries with Failure                                 │          0 │
└──────────────────────────────────────────────────────┴────────────┘

Resource Usage

tpcds — base (merge-base)

Metric Value
Wall time 310.1s
Peak memory 38.9 GiB
Avg memory 27.5 GiB
CPU user 605.3s
CPU sys 26.8s
Peak spill 0 B

tpcds — branch

Metric Value
Wall time 155.0s
Peak memory 6.1 GiB
Avg memory 5.3 GiB
CPU user 210.4s
CPU sys 22.3s
Peak spill 0 B

File an issue against this benchmark runner

@adriangb
Copy link
Copy Markdown
Contributor Author

run benchmarks

env:
   DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: false
   DATAFUSION_EXECUTION_PARQUET_REORDER_FILTERS: false

@adriangbot
Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c4284228110-1628-9jqzm 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 (f29364d) to 7acbe03 (merge-base) diff using: clickbench_partitioned
Results will be posted here when complete


File an issue against this benchmark runner

@adriangbot
Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c4284228110-1629-xmsdx 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 (f29364d) to 7acbe03 (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-c4284228110-1630-q2jtr 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 (f29364d) to 7acbe03 (merge-base) diff using: tpch
Results will be posted here when complete


File an issue against this benchmark runner

The HashJoin-generated dynamic filters on this branch are rendered as
Optional(DynamicFilter [...]) now; update the two expected plans in
statistics_registry.slt to match.

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

🤖 Benchmark completed (GKE) | trigger

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

CPU Details (lscpu)
Architecture:                            aarch64
CPU op-mode(s):                          64-bit
Byte Order:                              Little Endian
CPU(s):                                  16
On-line CPU(s) list:                     0-15
Vendor ID:                               ARM
Model name:                              Neoverse-V2
Model:                                   1
Thread(s) per core:                      1
Core(s) per cluster:                     16
Socket(s):                               -
Cluster(s):                              1
Stepping:                                r0p1
BogoMIPS:                                2000.00
Flags:                                   fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 sve asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp sve2 sveaes svepmull svebitperm svesha3 svesm4 flagm2 frint svei8mm svebf16 i8mm bf16 dgh rng bti
L1d cache:                               1 MiB (16 instances)
L1i cache:                               1 MiB (16 instances)
L2 cache:                                32 MiB (16 instances)
L3 cache:                                80 MiB (1 instance)
NUMA node(s):                            1
NUMA node0 CPU(s):                       0-15
Vulnerability Gather data sampling:      Not affected
Vulnerability Indirect target selection: Not affected
Vulnerability Itlb multihit:             Not affected
Vulnerability L1tf:                      Not affected
Vulnerability Mds:                       Not affected
Vulnerability Meltdown:                  Not affected
Vulnerability Mmio stale data:           Not affected
Vulnerability Reg file data sampling:    Not affected
Vulnerability Retbleed:                  Not affected
Vulnerability Spec rstack overflow:      Not affected
Vulnerability Spec store bypass:         Mitigation; Speculative Store Bypass disabled via prctl
Vulnerability Spectre v1:                Mitigation; __user pointer sanitization
Vulnerability Spectre v2:                Mitigation; CSV2, BHB
Vulnerability Srbds:                     Not affected
Vulnerability Tsa:                       Not affected
Vulnerability Tsx async abort:           Not affected
Vulnerability Vmscape:                   Not affected
Details

Comparing HEAD and filter-pushdown-dynamic-bytes-morsels
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                  HEAD ┃ filter-pushdown-dynamic-bytes-morsels ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0  │          1.14 / 4.40 ±6.38 / 17.15 ms │          1.15 / 4.40 ±6.34 / 17.08 ms │     no change │
│ QQuery 1  │        12.45 / 12.88 ±0.22 / 13.03 ms │        11.78 / 12.31 ±0.26 / 12.48 ms │     no change │
│ QQuery 2  │        36.53 / 36.77 ±0.13 / 36.89 ms │        36.13 / 36.20 ±0.05 / 36.26 ms │     no change │
│ QQuery 3  │        31.43 / 32.96 ±1.46 / 35.30 ms │        31.35 / 31.98 ±0.38 / 32.51 ms │     no change │
│ QQuery 4  │     249.04 / 253.80 ±3.00 / 258.09 ms │     250.92 / 254.08 ±3.69 / 261.28 ms │     no change │
│ QQuery 5  │     297.36 / 303.27 ±4.71 / 309.48 ms │     289.54 / 297.26 ±4.78 / 302.13 ms │     no change │
│ QQuery 6  │          5.98 / 7.51 ±1.79 / 11.01 ms │        6.40 / 14.99 ±15.20 / 45.35 ms │  2.00x slower │
│ QQuery 7  │        13.94 / 14.12 ±0.14 / 14.33 ms │        13.67 / 13.87 ±0.16 / 14.12 ms │     no change │
│ QQuery 8  │     359.87 / 369.31 ±7.18 / 381.04 ms │    361.81 / 371.18 ±12.55 / 395.73 ms │     no change │
│ QQuery 9  │    495.66 / 514.77 ±17.29 / 546.01 ms │    503.37 / 522.06 ±12.70 / 536.91 ms │     no change │
│ QQuery 10 │        76.48 / 78.48 ±2.07 / 81.86 ms │        74.40 / 76.16 ±1.55 / 78.69 ms │     no change │
│ QQuery 11 │        86.68 / 87.02 ±0.21 / 87.34 ms │        83.20 / 84.29 ±1.03 / 85.83 ms │     no change │
│ QQuery 12 │     291.15 / 299.36 ±7.99 / 310.99 ms │     293.66 / 300.48 ±7.50 / 312.01 ms │     no change │
│ QQuery 13 │     418.22 / 425.57 ±8.93 / 442.32 ms │     422.32 / 428.25 ±5.12 / 434.93 ms │     no change │
│ QQuery 14 │     299.81 / 305.14 ±2.92 / 308.07 ms │     302.05 / 303.90 ±1.55 / 306.66 ms │     no change │
│ QQuery 15 │    328.39 / 345.50 ±15.73 / 369.57 ms │    319.25 / 334.33 ±16.83 / 363.91 ms │     no change │
│ QQuery 16 │     663.45 / 673.73 ±6.92 / 684.63 ms │     670.21 / 675.27 ±4.64 / 680.98 ms │     no change │
│ QQuery 17 │     672.00 / 675.36 ±2.77 / 678.77 ms │     668.26 / 669.79 ±1.24 / 671.38 ms │     no change │
│ QQuery 18 │ 1396.55 / 1457.23 ±37.00 / 1490.16 ms │ 1329.36 / 1343.10 ±13.86 / 1364.37 ms │ +1.08x faster │
│ QQuery 19 │       30.23 / 37.20 ±11.59 / 60.22 ms │        29.81 / 30.66 ±0.94 / 31.82 ms │ +1.21x faster │
│ QQuery 20 │    514.74 / 527.42 ±12.60 / 544.74 ms │     511.58 / 517.43 ±6.17 / 528.47 ms │     no change │
│ QQuery 21 │     590.16 / 593.27 ±1.98 / 595.56 ms │     586.06 / 591.05 ±2.62 / 593.29 ms │     no change │
│ QQuery 22 │  1052.93 / 1058.53 ±6.95 / 1072.14 ms │  1043.11 / 1047.21 ±2.15 / 1048.92 ms │     no change │
│ QQuery 23 │ 3274.84 / 3299.71 ±19.07 / 3328.54 ms │  3270.09 / 3278.81 ±8.67 / 3295.03 ms │     no change │
│ QQuery 24 │        45.01 / 46.94 ±1.35 / 48.38 ms │        43.68 / 45.12 ±1.17 / 46.57 ms │     no change │
│ QQuery 25 │     114.79 / 116.31 ±0.90 / 117.09 ms │     114.68 / 115.49 ±0.67 / 116.64 ms │     no change │
│ QQuery 26 │        43.21 / 44.15 ±1.04 / 46.16 ms │        45.05 / 46.83 ±1.81 / 50.04 ms │  1.06x slower │
│ QQuery 27 │     658.87 / 662.29 ±2.74 / 665.98 ms │     656.38 / 661.71 ±4.81 / 668.86 ms │     no change │
│ QQuery 28 │ 2957.48 / 2996.00 ±20.06 / 3012.18 ms │ 2985.32 / 3005.69 ±10.76 / 3015.43 ms │     no change │
│ QQuery 29 │        44.85 / 49.04 ±4.26 / 57.25 ms │        43.90 / 48.02 ±3.58 / 52.59 ms │     no change │
│ QQuery 30 │     321.03 / 328.13 ±8.20 / 343.89 ms │     321.38 / 326.37 ±7.47 / 340.95 ms │     no change │
│ QQuery 31 │     323.05 / 330.35 ±5.17 / 334.72 ms │     326.83 / 331.73 ±4.69 / 339.24 ms │     no change │
│ QQuery 32 │ 1179.14 / 1209.80 ±23.35 / 1247.47 ms │ 1002.10 / 1012.66 ±10.43 / 1030.70 ms │ +1.19x faster │
│ QQuery 33 │ 1507.36 / 1532.78 ±17.10 / 1558.19 ms │ 1407.14 / 1422.00 ±10.03 / 1436.10 ms │ +1.08x faster │
│ QQuery 34 │ 1487.98 / 1538.57 ±58.42 / 1650.66 ms │ 1422.30 / 1446.93 ±22.79 / 1488.84 ms │ +1.06x faster │
│ QQuery 35 │     308.81 / 315.28 ±5.66 / 324.78 ms │     310.23 / 315.61 ±8.60 / 332.58 ms │     no change │
│ QQuery 36 │        61.95 / 64.63 ±2.38 / 67.59 ms │        65.11 / 67.68 ±2.35 / 71.49 ms │     no change │
│ QQuery 37 │        35.02 / 36.62 ±1.17 / 38.30 ms │        35.43 / 38.62 ±2.16 / 41.63 ms │  1.05x slower │
│ QQuery 38 │        40.36 / 43.51 ±3.14 / 48.49 ms │        40.87 / 42.80 ±1.77 / 46.12 ms │     no change │
│ QQuery 39 │     122.55 / 125.84 ±2.74 / 129.52 ms │     119.81 / 127.69 ±6.18 / 135.93 ms │     no change │
│ QQuery 40 │        15.47 / 17.32 ±1.13 / 18.55 ms │        14.75 / 17.24 ±2.62 / 21.54 ms │     no change │
│ QQuery 41 │        13.42 / 14.54 ±0.58 / 15.03 ms │        14.69 / 15.21 ±0.54 / 15.87 ms │     no change │
│ QQuery 42 │        13.25 / 13.51 ±0.20 / 13.86 ms │        13.35 / 13.96 ±0.92 / 15.78 ms │     no change │
└───────────┴───────────────────────────────────────┴───────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                                    ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                                    │ 20898.88ms │
│ Total Time (filter-pushdown-dynamic-bytes-morsels)   │ 20340.40ms │
│ Average Time (HEAD)                                  │   486.02ms │
│ Average Time (filter-pushdown-dynamic-bytes-morsels) │   473.03ms │
│ Queries Faster                                       │          5 │
│ Queries Slower                                       │          3 │
│ Queries with No Change                               │         35 │
│ Queries with Failure                                 │          0 │
└──────────────────────────────────────────────────────┴────────────┘

Resource Usage

clickbench_partitioned — base (merge-base)

Metric Value
Wall time 110.0s
Peak memory 34.1 GiB
Avg memory 26.2 GiB
CPU user 1069.6s
CPU sys 101.3s
Peak spill 0 B

clickbench_partitioned — branch

Metric Value
Wall time 105.0s
Peak memory 38.8 GiB
Avg memory 33.1 GiB
CPU user 1066.8s
CPU sys 78.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.97 / 7.37 ±0.62 / 8.60 ms │              6.95 / 7.34 ±0.64 / 8.63 ms │     no change │
│ QQuery 2  │        147.56 / 148.41 ±0.73 / 149.66 ms │        148.01 / 149.15 ±0.90 / 150.68 ms │     no change │
│ QQuery 3  │        114.52 / 116.22 ±1.28 / 118.15 ms │        113.74 / 114.31 ±0.43 / 114.89 ms │     no change │
│ QQuery 4  │    1320.14 / 1360.99 ±28.65 / 1399.44 ms │    1360.29 / 1456.77 ±52.75 / 1512.10 ms │  1.07x slower │
│ QQuery 5  │        173.28 / 176.12 ±1.94 / 178.90 ms │        174.05 / 175.67 ±1.27 / 177.27 ms │     no change │
│ QQuery 6  │       883.43 / 902.87 ±16.58 / 922.64 ms │       854.10 / 880.18 ±25.78 / 913.49 ms │     no change │
│ QQuery 7  │        347.00 / 349.35 ±2.16 / 352.08 ms │        342.83 / 346.32 ±3.09 / 350.48 ms │     no change │
│ QQuery 8  │        116.82 / 120.43 ±2.12 / 123.07 ms │        116.15 / 118.37 ±2.14 / 122.23 ms │     no change │
│ QQuery 9  │        103.77 / 105.30 ±2.41 / 110.10 ms │        101.79 / 106.53 ±2.42 / 108.44 ms │     no change │
│ QQuery 10 │        105.70 / 108.16 ±1.49 / 109.70 ms │        105.56 / 107.14 ±0.99 / 108.62 ms │     no change │
│ QQuery 11 │       977.36 / 987.76 ±8.31 / 1002.67 ms │       961.95 / 974.59 ±11.09 / 988.95 ms │     no change │
│ QQuery 12 │           46.01 / 46.48 ±0.66 / 47.78 ms │           44.60 / 45.80 ±1.15 / 47.94 ms │     no change │
│ QQuery 13 │        403.13 / 410.59 ±5.34 / 418.64 ms │        396.97 / 409.09 ±7.71 / 418.78 ms │     no change │
│ QQuery 14 │     1013.52 / 1025.33 ±7.86 / 1038.17 ms │     1012.65 / 1023.70 ±7.17 / 1034.80 ms │     no change │
│ QQuery 15 │           15.65 / 16.20 ±0.68 / 17.37 ms │           15.17 / 16.09 ±0.74 / 17.11 ms │     no change │
│ QQuery 16 │              7.19 / 7.81 ±0.88 / 9.51 ms │              7.13 / 7.59 ±0.51 / 8.58 ms │     no change │
│ QQuery 17 │        230.63 / 234.71 ±4.15 / 240.00 ms │        228.87 / 234.28 ±3.18 / 237.66 ms │     no change │
│ QQuery 18 │        125.62 / 131.00 ±3.76 / 135.83 ms │        128.40 / 131.18 ±1.61 / 133.13 ms │     no change │
│ QQuery 19 │        156.57 / 159.27 ±2.83 / 162.82 ms │        156.08 / 160.83 ±4.31 / 168.88 ms │     no change │
│ QQuery 20 │           13.47 / 14.21 ±0.50 / 14.89 ms │           13.83 / 14.40 ±0.59 / 15.47 ms │     no change │
│ QQuery 21 │           19.05 / 19.75 ±0.72 / 21.07 ms │           18.95 / 19.79 ±0.48 / 20.45 ms │     no change │
│ QQuery 22 │        483.72 / 494.00 ±7.56 / 504.18 ms │       476.24 / 494.35 ±14.86 / 512.76 ms │     no change │
│ QQuery 23 │        892.91 / 904.40 ±6.67 / 911.13 ms │        885.34 / 899.87 ±9.97 / 913.77 ms │     no change │
│ QQuery 24 │        382.74 / 394.72 ±7.89 / 403.95 ms │        384.07 / 398.00 ±7.70 / 407.03 ms │     no change │
│ QQuery 25 │        352.87 / 355.04 ±1.91 / 358.20 ms │        341.78 / 349.51 ±6.35 / 359.37 ms │     no change │
│ QQuery 26 │           81.82 / 82.92 ±0.76 / 84.03 ms │           80.05 / 82.24 ±1.12 / 83.21 ms │     no change │
│ QQuery 27 │              6.69 / 6.92 ±0.18 / 7.14 ms │              6.86 / 7.16 ±0.28 / 7.67 ms │     no change │
│ QQuery 28 │        149.75 / 153.64 ±2.02 / 155.14 ms │        148.92 / 151.83 ±1.86 / 154.17 ms │     no change │
│ QQuery 29 │        283.11 / 287.80 ±4.32 / 293.90 ms │        280.49 / 286.26 ±3.96 / 291.47 ms │     no change │
│ QQuery 30 │           45.08 / 45.68 ±0.50 / 46.27 ms │           44.80 / 48.24 ±2.01 / 50.79 ms │  1.06x slower │
│ QQuery 31 │        171.39 / 175.22 ±2.49 / 177.91 ms │        170.80 / 172.88 ±1.84 / 175.46 ms │     no change │
│ QQuery 32 │           14.18 / 14.32 ±0.11 / 14.50 ms │           14.56 / 14.92 ±0.36 / 15.43 ms │     no change │
│ QQuery 33 │        141.87 / 146.69 ±4.15 / 153.30 ms │        141.90 / 144.19 ±2.49 / 148.73 ms │     no change │
│ QQuery 34 │              6.86 / 7.19 ±0.36 / 7.64 ms │              6.99 / 7.30 ±0.20 / 7.53 ms │     no change │
│ QQuery 35 │        110.54 / 111.86 ±1.80 / 115.35 ms │        107.92 / 111.25 ±2.07 / 114.12 ms │     no change │
│ QQuery 36 │              6.82 / 7.21 ±0.24 / 7.53 ms │              6.55 / 6.78 ±0.16 / 6.95 ms │ +1.06x faster │
│ QQuery 37 │            9.54 / 10.17 ±0.75 / 11.58 ms │              8.46 / 8.99 ±0.51 / 9.79 ms │ +1.13x faster │
│ QQuery 38 │           90.41 / 94.44 ±2.47 / 98.01 ms │           85.05 / 86.66 ±1.70 / 89.65 ms │ +1.09x faster │
│ QQuery 39 │        139.05 / 144.89 ±4.26 / 150.16 ms │        125.56 / 135.32 ±6.72 / 145.26 ms │ +1.07x faster │
│ QQuery 40 │        117.08 / 124.46 ±7.09 / 137.96 ms │        115.70 / 118.24 ±2.37 / 121.77 ms │ +1.05x faster │
│ QQuery 41 │           15.09 / 17.05 ±1.60 / 18.96 ms │           14.63 / 17.04 ±2.26 / 20.94 ms │     no change │
│ QQuery 42 │        110.43 / 112.67 ±1.79 / 114.90 ms │        108.85 / 109.66 ±0.77 / 110.91 ms │     no change │
│ QQuery 43 │              6.01 / 6.11 ±0.10 / 6.30 ms │              5.51 / 5.71 ±0.21 / 6.11 ms │ +1.07x faster │
│ QQuery 44 │           12.33 / 12.70 ±0.36 / 13.34 ms │           11.44 / 11.73 ±0.26 / 12.03 ms │ +1.08x faster │
│ QQuery 45 │           52.42 / 53.55 ±0.59 / 54.03 ms │           52.37 / 53.40 ±0.94 / 54.85 ms │     no change │
│ QQuery 46 │              8.95 / 9.21 ±0.30 / 9.77 ms │             9.16 / 9.51 ±0.35 / 10.11 ms │     no change │
│ QQuery 47 │       767.69 / 810.34 ±32.45 / 850.39 ms │       707.65 / 739.10 ±24.65 / 775.07 ms │ +1.10x faster │
│ QQuery 48 │        291.82 / 300.86 ±7.82 / 314.80 ms │        287.60 / 298.59 ±6.74 / 306.63 ms │     no change │
│ QQuery 49 │        253.90 / 258.14 ±2.38 / 260.68 ms │        255.72 / 257.10 ±1.52 / 260.03 ms │     no change │
│ QQuery 50 │        226.23 / 233.34 ±5.79 / 242.41 ms │        223.58 / 227.73 ±3.77 / 234.46 ms │     no change │
│ QQuery 51 │        187.94 / 190.39 ±1.25 / 191.37 ms │        181.52 / 183.63 ±2.28 / 186.89 ms │     no change │
│ QQuery 52 │        109.15 / 111.11 ±1.64 / 113.54 ms │        109.24 / 110.62 ±1.65 / 113.83 ms │     no change │
│ QQuery 53 │        103.62 / 105.45 ±2.17 / 109.53 ms │        105.20 / 106.30 ±0.72 / 107.39 ms │     no change │
│ QQuery 54 │        146.50 / 147.67 ±1.29 / 150.01 ms │        144.55 / 147.11 ±1.93 / 149.73 ms │     no change │
│ QQuery 55 │        108.34 / 110.62 ±1.99 / 114.15 ms │        107.28 / 109.34 ±1.34 / 110.70 ms │     no change │
│ QQuery 56 │        141.78 / 145.41 ±2.94 / 150.74 ms │        143.06 / 145.93 ±2.11 / 149.49 ms │     no change │
│ QQuery 57 │        172.64 / 177.79 ±3.98 / 182.91 ms │        182.39 / 185.00 ±2.78 / 190.21 ms │     no change │
│ QQuery 58 │        272.03 / 277.03 ±3.32 / 280.59 ms │        278.47 / 280.85 ±2.28 / 284.60 ms │     no change │
│ QQuery 59 │        197.51 / 203.26 ±4.47 / 211.02 ms │        207.31 / 207.91 ±0.53 / 208.79 ms │     no change │
│ QQuery 60 │        142.53 / 146.68 ±2.43 / 149.49 ms │        147.34 / 148.92 ±1.12 / 150.17 ms │     no change │
│ QQuery 61 │           13.71 / 13.84 ±0.16 / 14.13 ms │           13.41 / 13.60 ±0.17 / 13.83 ms │     no change │
│ QQuery 62 │       909.01 / 950.75 ±31.84 / 995.60 ms │       918.54 / 948.41 ±23.49 / 973.98 ms │     no change │
│ QQuery 63 │        107.18 / 109.89 ±2.44 / 113.15 ms │        104.08 / 108.39 ±4.57 / 117.10 ms │     no change │
│ QQuery 64 │        702.68 / 707.96 ±6.30 / 719.92 ms │        696.25 / 703.09 ±4.08 / 707.04 ms │     no change │
│ QQuery 65 │       248.61 / 268.61 ±14.70 / 285.08 ms │       249.63 / 262.02 ±10.32 / 277.86 ms │     no change │
│ QQuery 66 │        252.39 / 259.31 ±6.80 / 268.03 ms │        242.90 / 256.83 ±8.27 / 267.02 ms │     no change │
│ QQuery 67 │       307.56 / 330.51 ±12.03 / 340.30 ms │       309.13 / 322.05 ±10.09 / 335.61 ms │     no change │
│ QQuery 68 │            8.53 / 10.32 ±1.80 / 12.61 ms │            9.31 / 10.22 ±0.91 / 11.61 ms │     no change │
│ QQuery 69 │        102.25 / 104.42 ±1.96 / 107.07 ms │        100.07 / 102.60 ±1.86 / 105.30 ms │     no change │
│ QQuery 70 │       344.97 / 355.82 ±12.09 / 378.12 ms │        346.20 / 355.33 ±9.09 / 371.63 ms │     no change │
│ QQuery 71 │        135.39 / 142.48 ±6.42 / 154.06 ms │        133.92 / 137.78 ±2.54 / 141.47 ms │     no change │
│ QQuery 72 │       637.06 / 647.01 ±12.86 / 671.88 ms │       615.39 / 634.09 ±13.38 / 649.99 ms │     no change │
│ QQuery 73 │              7.37 / 7.92 ±0.35 / 8.33 ms │             7.77 / 8.65 ±1.03 / 10.61 ms │  1.09x slower │
│ QQuery 74 │       619.82 / 635.83 ±12.34 / 650.32 ms │        641.47 / 648.77 ±5.87 / 655.94 ms │     no change │
│ QQuery 75 │        273.99 / 277.40 ±4.37 / 285.72 ms │        278.55 / 282.53 ±2.73 / 286.85 ms │     no change │
│ QQuery 76 │        134.59 / 137.62 ±3.40 / 144.22 ms │        135.57 / 137.30 ±1.73 / 139.82 ms │     no change │
│ QQuery 77 │        189.81 / 193.27 ±1.96 / 195.51 ms │        189.91 / 192.07 ±1.55 / 193.57 ms │     no change │
│ QQuery 78 │        347.48 / 349.30 ±1.99 / 353.04 ms │        338.08 / 347.49 ±8.05 / 359.26 ms │     no change │
│ QQuery 79 │        232.43 / 241.98 ±9.71 / 258.79 ms │       229.77 / 241.75 ±11.93 / 263.89 ms │     no change │
│ QQuery 80 │        323.82 / 327.26 ±2.56 / 331.70 ms │        322.29 / 328.37 ±3.55 / 332.60 ms │     no change │
│ QQuery 81 │           27.68 / 28.42 ±0.85 / 30.03 ms │           26.02 / 28.15 ±1.72 / 31.00 ms │     no change │
│ QQuery 82 │           41.51 / 42.92 ±1.75 / 46.27 ms │           40.35 / 41.06 ±0.42 / 41.54 ms │     no change │
│ QQuery 83 │           38.35 / 39.19 ±1.02 / 41.16 ms │           38.71 / 40.51 ±1.49 / 42.30 ms │     no change │
│ QQuery 84 │           49.02 / 50.26 ±0.97 / 52.00 ms │           48.34 / 49.31 ±1.23 / 51.73 ms │     no change │
│ QQuery 85 │        149.66 / 151.89 ±1.55 / 153.56 ms │        148.63 / 151.49 ±3.43 / 157.41 ms │     no change │
│ QQuery 86 │           38.91 / 40.11 ±1.43 / 42.22 ms │           38.40 / 39.08 ±0.59 / 40.12 ms │     no change │
│ QQuery 87 │           86.74 / 92.77 ±3.14 / 95.39 ms │           86.42 / 91.70 ±4.20 / 98.98 ms │     no change │
│ QQuery 88 │         99.95 / 101.02 ±0.89 / 102.64 ms │         98.90 / 100.15 ±0.88 / 101.27 ms │     no change │
│ QQuery 89 │        120.62 / 123.31 ±1.45 / 124.61 ms │        117.78 / 121.16 ±2.99 / 125.43 ms │     no change │
│ QQuery 90 │           23.47 / 24.12 ±0.36 / 24.45 ms │           23.15 / 23.92 ±0.64 / 25.01 ms │     no change │
│ QQuery 91 │           65.25 / 66.48 ±0.99 / 67.78 ms │           61.24 / 64.00 ±1.65 / 66.29 ms │     no change │
│ QQuery 92 │           59.03 / 59.68 ±0.64 / 60.58 ms │           59.29 / 60.08 ±0.78 / 61.06 ms │     no change │
│ QQuery 93 │        194.66 / 197.08 ±1.74 / 199.86 ms │        190.57 / 196.74 ±3.57 / 200.67 ms │     no change │
│ QQuery 94 │           62.89 / 64.54 ±1.07 / 65.98 ms │           61.77 / 63.80 ±1.85 / 67.00 ms │     no change │
│ QQuery 95 │        130.28 / 131.91 ±1.38 / 134.13 ms │        128.27 / 131.38 ±3.02 / 136.11 ms │     no change │
│ QQuery 96 │           70.38 / 73.60 ±1.79 / 75.72 ms │           73.70 / 75.02 ±1.32 / 77.25 ms │     no change │
│ QQuery 97 │        124.61 / 127.39 ±2.08 / 129.81 ms │        125.06 / 128.06 ±1.72 / 130.10 ms │     no change │
│ QQuery 98 │        155.80 / 160.50 ±2.61 / 163.41 ms │        151.45 / 159.15 ±5.88 / 166.28 ms │     no change │
│ QQuery 99 │ 10810.05 / 10883.32 ±46.65 / 10945.01 ms │ 10845.35 / 10933.99 ±93.67 / 11102.74 ms │     no change │
└───────────┴──────────────────────────────────────────┴──────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                                    ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                                    │ 31969.31ms │
│ Total Time (filter-pushdown-dynamic-bytes-morsels)   │ 31918.36ms │
│ Average Time (HEAD)                                  │   322.92ms │
│ Average Time (filter-pushdown-dynamic-bytes-morsels) │   322.41ms │
│ Queries Faster                                       │          8 │
│ Queries Slower                                       │          3 │
│ Queries with No Change                               │         88 │
│ Queries with Failure                                 │          0 │
└──────────────────────────────────────────────────────┴────────────┘

Resource Usage

tpcds — base (merge-base)

Metric Value
Wall time 165.0s
Peak memory 6.3 GiB
Avg memory 5.3 GiB
CPU user 266.2s
CPU sys 17.1s
Peak spill 0 B

tpcds — branch

Metric Value
Wall time 160.0s
Peak memory 6.3 GiB
Avg memory 5.4 GiB
CPU user 265.2s
CPU sys 16.9s
Peak spill 0 B

File an issue against this benchmark runner

@adriangb
Copy link
Copy Markdown
Contributor Author

run benchmarks

baseline:
    ref: main
    env:
       DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: false
       DATAFUSION_EXECUTION_PARQUET_REORDER_FILTERS: false
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-c4284376643-1633-gvfq7 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 (7c44e30) 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-c4284376643-1631-2tbhx 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 (7c44e30) 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-c4284376643-1632-wjn75 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 (7c44e30) 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.17 / 4.42 ±6.37 / 17.15 ms │          1.17 / 4.40 ±6.35 / 17.10 ms │      no change │
│ QQuery 1  │        12.05 / 12.62 ±0.31 / 12.91 ms │        12.93 / 13.57 ±0.33 / 13.92 ms │   1.08x slower │
│ QQuery 2  │        36.52 / 36.66 ±0.10 / 36.78 ms │        36.09 / 36.26 ±0.11 / 36.37 ms │      no change │
│ QQuery 3  │        31.11 / 32.14 ±0.84 / 33.62 ms │        31.47 / 32.04 ±0.61 / 33.21 ms │      no change │
│ QQuery 4  │     253.21 / 257.93 ±4.42 / 265.35 ms │     255.74 / 259.16 ±2.57 / 262.71 ms │      no change │
│ QQuery 5  │     290.31 / 298.00 ±5.68 / 307.63 ms │     292.77 / 296.53 ±2.28 / 298.89 ms │      no change │
│ QQuery 6  │           6.71 / 7.57 ±0.48 / 8.05 ms │           5.11 / 7.29 ±1.33 / 8.72 ms │      no change │
│ QQuery 7  │        14.23 / 14.57 ±0.41 / 15.37 ms │        14.81 / 15.00 ±0.26 / 15.51 ms │      no change │
│ QQuery 8  │     360.54 / 367.73 ±5.20 / 374.79 ms │    363.60 / 375.49 ±13.87 / 399.96 ms │      no change │
│ QQuery 9  │     517.26 / 530.63 ±9.50 / 543.53 ms │    503.97 / 517.81 ±12.96 / 540.28 ms │      no change │
│ QQuery 10 │        73.76 / 76.86 ±3.14 / 82.91 ms │      98.45 / 100.07 ±1.93 / 103.72 ms │   1.30x slower │
│ QQuery 11 │        84.89 / 85.41 ±0.57 / 86.39 ms │     109.81 / 110.12 ±0.23 / 110.49 ms │   1.29x slower │
│ QQuery 12 │    292.27 / 306.64 ±10.17 / 321.45 ms │    288.37 / 302.16 ±12.30 / 321.72 ms │      no change │
│ QQuery 13 │     422.00 / 430.37 ±9.01 / 446.67 ms │    453.47 / 467.00 ±11.15 / 486.63 ms │   1.09x slower │
│ QQuery 14 │     302.20 / 304.22 ±1.62 / 306.96 ms │     337.27 / 341.88 ±5.68 / 353.07 ms │   1.12x slower │
│ QQuery 15 │     324.67 / 331.26 ±6.76 / 343.23 ms │    333.59 / 348.55 ±17.26 / 380.74 ms │   1.05x slower │
│ QQuery 16 │     675.19 / 677.68 ±2.55 / 682.04 ms │     676.77 / 682.42 ±4.26 / 686.32 ms │      no change │
│ QQuery 17 │     669.77 / 677.12 ±5.14 / 683.04 ms │     681.58 / 688.38 ±6.10 / 697.44 ms │      no change │
│ QQuery 18 │  1343.22 / 1355.06 ±9.93 / 1373.04 ms │ 1443.89 / 1498.02 ±36.25 / 1555.22 ms │   1.11x slower │
│ QQuery 19 │        30.14 / 31.91 ±1.91 / 34.87 ms │       29.88 / 38.48 ±15.13 / 68.68 ms │   1.21x slower │
│ QQuery 20 │     511.17 / 521.04 ±9.12 / 534.09 ms │    519.47 / 528.30 ±10.15 / 547.07 ms │      no change │
│ QQuery 21 │     593.55 / 594.27 ±0.85 / 595.94 ms │     565.91 / 577.61 ±6.59 / 585.87 ms │      no change │
│ QQuery 22 │  1051.52 / 1058.17 ±3.92 / 1063.80 ms │     805.16 / 808.73 ±2.69 / 811.50 ms │  +1.31x faster │
│ QQuery 23 │ 3286.39 / 3313.27 ±22.57 / 3343.20 ms │    178.99 / 238.53 ±45.28 / 292.04 ms │ +13.89x faster │
│ QQuery 24 │        42.62 / 45.53 ±3.41 / 51.92 ms │        42.82 / 48.71 ±3.49 / 52.15 ms │   1.07x slower │
│ QQuery 25 │     114.22 / 115.19 ±1.10 / 117.18 ms │     118.77 / 119.43 ±0.45 / 120.10 ms │      no change │
│ QQuery 26 │        42.42 / 43.62 ±1.48 / 46.46 ms │        58.21 / 59.88 ±2.73 / 65.31 ms │   1.37x slower │
│ QQuery 27 │     663.28 / 668.45 ±3.09 / 671.30 ms │     639.32 / 645.76 ±5.48 / 653.36 ms │      no change │
│ QQuery 28 │ 2978.70 / 3011.37 ±16.73 / 3022.57 ms │ 2978.10 / 3012.36 ±19.74 / 3031.95 ms │      no change │
│ QQuery 29 │        44.00 / 48.70 ±4.78 / 55.96 ms │        44.36 / 47.98 ±3.64 / 52.74 ms │      no change │
│ QQuery 30 │     327.30 / 332.88 ±6.09 / 344.69 ms │     330.52 / 338.00 ±6.13 / 347.61 ms │      no change │
│ QQuery 31 │     332.19 / 337.96 ±4.86 / 346.61 ms │     333.66 / 341.06 ±4.23 / 345.88 ms │      no change │
│ QQuery 32 │  1024.25 / 1032.03 ±7.24 / 1042.46 ms │ 1017.29 / 1029.31 ±15.64 / 1060.01 ms │      no change │
│ QQuery 33 │ 1430.70 / 1446.22 ±11.77 / 1466.97 ms │  1438.18 / 1452.07 ±8.14 / 1461.30 ms │      no change │
│ QQuery 34 │ 1461.42 / 1495.44 ±18.83 / 1515.47 ms │ 1446.95 / 1479.90 ±20.23 / 1504.88 ms │      no change │
│ QQuery 35 │     316.01 / 321.22 ±5.30 / 331.34 ms │     315.41 / 323.92 ±5.87 / 333.32 ms │      no change │
│ QQuery 36 │        63.64 / 66.78 ±1.61 / 68.16 ms │        61.43 / 64.09 ±2.53 / 68.38 ms │      no change │
│ QQuery 37 │        36.06 / 37.04 ±0.80 / 38.13 ms │        35.85 / 37.57 ±1.28 / 39.32 ms │      no change │
│ QQuery 38 │        40.48 / 41.17 ±0.61 / 42.01 ms │        36.29 / 37.95 ±1.30 / 39.25 ms │  +1.08x faster │
│ QQuery 39 │     120.66 / 129.66 ±7.51 / 143.12 ms │     114.01 / 124.37 ±6.32 / 132.06 ms │      no change │
│ QQuery 40 │        15.12 / 18.02 ±1.53 / 19.62 ms │        21.37 / 23.04 ±1.79 / 26.41 ms │   1.28x slower │
│ QQuery 41 │        15.17 / 17.16 ±1.52 / 18.86 ms │        17.55 / 18.07 ±0.45 / 18.92 ms │   1.05x slower │
│ QQuery 42 │        13.66 / 14.08 ±0.33 / 14.63 ms │        15.75 / 17.00 ±1.45 / 19.64 ms │   1.21x slower │
└───────────┴───────────────────────────────────────┴───────────────────────────────────────┴────────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                                    ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                                    │ 20548.05ms │
│ Total Time (filter-pushdown-dynamic-bytes-morsels)   │ 17508.27ms │
│ Average Time (HEAD)                                  │   477.86ms │
│ Average Time (filter-pushdown-dynamic-bytes-morsels) │   407.17ms │
│ Queries Faster                                       │          3 │
│ Queries Slower                                       │         13 │
│ Queries with No Change                               │         27 │
│ Queries with Failure                                 │          0 │
└──────────────────────────────────────────────────────┴────────────┘

Resource Usage

clickbench_partitioned — base (merge-base)

Metric Value
Wall time 105.0s
Peak memory 38.6 GiB
Avg memory 33.3 GiB
CPU user 1076.3s
CPU sys 80.9s
Peak spill 0 B

clickbench_partitioned — branch

Metric Value
Wall time 90.0s
Peak memory 38.1 GiB
Avg memory 28.3 GiB
CPU user 903.1s
CPU sys 80.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 tpcds_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                     HEAD ┃    filter-pushdown-dynamic-bytes-morsels ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │              6.45 / 6.82 ±0.67 / 8.17 ms │              6.12 / 6.57 ±0.78 / 8.12 ms │     no change │
│ QQuery 2  │        147.73 / 148.62 ±0.69 / 149.61 ms │        109.02 / 109.54 ±0.49 / 110.23 ms │ +1.36x faster │
│ QQuery 3  │        114.71 / 115.53 ±0.65 / 116.33 ms │        125.53 / 126.12 ±0.59 / 127.00 ms │  1.09x slower │
│ QQuery 4  │    1242.81 / 1264.15 ±12.72 / 1277.89 ms │    1016.68 / 1040.59 ±17.59 / 1061.56 ms │ +1.21x faster │
│ QQuery 5  │        172.03 / 173.84 ±1.43 / 175.52 ms │        174.31 / 176.73 ±2.05 / 179.83 ms │     no change │
│ QQuery 6  │       797.87 / 837.46 ±28.33 / 871.20 ms │        202.47 / 209.22 ±4.27 / 213.92 ms │ +4.00x faster │
│ QQuery 7  │        344.09 / 346.37 ±2.47 / 350.99 ms │        323.23 / 327.60 ±3.28 / 332.79 ms │ +1.06x faster │
│ QQuery 8  │        117.05 / 118.07 ±0.57 / 118.75 ms │        138.78 / 142.49 ±3.02 / 147.03 ms │  1.21x slower │
│ QQuery 9  │        101.00 / 104.09 ±2.88 / 107.73 ms │        102.27 / 104.25 ±2.33 / 108.70 ms │     no change │
│ QQuery 10 │        104.87 / 106.21 ±0.73 / 107.07 ms │        137.19 / 140.38 ±3.49 / 146.74 ms │  1.32x slower │
│ QQuery 11 │        871.23 / 881.94 ±7.58 / 893.88 ms │        680.33 / 686.87 ±4.94 / 694.62 ms │ +1.28x faster │
│ QQuery 12 │           45.63 / 47.04 ±1.17 / 48.82 ms │           35.55 / 37.82 ±1.42 / 39.98 ms │ +1.24x faster │
│ QQuery 13 │        401.33 / 406.33 ±7.51 / 421.27 ms │        564.03 / 569.77 ±3.14 / 573.30 ms │  1.40x slower │
│ QQuery 14 │     1010.46 / 1016.77 ±5.35 / 1025.37 ms │        854.68 / 866.06 ±7.33 / 875.48 ms │ +1.17x faster │
│ QQuery 15 │           15.32 / 16.21 ±1.26 / 18.69 ms │           17.83 / 19.36 ±1.59 / 21.95 ms │  1.19x slower │
│ QQuery 16 │              7.17 / 8.08 ±0.82 / 9.20 ms │              6.79 / 7.30 ±0.54 / 8.30 ms │ +1.11x faster │
│ QQuery 17 │        228.63 / 229.60 ±0.72 / 230.49 ms │        174.90 / 177.16 ±1.36 / 178.88 ms │ +1.30x faster │
│ QQuery 18 │        125.78 / 127.24 ±1.21 / 129.15 ms │        183.30 / 192.95 ±9.46 / 210.02 ms │  1.52x slower │
│ QQuery 19 │        154.45 / 156.89 ±1.81 / 159.59 ms │        145.26 / 146.76 ±1.23 / 148.45 ms │ +1.07x faster │
│ QQuery 20 │           14.05 / 14.28 ±0.20 / 14.52 ms │           15.06 / 16.14 ±1.24 / 18.47 ms │  1.13x slower │
│ QQuery 21 │           19.61 / 20.05 ±0.33 / 20.50 ms │           21.54 / 22.09 ±0.44 / 22.90 ms │  1.10x slower │
│ QQuery 22 │        482.13 / 483.72 ±1.14 / 484.90 ms │       487.35 / 494.64 ±10.12 / 513.91 ms │     no change │
│ QQuery 23 │        868.15 / 875.55 ±5.56 / 883.55 ms │        851.97 / 857.43 ±3.15 / 860.63 ms │     no change │
│ QQuery 24 │        378.71 / 382.24 ±3.30 / 386.26 ms │        123.87 / 127.48 ±2.64 / 131.46 ms │ +3.00x faster │
│ QQuery 25 │        340.02 / 340.89 ±0.60 / 341.65 ms │        278.87 / 285.52 ±3.64 / 289.38 ms │ +1.19x faster │
│ QQuery 26 │           80.12 / 82.08 ±1.36 / 84.04 ms │        139.78 / 145.36 ±5.94 / 155.81 ms │  1.77x slower │
│ QQuery 27 │              6.91 / 7.36 ±0.58 / 8.38 ms │              6.52 / 6.80 ±0.30 / 7.29 ms │ +1.08x faster │
│ QQuery 28 │        149.34 / 150.01 ±0.61 / 150.95 ms │        150.88 / 151.82 ±0.85 / 153.29 ms │     no change │
│ QQuery 29 │        280.84 / 281.78 ±0.69 / 282.66 ms │        214.01 / 219.01 ±3.93 / 224.73 ms │ +1.29x faster │
│ QQuery 30 │           43.13 / 45.50 ±2.42 / 50.16 ms │           49.30 / 54.88 ±4.30 / 60.63 ms │  1.21x slower │
│ QQuery 31 │        169.45 / 171.28 ±1.08 / 172.79 ms │        165.97 / 167.95 ±1.24 / 169.55 ms │     no change │
│ QQuery 32 │           13.45 / 13.81 ±0.50 / 14.79 ms │           14.05 / 14.84 ±0.62 / 15.73 ms │  1.07x slower │
│ QQuery 33 │        140.28 / 141.91 ±1.01 / 143.13 ms │        129.79 / 133.14 ±2.35 / 136.96 ms │ +1.07x faster │
│ QQuery 34 │              6.87 / 7.17 ±0.47 / 8.10 ms │              6.97 / 7.26 ±0.27 / 7.70 ms │     no change │
│ QQuery 35 │        105.00 / 106.80 ±1.41 / 108.12 ms │        108.09 / 109.71 ±1.38 / 111.70 ms │     no change │
│ QQuery 36 │              6.61 / 6.82 ±0.13 / 7.02 ms │              6.21 / 6.38 ±0.21 / 6.78 ms │ +1.07x faster │
│ QQuery 37 │             8.24 / 9.78 ±1.52 / 12.17 ms │              4.87 / 5.39 ±0.47 / 6.07 ms │ +1.81x faster │
│ QQuery 38 │           85.55 / 87.67 ±2.02 / 91.41 ms │           86.93 / 91.30 ±3.51 / 97.25 ms │     no change │
│ QQuery 39 │        123.90 / 126.00 ±2.76 / 131.31 ms │        131.07 / 133.52 ±2.04 / 137.18 ms │  1.06x slower │
│ QQuery 40 │        109.95 / 115.67 ±5.17 / 125.22 ms │        115.11 / 121.08 ±6.14 / 132.92 ms │     no change │
│ QQuery 41 │           14.05 / 14.93 ±0.81 / 15.96 ms │           15.42 / 16.60 ±1.17 / 18.54 ms │  1.11x slower │
│ QQuery 42 │        106.78 / 109.15 ±1.54 / 111.03 ms │        111.27 / 112.92 ±1.03 / 114.30 ms │     no change │
│ QQuery 43 │              5.56 / 5.72 ±0.15 / 5.99 ms │              5.37 / 5.53 ±0.22 / 5.95 ms │     no change │
│ QQuery 44 │           11.31 / 11.64 ±0.18 / 11.86 ms │           11.14 / 11.98 ±0.88 / 13.40 ms │     no change │
│ QQuery 45 │           50.57 / 51.87 ±0.96 / 52.98 ms │           41.76 / 44.40 ±1.76 / 47.23 ms │ +1.17x faster │
│ QQuery 46 │              8.15 / 8.48 ±0.26 / 8.81 ms │              8.14 / 8.51 ±0.35 / 9.09 ms │     no change │
│ QQuery 47 │        690.74 / 694.77 ±2.44 / 698.31 ms │        694.05 / 700.05 ±4.24 / 705.02 ms │     no change │
│ QQuery 48 │        285.02 / 291.28 ±5.28 / 299.71 ms │        349.83 / 360.30 ±6.56 / 369.23 ms │  1.24x slower │
│ QQuery 49 │        250.67 / 253.35 ±2.32 / 256.44 ms │        238.20 / 241.96 ±2.91 / 246.83 ms │     no change │
│ QQuery 50 │        216.40 / 224.28 ±6.52 / 233.77 ms │        244.04 / 245.84 ±2.11 / 249.93 ms │  1.10x slower │
│ QQuery 51 │        177.73 / 184.06 ±3.92 / 188.03 ms │        202.23 / 209.92 ±3.94 / 212.91 ms │  1.14x slower │
│ QQuery 52 │        106.46 / 108.87 ±1.33 / 110.20 ms │        108.23 / 111.65 ±2.12 / 114.76 ms │     no change │
│ QQuery 53 │        102.03 / 103.42 ±1.01 / 104.77 ms │        138.67 / 144.20 ±2.78 / 145.96 ms │  1.39x slower │
│ QQuery 54 │        144.86 / 146.73 ±1.13 / 148.07 ms │        124.43 / 129.50 ±3.37 / 134.41 ms │ +1.13x faster │
│ QQuery 55 │        106.37 / 108.27 ±1.88 / 110.73 ms │        106.66 / 111.79 ±3.96 / 116.17 ms │     no change │
│ QQuery 56 │        140.01 / 140.98 ±0.83 / 142.00 ms │        133.04 / 135.75 ±1.60 / 137.67 ms │     no change │
│ QQuery 57 │        170.75 / 174.23 ±2.17 / 177.24 ms │        183.40 / 184.69 ±1.11 / 186.74 ms │  1.06x slower │
│ QQuery 58 │        271.83 / 275.49 ±1.93 / 277.53 ms │        229.71 / 231.58 ±1.79 / 234.59 ms │ +1.19x faster │
│ QQuery 59 │        195.92 / 198.49 ±1.82 / 200.91 ms │        229.43 / 232.70 ±2.71 / 237.25 ms │  1.17x slower │
│ QQuery 60 │        141.00 / 143.14 ±2.07 / 146.83 ms │        135.65 / 138.61 ±1.54 / 140.00 ms │     no change │
│ QQuery 61 │           12.66 / 12.92 ±0.31 / 13.50 ms │           12.04 / 12.49 ±0.61 / 13.66 ms │     no change │
│ QQuery 62 │       880.81 / 905.09 ±20.43 / 941.87 ms │       899.82 / 951.22 ±29.98 / 983.61 ms │  1.05x slower │
│ QQuery 63 │        102.98 / 106.25 ±2.58 / 110.22 ms │        133.58 / 144.16 ±5.83 / 149.46 ms │  1.36x slower │
│ QQuery 64 │        679.86 / 682.96 ±3.09 / 688.29 ms │        721.02 / 728.98 ±4.46 / 733.44 ms │  1.07x slower │
│ QQuery 65 │        245.16 / 251.61 ±3.77 / 256.72 ms │        321.71 / 330.84 ±5.58 / 337.65 ms │  1.31x slower │
│ QQuery 66 │        251.14 / 258.04 ±5.29 / 267.07 ms │        185.98 / 187.48 ±2.20 / 191.85 ms │ +1.38x faster │
│ QQuery 67 │        306.89 / 311.53 ±5.33 / 321.82 ms │        473.36 / 482.10 ±8.40 / 496.41 ms │  1.55x slower │
│ QQuery 68 │             8.50 / 9.29 ±0.68 / 10.47 ms │            9.88 / 11.06 ±1.43 / 13.61 ms │  1.19x slower │
│ QQuery 69 │        101.51 / 103.11 ±1.06 / 104.38 ms │        138.51 / 144.87 ±4.89 / 152.10 ms │  1.41x slower │
│ QQuery 70 │        336.52 / 347.97 ±6.94 / 355.78 ms │        389.87 / 407.40 ±9.38 / 417.61 ms │  1.17x slower │
│ QQuery 71 │        133.95 / 136.59 ±1.60 / 138.67 ms │        131.02 / 134.55 ±4.22 / 142.59 ms │     no change │
│ QQuery 72 │        604.91 / 617.47 ±8.69 / 630.73 ms │        494.50 / 497.65 ±3.12 / 502.22 ms │ +1.24x faster │
│ QQuery 73 │             7.20 / 8.66 ±1.43 / 11.14 ms │              6.43 / 7.13 ±0.62 / 8.15 ms │ +1.22x faster │
│ QQuery 74 │        548.20 / 553.50 ±4.10 / 559.42 ms │        501.45 / 505.93 ±4.23 / 513.98 ms │ +1.09x faster │
│ QQuery 75 │        276.60 / 278.35 ±1.54 / 280.20 ms │        274.79 / 277.19 ±2.07 / 280.87 ms │     no change │
│ QQuery 76 │        130.53 / 131.75 ±1.41 / 134.44 ms │        154.51 / 158.87 ±2.59 / 162.67 ms │  1.21x slower │
│ QQuery 77 │        191.00 / 191.41 ±0.28 / 191.80 ms │        202.99 / 205.10 ±1.96 / 208.60 ms │  1.07x slower │
│ QQuery 78 │        336.86 / 339.22 ±2.80 / 343.71 ms │        304.05 / 308.63 ±2.76 / 312.63 ms │ +1.10x faster │
│ QQuery 79 │        228.38 / 232.22 ±2.47 / 235.57 ms │        258.33 / 262.60 ±2.80 / 266.72 ms │  1.13x slower │
│ QQuery 80 │        324.02 / 328.01 ±3.32 / 333.00 ms │        257.80 / 263.08 ±4.67 / 268.58 ms │ +1.25x faster │
│ QQuery 81 │           25.92 / 27.85 ±1.16 / 29.26 ms │           31.40 / 32.72 ±1.09 / 34.38 ms │  1.17x slower │
│ QQuery 82 │           40.65 / 41.76 ±1.21 / 43.79 ms │           45.83 / 47.61 ±1.34 / 49.42 ms │  1.14x slower │
│ QQuery 83 │           37.44 / 38.46 ±0.69 / 39.53 ms │           40.87 / 42.02 ±0.82 / 43.32 ms │  1.09x slower │
│ QQuery 84 │           48.62 / 49.58 ±0.70 / 50.75 ms │           52.46 / 53.05 ±0.50 / 53.85 ms │  1.07x slower │
│ QQuery 85 │        146.51 / 148.73 ±1.37 / 150.00 ms │        213.57 / 215.30 ±1.65 / 218.28 ms │  1.45x slower │
│ QQuery 86 │           38.77 / 39.41 ±0.57 / 40.34 ms │           43.72 / 44.69 ±0.87 / 46.33 ms │  1.13x slower │
│ QQuery 87 │           85.96 / 87.74 ±2.04 / 91.52 ms │           90.54 / 92.58 ±1.17 / 94.16 ms │  1.06x slower │
│ QQuery 88 │         99.49 / 100.24 ±0.91 / 101.98 ms │        118.67 / 120.48 ±1.54 / 122.56 ms │  1.20x slower │
│ QQuery 89 │        119.62 / 120.62 ±0.85 / 121.93 ms │        147.20 / 151.41 ±2.50 / 154.13 ms │  1.26x slower │
│ QQuery 90 │           23.38 / 24.00 ±0.67 / 25.25 ms │           23.46 / 24.37 ±0.73 / 25.47 ms │     no change │
│ QQuery 91 │           60.73 / 63.64 ±1.66 / 65.41 ms │        102.72 / 106.70 ±3.39 / 111.61 ms │  1.68x slower │
│ QQuery 92 │           57.10 / 57.58 ±0.36 / 58.02 ms │           58.26 / 59.54 ±1.70 / 62.90 ms │     no change │
│ QQuery 93 │        186.84 / 188.95 ±1.87 / 191.63 ms │        187.81 / 189.14 ±0.72 / 189.97 ms │     no change │
│ QQuery 94 │           60.83 / 61.79 ±0.79 / 62.87 ms │           68.54 / 70.10 ±1.20 / 71.58 ms │  1.13x slower │
│ QQuery 95 │        129.39 / 130.49 ±1.34 / 133.07 ms │        121.16 / 129.04 ±5.99 / 135.75 ms │     no change │
│ QQuery 96 │           72.71 / 73.84 ±0.69 / 74.60 ms │           77.09 / 89.31 ±6.19 / 94.07 ms │  1.21x slower │
│ QQuery 97 │        124.78 / 127.43 ±1.48 / 128.89 ms │        151.79 / 153.71 ±1.78 / 156.86 ms │  1.21x slower │
│ QQuery 98 │        150.98 / 154.81 ±2.31 / 157.17 ms │        116.84 / 119.54 ±2.28 / 123.53 ms │ +1.30x faster │
│ QQuery 99 │ 10656.16 / 10689.97 ±19.04 / 10707.55 ms │ 10681.03 / 10732.02 ±35.84 / 10776.20 ms │     no change │
└───────────┴──────────────────────────────────────────┴──────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                                    ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                                    │ 30863.60ms │
│ Total Time (filter-pushdown-dynamic-bytes-morsels)   │ 30132.40ms │
│ Average Time (HEAD)                                  │   311.75ms │
│ Average Time (filter-pushdown-dynamic-bytes-morsels) │   304.37ms │
│ Queries Faster                                       │         27 │
│ Queries Slower                                       │         43 │
│ Queries with No Change                               │         29 │
│ Queries with Failure                                 │          0 │
└──────────────────────────────────────────────────────┴────────────┘

Resource Usage

tpcds — base (merge-base)

Metric Value
Wall time 155.0s
Peak memory 6.1 GiB
Avg memory 5.4 GiB
CPU user 257.1s
CPU sys 16.1s
Peak spill 0 B

tpcds — branch

Metric Value
Wall time 155.0s
Peak memory 6.4 GiB
Avg memory 5.3 GiB
CPU user 210.5s
CPU sys 22.0s
Peak spill 0 B

File an issue against this benchmark runner

@adriangb
Copy link
Copy Markdown
Contributor Author

run benchmarks

@adriangbot
Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c4285088028-1637-4mcv2 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 (7c44e30) to 7acbe03 (merge-base) diff using: clickbench_partitioned
Results will be posted here when complete


File an issue against this benchmark runner

@adriangbot
Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c4285088028-1638-2r7sg 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 (7c44e30) to 7acbe03 (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-c4285088028-1639-zz8rp 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 (7c44e30) to 7acbe03 (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 clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                  HEAD ┃ filter-pushdown-dynamic-bytes-morsels ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0  │          1.17 / 4.45 ±6.39 / 17.23 ms │          1.16 / 4.37 ±6.28 / 16.92 ms │     no change │
│ QQuery 1  │        12.29 / 12.87 ±0.31 / 13.13 ms │        12.52 / 12.79 ±0.17 / 13.06 ms │     no change │
│ QQuery 2  │        36.40 / 36.61 ±0.16 / 36.86 ms │        36.90 / 37.03 ±0.08 / 37.14 ms │     no change │
│ QQuery 3  │        30.92 / 31.77 ±0.84 / 33.30 ms │        31.56 / 31.90 ±0.29 / 32.41 ms │     no change │
│ QQuery 4  │     254.78 / 262.77 ±6.28 / 271.24 ms │     253.76 / 259.59 ±5.06 / 267.01 ms │     no change │
│ QQuery 5  │     295.05 / 299.38 ±3.21 / 303.40 ms │     294.65 / 302.15 ±4.94 / 309.96 ms │     no change │
│ QQuery 6  │           6.28 / 7.10 ±0.55 / 7.78 ms │          6.70 / 8.56 ±2.07 / 12.40 ms │  1.21x slower │
│ QQuery 7  │        14.40 / 14.69 ±0.22 / 15.03 ms │        13.81 / 14.25 ±0.41 / 14.92 ms │     no change │
│ QQuery 8  │     361.94 / 367.56 ±4.80 / 373.55 ms │     362.58 / 368.46 ±9.01 / 386.41 ms │     no change │
│ QQuery 9  │    500.02 / 522.46 ±13.86 / 537.09 ms │     509.97 / 518.69 ±5.72 / 527.42 ms │     no change │
│ QQuery 10 │        73.69 / 75.15 ±2.10 / 79.21 ms │        76.04 / 77.87 ±2.39 / 82.57 ms │     no change │
│ QQuery 11 │        84.52 / 85.49 ±0.61 / 86.18 ms │        86.67 / 87.21 ±0.55 / 88.21 ms │     no change │
│ QQuery 12 │     292.80 / 299.74 ±6.91 / 311.85 ms │    296.02 / 309.16 ±15.55 / 339.10 ms │     no change │
│ QQuery 13 │     417.89 / 424.37 ±8.19 / 440.14 ms │    423.35 / 435.22 ±13.12 / 455.55 ms │     no change │
│ QQuery 14 │     308.69 / 311.69 ±1.69 / 313.93 ms │     306.21 / 311.16 ±2.73 / 314.01 ms │     no change │
│ QQuery 15 │    326.71 / 345.56 ±18.35 / 372.58 ms │    329.34 / 346.05 ±21.08 / 385.29 ms │     no change │
│ QQuery 16 │     686.61 / 691.84 ±4.24 / 698.55 ms │    674.86 / 696.16 ±28.67 / 751.97 ms │     no change │
│ QQuery 17 │     687.57 / 694.18 ±5.89 / 704.25 ms │     673.61 / 676.51 ±1.64 / 678.57 ms │     no change │
│ QQuery 18 │ 1383.14 / 1455.93 ±52.33 / 1528.34 ms │ 1346.95 / 1453.66 ±57.46 / 1498.95 ms │     no change │
│ QQuery 19 │        30.89 / 32.01 ±1.68 / 35.33 ms │        29.94 / 35.64 ±9.03 / 53.64 ms │  1.11x slower │
│ QQuery 20 │     518.86 / 528.18 ±9.36 / 540.68 ms │     517.30 / 524.92 ±9.55 / 542.87 ms │     no change │
│ QQuery 21 │     591.96 / 593.38 ±0.91 / 594.63 ms │    592.25 / 607.74 ±18.29 / 641.47 ms │     no change │
│ QQuery 22 │  1053.99 / 1060.05 ±3.30 / 1063.22 ms │  1048.54 / 1050.85 ±2.86 / 1055.41 ms │     no change │
│ QQuery 23 │ 3284.29 / 3306.75 ±11.92 / 3319.03 ms │ 3251.14 / 3277.16 ±14.17 / 3292.33 ms │     no change │
│ QQuery 24 │        41.93 / 45.61 ±3.31 / 49.80 ms │        43.64 / 46.53 ±2.24 / 49.63 ms │     no change │
│ QQuery 25 │     113.56 / 115.30 ±1.11 / 116.72 ms │     117.35 / 118.09 ±0.65 / 118.99 ms │     no change │
│ QQuery 26 │        41.87 / 43.59 ±1.05 / 44.60 ms │        42.65 / 44.07 ±1.21 / 45.88 ms │     no change │
│ QQuery 27 │     660.51 / 664.13 ±1.91 / 665.95 ms │     666.13 / 670.07 ±2.60 / 674.26 ms │     no change │
│ QQuery 28 │ 2991.21 / 3017.19 ±14.93 / 3035.30 ms │ 2975.30 / 3004.93 ±17.66 / 3023.12 ms │     no change │
│ QQuery 29 │        43.79 / 48.53 ±5.05 / 55.87 ms │        44.20 / 47.35 ±3.09 / 52.81 ms │     no change │
│ QQuery 30 │     322.43 / 334.03 ±8.23 / 347.39 ms │     324.29 / 332.05 ±5.93 / 341.45 ms │     no change │
│ QQuery 31 │     328.21 / 336.71 ±6.06 / 346.33 ms │     333.01 / 337.92 ±2.82 / 341.63 ms │     no change │
│ QQuery 32 │ 1137.76 / 1193.41 ±49.91 / 1277.16 ms │ 1010.27 / 1024.25 ±20.97 / 1065.92 ms │ +1.17x faster │
│ QQuery 33 │ 1473.63 / 1551.83 ±53.97 / 1637.27 ms │ 1426.35 / 1445.32 ±12.71 / 1459.89 ms │ +1.07x faster │
│ QQuery 34 │ 1466.21 / 1577.01 ±83.58 / 1720.69 ms │ 1452.45 / 1476.36 ±14.90 / 1498.46 ms │ +1.07x faster │
│ QQuery 35 │    316.08 / 325.30 ±12.29 / 349.33 ms │     319.38 / 323.73 ±4.09 / 331.31 ms │     no change │
│ QQuery 36 │        62.81 / 67.31 ±3.27 / 71.73 ms │        64.22 / 69.12 ±3.17 / 72.57 ms │     no change │
│ QQuery 37 │        35.55 / 37.71 ±1.25 / 39.36 ms │        37.45 / 38.61 ±0.81 / 39.62 ms │     no change │
│ QQuery 38 │        41.37 / 41.58 ±0.16 / 41.82 ms │        41.36 / 42.82 ±0.76 / 43.56 ms │     no change │
│ QQuery 39 │     121.24 / 128.71 ±4.06 / 133.39 ms │     132.48 / 136.53 ±3.56 / 142.25 ms │  1.06x slower │
│ QQuery 40 │        14.88 / 16.75 ±1.71 / 19.16 ms │        14.62 / 16.55 ±1.30 / 17.99 ms │     no change │
│ QQuery 41 │        14.38 / 16.15 ±1.92 / 19.56 ms │        14.47 / 16.26 ±2.23 / 20.63 ms │     no change │
│ QQuery 42 │        13.80 / 14.47 ±0.36 / 14.75 ms │        13.08 / 13.42 ±0.25 / 13.83 ms │ +1.08x faster │
└───────────┴───────────────────────────────────────┴───────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                                    ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                                    │ 21039.31ms │
│ Total Time (filter-pushdown-dynamic-bytes-morsels)   │ 20651.08ms │
│ Average Time (HEAD)                                  │   489.29ms │
│ Average Time (filter-pushdown-dynamic-bytes-morsels) │   480.26ms │
│ Queries Faster                                       │          4 │
│ Queries Slower                                       │          3 │
│ Queries with No Change                               │         36 │
│ Queries with Failure                                 │          0 │
└──────────────────────────────────────────────────────┴────────────┘

Resource Usage

clickbench_partitioned — base (merge-base)

Metric Value
Wall time 110.0s
Peak memory 35.6 GiB
Avg memory 26.8 GiB
CPU user 1081.7s
CPU sys 97.3s
Peak spill 0 B

clickbench_partitioned — branch

Metric Value
Wall time 105.0s
Peak memory 38.7 GiB
Avg memory 27.7 GiB
CPU user 1073.9s
CPU sys 86.8s
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.66 / 11.87 ±10.33 / 32.54 ms │              7.02 / 7.40 ±0.66 / 8.73 ms │ +1.60x faster │
│ QQuery 2  │        147.72 / 148.86 ±0.91 / 150.28 ms │        149.24 / 150.80 ±1.12 / 152.55 ms │     no change │
│ QQuery 3  │        115.14 / 115.82 ±0.61 / 116.77 ms │        115.20 / 116.58 ±1.36 / 118.92 ms │     no change │
│ QQuery 4  │     1325.94 / 1337.59 ±8.35 / 1348.19 ms │    1465.59 / 1501.37 ±19.03 / 1518.68 ms │  1.12x slower │
│ QQuery 5  │        173.67 / 175.81 ±1.33 / 177.53 ms │        176.27 / 178.64 ±1.52 / 180.03 ms │     no change │
│ QQuery 6  │       842.87 / 864.65 ±19.16 / 896.54 ms │       877.03 / 912.47 ±29.09 / 953.95 ms │  1.06x slower │
│ QQuery 7  │        344.54 / 347.44 ±2.45 / 350.32 ms │        350.59 / 355.13 ±3.81 / 359.48 ms │     no change │
│ QQuery 8  │        115.44 / 117.57 ±1.29 / 119.12 ms │        118.74 / 119.76 ±1.18 / 121.94 ms │     no change │
│ QQuery 9  │        101.78 / 105.05 ±2.61 / 107.70 ms │        103.14 / 106.75 ±2.08 / 108.86 ms │     no change │
│ QQuery 10 │        106.96 / 108.25 ±0.78 / 109.24 ms │        107.39 / 110.15 ±1.99 / 113.06 ms │     no change │
│ QQuery 11 │       923.22 / 945.93 ±14.85 / 963.85 ms │    1064.92 / 1092.36 ±37.58 / 1164.35 ms │  1.15x slower │
│ QQuery 12 │           46.52 / 48.81 ±2.62 / 53.69 ms │           49.42 / 51.64 ±1.77 / 54.54 ms │  1.06x slower │
│ QQuery 13 │        399.27 / 403.38 ±2.25 / 405.82 ms │        427.18 / 434.01 ±4.79 / 439.71 ms │  1.08x slower │
│ QQuery 14 │     1005.97 / 1015.08 ±6.90 / 1022.04 ms │    1061.47 / 1079.71 ±14.44 / 1095.24 ms │  1.06x slower │
│ QQuery 15 │           15.17 / 16.71 ±1.25 / 18.52 ms │           17.34 / 18.71 ±1.05 / 20.27 ms │  1.12x slower │
│ QQuery 16 │              7.14 / 7.42 ±0.33 / 8.02 ms │             8.25 / 9.23 ±0.71 / 10.34 ms │  1.24x slower │
│ QQuery 17 │        229.23 / 230.69 ±0.97 / 231.94 ms │        232.20 / 244.45 ±6.50 / 250.51 ms │  1.06x slower │
│ QQuery 18 │        127.32 / 129.18 ±1.19 / 130.83 ms │        134.53 / 136.94 ±1.31 / 138.27 ms │  1.06x slower │
│ QQuery 19 │        156.10 / 158.43 ±1.59 / 160.22 ms │        170.71 / 172.57 ±1.33 / 174.76 ms │  1.09x slower │
│ QQuery 20 │           13.43 / 14.03 ±0.39 / 14.62 ms │           16.07 / 16.57 ±0.60 / 17.70 ms │  1.18x slower │
│ QQuery 21 │           19.33 / 19.55 ±0.19 / 19.78 ms │           21.05 / 21.96 ±0.49 / 22.49 ms │  1.12x slower │
│ QQuery 22 │        485.21 / 488.57 ±2.23 / 492.20 ms │       521.36 / 563.59 ±21.65 / 582.38 ms │  1.15x slower │
│ QQuery 23 │       883.39 / 923.58 ±36.49 / 967.18 ms │      941.44 / 964.97 ±39.56 / 1043.82 ms │     no change │
│ QQuery 24 │        399.85 / 406.35 ±3.78 / 410.28 ms │        393.64 / 398.87 ±4.81 / 405.16 ms │     no change │
│ QQuery 25 │        351.29 / 356.41 ±4.18 / 363.84 ms │        347.98 / 350.79 ±2.49 / 355.27 ms │     no change │
│ QQuery 26 │           82.96 / 84.60 ±1.39 / 86.99 ms │           80.29 / 84.52 ±3.04 / 87.86 ms │     no change │
│ QQuery 27 │              6.93 / 7.33 ±0.22 / 7.60 ms │              7.08 / 7.60 ±0.52 / 8.60 ms │     no change │
│ QQuery 28 │        152.11 / 153.95 ±1.01 / 154.84 ms │        151.13 / 152.09 ±0.69 / 152.88 ms │     no change │
│ QQuery 29 │        294.08 / 296.27 ±2.89 / 301.94 ms │        288.39 / 290.43 ±2.47 / 295.00 ms │     no change │
│ QQuery 30 │           46.20 / 47.16 ±1.15 / 49.26 ms │           43.07 / 46.03 ±1.90 / 49.03 ms │     no change │
│ QQuery 31 │        180.81 / 181.82 ±0.73 / 182.66 ms │        173.40 / 176.93 ±2.73 / 180.05 ms │     no change │
│ QQuery 32 │           14.81 / 15.37 ±0.49 / 16.00 ms │           14.06 / 14.54 ±0.51 / 15.53 ms │ +1.06x faster │
│ QQuery 33 │        149.51 / 150.85 ±1.28 / 153.24 ms │        140.86 / 142.63 ±0.94 / 143.49 ms │ +1.06x faster │
│ QQuery 34 │              7.50 / 7.72 ±0.19 / 7.98 ms │              7.19 / 7.65 ±0.48 / 8.56 ms │     no change │
│ QQuery 35 │        111.95 / 115.47 ±2.23 / 118.03 ms │        107.62 / 111.19 ±2.57 / 115.19 ms │     no change │
│ QQuery 36 │              7.18 / 7.29 ±0.06 / 7.36 ms │              6.85 / 7.05 ±0.18 / 7.34 ms │     no change │
│ QQuery 37 │             8.84 / 9.45 ±0.65 / 10.66 ms │             9.13 / 9.50 ±0.32 / 10.03 ms │     no change │
│ QQuery 38 │          92.24 / 97.09 ±5.38 / 106.90 ms │           83.41 / 89.44 ±5.24 / 99.13 ms │ +1.09x faster │
│ QQuery 39 │        149.49 / 151.90 ±2.26 / 155.63 ms │        132.03 / 136.35 ±5.85 / 147.91 ms │ +1.11x faster │
│ QQuery 40 │        117.11 / 124.73 ±7.12 / 136.81 ms │        111.63 / 118.93 ±5.95 / 129.68 ms │     no change │
│ QQuery 41 │           15.54 / 17.01 ±1.16 / 19.06 ms │           15.63 / 16.46 ±0.70 / 17.60 ms │     no change │
│ QQuery 42 │        115.13 / 115.85 ±0.69 / 117.10 ms │        110.77 / 111.61 ±0.63 / 112.69 ms │     no change │
│ QQuery 43 │              5.76 / 6.11 ±0.25 / 6.45 ms │              5.94 / 6.15 ±0.19 / 6.44 ms │     no change │
│ QQuery 44 │           12.67 / 13.03 ±0.38 / 13.70 ms │           12.25 / 12.42 ±0.11 / 12.57 ms │     no change │
│ QQuery 45 │           54.93 / 55.67 ±0.70 / 56.88 ms │           51.24 / 53.14 ±1.24 / 55.14 ms │     no change │
│ QQuery 46 │              8.74 / 9.21 ±0.41 / 9.96 ms │              8.60 / 8.93 ±0.36 / 9.62 ms │     no change │
│ QQuery 47 │        865.37 / 873.16 ±7.39 / 885.36 ms │        769.97 / 776.96 ±5.92 / 786.60 ms │ +1.12x faster │
│ QQuery 48 │        301.25 / 312.41 ±5.67 / 316.64 ms │        295.68 / 303.94 ±6.06 / 310.71 ms │     no change │
│ QQuery 49 │        263.92 / 267.27 ±2.46 / 271.24 ms │        259.62 / 261.76 ±1.79 / 264.28 ms │     no change │
│ QQuery 50 │        243.33 / 247.94 ±2.62 / 250.41 ms │        241.68 / 250.10 ±6.42 / 259.84 ms │     no change │
│ QQuery 51 │        183.94 / 190.56 ±4.07 / 194.59 ms │        186.96 / 193.25 ±4.07 / 199.72 ms │     no change │
│ QQuery 52 │        111.68 / 113.75 ±1.30 / 115.74 ms │        110.79 / 113.47 ±2.75 / 117.60 ms │     no change │
│ QQuery 53 │        106.55 / 108.79 ±1.29 / 110.54 ms │        106.10 / 106.88 ±0.86 / 108.43 ms │     no change │
│ QQuery 54 │        154.28 / 157.77 ±2.56 / 161.62 ms │        154.72 / 158.06 ±1.74 / 159.54 ms │     no change │
│ QQuery 55 │        111.03 / 112.77 ±1.45 / 115.10 ms │        110.33 / 112.73 ±2.16 / 115.98 ms │     no change │
│ QQuery 56 │        146.89 / 149.62 ±3.28 / 155.82 ms │        148.77 / 151.44 ±1.64 / 153.78 ms │     no change │
│ QQuery 57 │        184.51 / 189.25 ±4.66 / 197.46 ms │        181.11 / 186.09 ±2.84 / 189.09 ms │     no change │
│ QQuery 58 │        281.30 / 286.33 ±3.38 / 290.85 ms │        280.45 / 284.94 ±2.70 / 288.70 ms │     no change │
│ QQuery 59 │        204.69 / 207.11 ±1.83 / 209.16 ms │        208.70 / 210.69 ±2.12 / 214.25 ms │     no change │
│ QQuery 60 │        147.80 / 149.24 ±0.99 / 150.61 ms │        149.36 / 151.76 ±1.89 / 155.02 ms │     no change │
│ QQuery 61 │           13.91 / 14.05 ±0.11 / 14.22 ms │           13.78 / 14.03 ±0.19 / 14.26 ms │     no change │
│ QQuery 62 │      951.69 / 999.23 ±70.49 / 1135.80 ms │     947.59 / 1041.31 ±69.10 / 1160.47 ms │     no change │
│ QQuery 63 │        107.75 / 110.61 ±2.45 / 114.72 ms │        106.62 / 108.36 ±1.35 / 110.29 ms │     no change │
│ QQuery 64 │        730.55 / 736.86 ±4.25 / 743.83 ms │        732.54 / 739.91 ±4.42 / 744.86 ms │     no change │
│ QQuery 65 │        288.76 / 299.69 ±5.75 / 304.55 ms │        279.14 / 282.23 ±2.15 / 285.79 ms │ +1.06x faster │
│ QQuery 66 │        277.23 / 282.92 ±6.80 / 295.90 ms │        256.92 / 268.70 ±8.71 / 283.44 ms │ +1.05x faster │
│ QQuery 67 │        347.18 / 355.99 ±6.18 / 362.96 ms │       314.87 / 334.61 ±13.02 / 351.18 ms │ +1.06x faster │
│ QQuery 68 │           10.55 / 11.06 ±0.63 / 12.23 ms │            9.31 / 11.08 ±1.46 / 13.55 ms │     no change │
│ QQuery 69 │        107.78 / 110.20 ±2.18 / 113.64 ms │        101.58 / 104.23 ±1.92 / 106.48 ms │ +1.06x faster │
│ QQuery 70 │       345.15 / 370.20 ±17.08 / 396.27 ms │       331.86 / 347.31 ±13.37 / 370.05 ms │ +1.07x faster │
│ QQuery 71 │        145.40 / 150.12 ±3.46 / 155.87 ms │        134.75 / 136.71 ±1.75 / 139.93 ms │ +1.10x faster │
│ QQuery 72 │        682.73 / 692.73 ±7.17 / 699.92 ms │        610.01 / 622.91 ±8.23 / 632.77 ms │ +1.11x faster │
│ QQuery 73 │              8.37 / 8.82 ±0.51 / 9.79 ms │              6.73 / 7.56 ±0.79 / 8.96 ms │ +1.17x faster │
│ QQuery 74 │       696.79 / 731.29 ±18.07 / 748.70 ms │       536.86 / 550.95 ±16.05 / 582.01 ms │ +1.33x faster │
│ QQuery 75 │        284.84 / 290.26 ±3.38 / 294.92 ms │        275.93 / 278.33 ±1.99 / 280.81 ms │     no change │
│ QQuery 76 │        134.58 / 136.20 ±1.22 / 138.25 ms │        131.73 / 132.96 ±1.27 / 135.36 ms │     no change │
│ QQuery 77 │        192.51 / 194.81 ±1.37 / 196.31 ms │        188.80 / 190.70 ±1.56 / 192.79 ms │     no change │
│ QQuery 78 │        355.68 / 360.35 ±3.97 / 365.77 ms │        339.39 / 345.65 ±4.07 / 350.11 ms │     no change │
│ QQuery 79 │        242.70 / 253.77 ±5.80 / 258.25 ms │        227.78 / 230.39 ±1.74 / 233.07 ms │ +1.10x faster │
│ QQuery 80 │        328.28 / 331.83 ±3.87 / 339.06 ms │        327.64 / 330.86 ±2.22 / 334.28 ms │     no change │
│ QQuery 81 │           26.73 / 27.38 ±0.56 / 28.10 ms │           26.54 / 27.48 ±1.16 / 29.77 ms │     no change │
│ QQuery 82 │           41.73 / 42.78 ±1.20 / 45.03 ms │           40.04 / 41.25 ±0.92 / 42.74 ms │     no change │
│ QQuery 83 │           38.88 / 39.82 ±0.91 / 41.34 ms │           38.74 / 39.79 ±1.36 / 42.41 ms │     no change │
│ QQuery 84 │           49.07 / 49.75 ±0.89 / 51.45 ms │           48.00 / 50.34 ±1.44 / 52.40 ms │     no change │
│ QQuery 85 │        150.58 / 151.43 ±0.72 / 152.77 ms │        147.20 / 149.27 ±1.32 / 151.32 ms │     no change │
│ QQuery 86 │           40.32 / 40.93 ±0.39 / 41.29 ms │           38.33 / 39.64 ±0.91 / 40.86 ms │     no change │
│ QQuery 87 │           84.76 / 90.01 ±4.55 / 97.73 ms │           83.82 / 87.59 ±3.79 / 94.30 ms │     no change │
│ QQuery 88 │        101.23 / 101.63 ±0.49 / 102.55 ms │         99.09 / 100.18 ±1.41 / 102.93 ms │     no change │
│ QQuery 89 │        120.09 / 121.42 ±1.03 / 122.66 ms │        119.67 / 120.24 ±0.66 / 121.49 ms │     no change │
│ QQuery 90 │           23.88 / 24.36 ±0.34 / 24.82 ms │           23.10 / 23.58 ±0.33 / 24.07 ms │     no change │
│ QQuery 91 │           62.42 / 64.97 ±1.76 / 67.58 ms │           63.13 / 63.97 ±1.11 / 66.13 ms │     no change │
│ QQuery 92 │           59.20 / 60.39 ±1.09 / 62.30 ms │           56.97 / 57.85 ±1.16 / 60.12 ms │     no change │
│ QQuery 93 │        191.23 / 194.93 ±1.98 / 196.96 ms │        185.73 / 188.71 ±1.87 / 190.77 ms │     no change │
│ QQuery 94 │           64.08 / 64.48 ±0.24 / 64.82 ms │           61.81 / 62.76 ±0.85 / 64.23 ms │     no change │
│ QQuery 95 │        132.80 / 133.88 ±1.24 / 136.29 ms │        129.88 / 131.74 ±1.09 / 133.29 ms │     no change │
│ QQuery 96 │           74.98 / 76.62 ±1.35 / 78.88 ms │           72.00 / 73.75 ±1.13 / 75.25 ms │     no change │
│ QQuery 97 │        129.64 / 132.50 ±3.01 / 138.29 ms │        124.84 / 127.38 ±1.46 / 129.33 ms │     no change │
│ QQuery 98 │        159.76 / 161.30 ±1.22 / 163.51 ms │        155.48 / 156.41 ±0.50 / 157.00 ms │     no change │
│ QQuery 99 │ 10864.97 / 11015.65 ±93.20 / 11155.69 ms │ 10685.51 / 10728.35 ±21.69 / 10743.07 ms │     no change │
└───────────┴──────────────────────────────────────────┴──────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                                    ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                                    │ 32566.12ms │
│ Total Time (filter-pushdown-dynamic-bytes-morsels)   │ 32330.11ms │
│ Average Time (HEAD)                                  │   328.95ms │
│ Average Time (filter-pushdown-dynamic-bytes-morsels) │   326.57ms │
│ Queries Faster                                       │         16 │
│ Queries Slower                                       │         14 │
│ Queries with No Change                               │         69 │
│ Queries with Failure                                 │          0 │
└──────────────────────────────────────────────────────┴────────────┘

Resource Usage

tpcds — base (merge-base)

Metric Value
Wall time 165.0s
Peak memory 6.5 GiB
Avg memory 5.4 GiB
CPU user 272.3s
CPU sys 18.4s
Peak spill 0 B

tpcds — branch

Metric Value
Wall time 165.0s
Peak memory 6.3 GiB
Avg memory 5.4 GiB
CPU user 269.4s
CPU sys 18.3s
Peak spill 0 B

File an issue against this benchmark runner

@adriangbot
Copy link
Copy Markdown

Benchmark for this request hit the 7200s job deadline before finishing.

Benchmarks requested: tpch

Kubernetes message
Job was active longer than specified deadline

File an issue against this benchmark runner

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

Labels

common Related to common crate core Core DataFusion crate datasource Changes to the datasource crate documentation Improvements or additions to documentation physical-expr Changes to the physical-expr crates physical-plan Changes to the physical-plan crate proto Related to proto crate sqllogictest SQL Logic Tests (.slt)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants