Skip to content

WIP: DO NOT REVIEW: Benchmark enabling parquet filter pushdown by default with one-shot row group I/O - #24426

Draft
alamb wants to merge 6 commits into
apache:mainfrom
alamb:alamb/pushdown_by_default
Draft

WIP: DO NOT REVIEW: Benchmark enabling parquet filter pushdown by default with one-shot row group I/O#24426
alamb wants to merge 6 commits into
apache:mainfrom
alamb:alamb/pushdown_by_default

Conversation

@alamb

@alamb alamb commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

Which issue does this PR close?

Note: this is a benchmarking prototype and is NOT intended for merge or review.

Stacked on #24395 (the progressive_io option).

Rationale for this change

Measure whether enabling pushdown_filters by default can now match or beat today's ClickBench performance when the I/O pattern is kept the same as today (one request per row group), i.e. with progressive_io = false (the default introduced in #24395).

What changes are included in this PR?

Are these changes tested?

Benchmark runs only (clickbench_partitioned, with and without simulated object store latency); results to be posted below. Other tests that encode the pushdown-off default are expected to fail and are not being fixed in this prototype.

Are there any user-facing changes?

Not intended for merge as-is.

alamb and others added 2 commits August 15, 2026 09:48
… pushdown filters

Adds `datafusion.execution.parquet.progressive_io` (default `false`).

When filter pushdown is enabled, the parquet decoder normally fetches data
progressively: the columns for each filter predicate first, then (after the
filters are evaluated) the remaining projected columns for the rows that
passed. With `progressive_io = false` (the default), all column chunks a
row group could need (filter and projection columns) are instead fetched
with a single I/O request per row group -- the same I/O pattern used when
`pushdown_filters` is disabled. Filter evaluation itself is unchanged.

With `progressive_io = true`, progressive fetching is used when it could
actually reduce bytes read (the file has an offset index); files without
an offset index still use one request per row group.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Flips `datafusion.execution.parquet.pushdown_filters` default to `true`.
`progressive_io` remains `false`, so the I/O pattern stays one request
per row group, the same as before this change.

Benchmarking prototype -- not intended for merge as-is.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@github-actions github-actions Bot added documentation Improvements or additions to documentation 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 labels Aug 17, 2026
@alamb

alamb commented Aug 17, 2026

Copy link
Copy Markdown
Contributor Author

run benchmark clickbench_partitioned

@alamb

alamb commented Aug 17, 2026

Copy link
Copy Markdown
Contributor Author

run benchmark clickbench_partitioned

env:
    SIMULATE_LATENCY: "true"

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c5315251680-1621-8hdcg 6.12.85+ #1 SMP Wed Jun 17 20:31:55 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 alamb/pushdown_by_default (79dd91d) to 00eba79 (merge-base) diff

Run configuration
run benchmark 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-c5315251974-1622-rfbp8 6.12.85+ #1 SMP Wed Jun 17 20:31:55 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 alamb/pushdown_by_default (79dd91d) to 00eba79 (merge-base) diff

Run configuration
run benchmark clickbench_partitioned
env:
  SIMULATE_LATENCY: "true"

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)

Comparing alamb/pushdown_by_default (79dd91d) to 00eba79 (merge-base) diff

Run configuration
run benchmark clickbench_partitioned
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 alamb_pushdown_by_default
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┓
┃ Query     ┃       HEAD ┃ alamb_pushdown_by_default ┃         Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━┩
│ QQuery 0  │    1.36 ms │                   1.26 ms │  +1.08x faster │
│ QQuery 1  │   12.45 ms │                  12.47 ms │      no change │
│ QQuery 2  │   36.98 ms │                  37.03 ms │      no change │
│ QQuery 3  │   32.66 ms │                  30.89 ms │  +1.06x faster │
│ QQuery 4  │  236.02 ms │                 222.75 ms │  +1.06x faster │
│ QQuery 5  │  270.92 ms │                 271.40 ms │      no change │
│ QQuery 6  │    1.28 ms │                   1.27 ms │      no change │
│ QQuery 7  │   13.10 ms │                  15.73 ms │   1.20x slower │
│ QQuery 8  │  331.19 ms │                 321.39 ms │      no change │
│ QQuery 9  │  447.50 ms │                 447.00 ms │      no change │
│ QQuery 10 │   69.49 ms │                  92.55 ms │   1.33x slower │
│ QQuery 11 │   81.42 ms │                 103.86 ms │   1.28x slower │
│ QQuery 12 │  281.09 ms │                 293.47 ms │      no change │
│ QQuery 13 │  399.79 ms │                 400.89 ms │      no change │
│ QQuery 14 │  279.58 ms │                 312.53 ms │   1.12x slower │
│ QQuery 15 │  265.82 ms │                 265.67 ms │      no change │
│ QQuery 16 │  607.81 ms │                 620.94 ms │      no change │
│ QQuery 17 │  611.41 ms │                 709.03 ms │   1.16x slower │
│ QQuery 18 │ 1243.83 ms │                1287.79 ms │      no change │
│ QQuery 19 │   27.42 ms │                  28.70 ms │      no change │
│ QQuery 20 │  514.15 ms │                 513.01 ms │      no change │
│ QQuery 21 │  510.35 ms │                 567.14 ms │   1.11x slower │
│ QQuery 22 │  976.92 ms │                 792.99 ms │  +1.23x faster │
│ QQuery 23 │ 3021.65 ms │                 148.70 ms │ +20.32x faster │
│ QQuery 24 │   43.96 ms │                  44.76 ms │      no change │
│ QQuery 25 │  116.41 ms │                 140.46 ms │   1.21x slower │
│ QQuery 26 │   43.65 ms │                  48.20 ms │   1.10x slower │
│ QQuery 27 │  538.11 ms │                 563.97 ms │      no change │
│ QQuery 28 │ 2918.55 ms │                2901.35 ms │      no change │
│ QQuery 29 │   40.75 ms │                  42.00 ms │      no change │
│ QQuery 30 │  295.36 ms │                 303.85 ms │      no change │
│ QQuery 31 │  276.96 ms │                 283.40 ms │      no change │
│ QQuery 32 │  923.13 ms │                 952.44 ms │      no change │
│ QQuery 33 │ 1431.63 ms │                1437.87 ms │      no change │
│ QQuery 34 │ 1422.36 ms │                1562.41 ms │   1.10x slower │
│ QQuery 35 │  272.20 ms │                 276.78 ms │      no change │
│ QQuery 36 │   66.97 ms │                  66.16 ms │      no change │
│ QQuery 37 │   35.59 ms │                  35.68 ms │      no change │
│ QQuery 38 │   42.04 ms │                  34.45 ms │  +1.22x faster │
│ QQuery 39 │  153.05 ms │                 134.28 ms │  +1.14x faster │
│ QQuery 40 │   15.62 ms │                  17.11 ms │   1.10x slower │
│ QQuery 41 │   15.48 ms │                  16.11 ms │      no change │
│ QQuery 42 │   14.63 ms │                  13.68 ms │  +1.07x faster │
└───────────┴────────────┴───────────────────────────┴────────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                        ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                        │ 18940.64ms │
│ Total Time (alamb_pushdown_by_default)   │ 16373.43ms │
│ Average Time (HEAD)                      │   440.48ms │
│ Average Time (alamb_pushdown_by_default) │   380.78ms │
│ Queries Faster                           │          8 │
│ Queries Slower                           │         10 │
│ Queries with No Change                   │         25 │
│ Queries with Failure                     │          0 │
└──────────────────────────────────────────┴────────────┘

Distribution per query (min / mean ±stddev / max):

Comparing HEAD and alamb_pushdown_by_default
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┓
┃ Query     ┃                                  HEAD ┃              alamb_pushdown_by_default ┃         Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━┩
│ QQuery 0  │          1.36 / 4.33 ±5.74 / 15.81 ms │           1.26 / 4.22 ±5.75 / 15.71 ms │      no change │
│ QQuery 1  │        12.45 / 12.83 ±0.27 / 13.19 ms │         12.47 / 12.69 ±0.12 / 12.82 ms │      no change │
│ QQuery 2  │        36.98 / 37.45 ±0.42 / 38.22 ms │         37.03 / 37.63 ±0.42 / 38.26 ms │      no change │
│ QQuery 3  │        32.66 / 34.37 ±1.19 / 35.97 ms │         30.89 / 31.14 ±0.20 / 31.47 ms │  +1.10x faster │
│ QQuery 4  │    236.02 / 262.29 ±13.45 / 272.50 ms │      222.75 / 228.57 ±3.06 / 230.94 ms │  +1.15x faster │
│ QQuery 5  │     270.92 / 276.89 ±4.79 / 283.91 ms │      271.40 / 273.73 ±1.95 / 276.29 ms │      no change │
│ QQuery 6  │           1.28 / 1.43 ±0.22 / 1.85 ms │            1.27 / 1.42 ±0.23 / 1.87 ms │      no change │
│ QQuery 7  │        13.10 / 13.22 ±0.14 / 13.46 ms │         15.73 / 15.89 ±0.11 / 16.04 ms │   1.20x slower │
│ QQuery 8  │    331.19 / 346.22 ±11.21 / 357.60 ms │      321.39 / 325.47 ±2.60 / 328.46 ms │  +1.06x faster │
│ QQuery 9  │     447.50 / 461.45 ±7.24 / 468.32 ms │      447.00 / 457.81 ±7.70 / 467.93 ms │      no change │
│ QQuery 10 │        69.49 / 73.34 ±5.49 / 84.22 ms │        92.55 / 96.04 ±6.18 / 108.38 ms │   1.31x slower │
│ QQuery 11 │        81.42 / 82.06 ±0.51 / 82.71 ms │      103.86 / 105.06 ±0.92 / 106.28 ms │   1.28x slower │
│ QQuery 12 │     281.09 / 299.85 ±9.49 / 306.26 ms │     293.47 / 304.44 ±11.11 / 324.69 ms │      no change │
│ QQuery 13 │     399.79 / 410.01 ±8.86 / 425.12 ms │     400.89 / 414.11 ±16.11 / 444.86 ms │      no change │
│ QQuery 14 │    279.58 / 297.39 ±11.23 / 310.94 ms │      312.53 / 324.69 ±9.40 / 336.35 ms │   1.09x slower │
│ QQuery 15 │     265.82 / 274.65 ±5.58 / 280.85 ms │      265.67 / 275.66 ±6.22 / 282.81 ms │      no change │
│ QQuery 16 │     607.81 / 616.71 ±6.81 / 628.31 ms │     620.94 / 690.46 ±37.38 / 726.20 ms │   1.12x slower │
│ QQuery 17 │    611.41 / 624.37 ±11.77 / 645.51 ms │     709.03 / 723.94 ±14.76 / 747.40 ms │   1.16x slower │
│ QQuery 18 │ 1243.83 / 1261.06 ±16.57 / 1292.07 ms │  1287.79 / 1397.23 ±78.96 / 1479.38 ms │   1.11x slower │
│ QQuery 19 │        27.42 / 29.58 ±3.46 / 36.46 ms │        28.70 / 35.84 ±14.06 / 63.95 ms │   1.21x slower │
│ QQuery 20 │    514.15 / 532.53 ±14.67 / 556.77 ms │      513.01 / 519.41 ±6.28 / 530.02 ms │      no change │
│ QQuery 21 │     510.35 / 518.51 ±9.63 / 536.45 ms │      567.14 / 574.79 ±5.70 / 584.51 ms │   1.11x slower │
│ QQuery 22 │    976.92 / 992.77 ±8.73 / 1000.90 ms │     792.99 / 811.20 ±21.22 / 852.79 ms │  +1.22x faster │
│ QQuery 23 │ 3021.65 / 3101.22 ±66.02 / 3195.90 ms │      148.70 / 160.31 ±8.14 / 170.60 ms │ +19.34x faster │
│ QQuery 24 │        43.96 / 49.11 ±4.18 / 55.17 ms │        44.76 / 51.54 ±12.76 / 77.05 ms │      no change │
│ QQuery 25 │     116.41 / 118.23 ±1.11 / 119.40 ms │      140.46 / 145.23 ±4.65 / 152.75 ms │   1.23x slower │
│ QQuery 26 │        43.65 / 47.97 ±5.50 / 57.53 ms │         48.20 / 48.78 ±0.39 / 49.28 ms │      no change │
│ QQuery 27 │     538.11 / 542.75 ±4.11 / 548.93 ms │      563.97 / 575.28 ±9.08 / 587.97 ms │   1.06x slower │
│ QQuery 28 │ 2918.55 / 2969.61 ±37.88 / 3030.16 ms │  2901.35 / 2958.81 ±34.02 / 2997.36 ms │      no change │
│ QQuery 29 │        40.75 / 40.95 ±0.21 / 41.33 ms │       42.00 / 63.69 ±41.99 / 147.66 ms │   1.56x slower │
│ QQuery 30 │    295.36 / 313.38 ±12.64 / 330.77 ms │     303.85 / 318.19 ±12.10 / 337.74 ms │      no change │
│ QQuery 31 │    276.96 / 296.42 ±21.49 / 338.29 ms │      283.40 / 293.56 ±6.85 / 300.71 ms │      no change │
│ QQuery 32 │    923.13 / 938.07 ±13.60 / 961.54 ms │    952.44 / 984.60 ±24.47 / 1007.72 ms │      no change │
│ QQuery 33 │ 1431.63 / 1504.88 ±68.82 / 1608.74 ms │  1437.87 / 1486.73 ±54.20 / 1589.92 ms │      no change │
│ QQuery 34 │ 1422.36 / 1482.86 ±48.25 / 1543.57 ms │ 1562.41 / 1743.52 ±100.86 / 1857.86 ms │   1.18x slower │
│ QQuery 35 │    272.20 / 316.56 ±80.19 / 476.56 ms │     276.78 / 318.90 ±39.42 / 385.75 ms │      no change │
│ QQuery 36 │        66.97 / 71.25 ±3.43 / 75.92 ms │       66.16 / 77.53 ±12.90 / 102.69 ms │   1.09x slower │
│ QQuery 37 │       35.59 / 42.75 ±12.20 / 67.07 ms │         35.68 / 39.02 ±3.00 / 42.63 ms │  +1.10x faster │
│ QQuery 38 │        42.04 / 43.92 ±1.10 / 45.15 ms │         34.45 / 37.14 ±2.07 / 39.25 ms │  +1.18x faster │
│ QQuery 39 │     153.05 / 162.85 ±7.41 / 173.07 ms │      134.28 / 141.76 ±4.97 / 149.92 ms │  +1.15x faster │
│ QQuery 40 │        15.62 / 16.05 ±0.28 / 16.37 ms │         17.11 / 17.49 ±0.28 / 17.99 ms │   1.09x slower │
│ QQuery 41 │        15.48 / 17.70 ±4.10 / 25.90 ms │         16.11 / 19.37 ±3.66 / 25.32 ms │   1.09x slower │
│ QQuery 42 │        14.63 / 14.88 ±0.17 / 15.14 ms │         13.68 / 15.23 ±2.39 / 19.99 ms │      no change │
└───────────┴───────────────────────────────────────┴────────────────────────────────────────┴────────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                        ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                        │ 19554.70ms │
│ Total Time (alamb_pushdown_by_default)   │ 17158.08ms │
│ Average Time (HEAD)                      │   454.76ms │
│ Average Time (alamb_pushdown_by_default) │   399.03ms │
│ Queries Faster                           │          8 │
│ Queries Slower                           │         16 │
│ Queries with No Change                   │         19 │
│ Queries with Failure                     │          0 │
└──────────────────────────────────────────┴────────────┘

Resource Usage

clickbench_partitioned — base (merge-base)

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

clickbench_partitioned — branch

Metric Value
Wall time 90.0s
Peak memory 12.3 GiB
Avg memory 4.6 GiB
CPU user 863.2s
CPU sys 63.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)

Comparing alamb/pushdown_by_default (79dd91d) to 00eba79 (merge-base) diff

Run configuration
run benchmark clickbench_partitioned
env:
  SIMULATE_LATENCY: "true"
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 alamb_pushdown_by_default
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃       HEAD ┃ alamb_pushdown_by_default ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0  │    1.26 ms │                   1.25 ms │     no change │
│ QQuery 1  │ 1848.35 ms │                1876.73 ms │     no change │
│ QQuery 2  │ 2189.42 ms │                2137.36 ms │     no change │
│ QQuery 3  │ 2190.85 ms │                2136.69 ms │     no change │
│ QQuery 4  │ 2299.50 ms │                2339.71 ms │     no change │
│ QQuery 5  │ 2385.86 ms │                2391.03 ms │     no change │
│ QQuery 6  │    1.31 ms │                   1.29 ms │     no change │
│ QQuery 7  │ 2000.35 ms │                2001.56 ms │     no change │
│ QQuery 8  │ 2395.68 ms │                2413.79 ms │     no change │
│ QQuery 9  │ 2693.23 ms │                2669.13 ms │     no change │
│ QQuery 10 │ 2212.87 ms │                2215.75 ms │     no change │
│ QQuery 11 │ 2189.61 ms │                2204.18 ms │     no change │
│ QQuery 12 │ 2367.53 ms │                2403.37 ms │     no change │
│ QQuery 13 │ 2475.70 ms │                2522.12 ms │     no change │
│ QQuery 14 │ 2357.78 ms │                2413.93 ms │     no change │
│ QQuery 15 │ 2333.21 ms │                2366.86 ms │     no change │
│ QQuery 16 │ 2644.50 ms │                2662.76 ms │     no change │
│ QQuery 17 │ 2677.59 ms │                2662.68 ms │     no change │
│ QQuery 18 │ 3208.64 ms │                3202.14 ms │     no change │
│ QQuery 19 │ 1763.04 ms │                1757.59 ms │     no change │
│ QQuery 20 │ 2677.89 ms │                2634.88 ms │     no change │
│ QQuery 21 │ 2630.22 ms │                3586.81 ms │  1.36x slower │
│ QQuery 22 │ 3076.05 ms │                3664.77 ms │  1.19x slower │
│ QQuery 23 │ 4984.91 ms │                 836.95 ms │ +5.96x faster │
│ QQuery 24 │  483.42 ms │                 464.97 ms │     no change │
│ QQuery 25 │ 2279.05 ms │                2300.48 ms │     no change │
│ QQuery 26 │  486.54 ms │                 475.11 ms │     no change │
│ QQuery 27 │ 2620.21 ms │                2716.04 ms │     no change │
│ QQuery 28 │ 4984.21 ms │                5131.77 ms │     no change │
│ QQuery 29 │ 2213.55 ms │                2268.36 ms │     no change │
│ QQuery 30 │ 2400.21 ms │                2479.30 ms │     no change │
│ QQuery 31 │ 2343.45 ms │                2376.46 ms │     no change │
│ QQuery 32 │ 2505.26 ms │                2613.50 ms │     no change │
│ QQuery 33 │ 3465.86 ms │                3447.20 ms │     no change │
│ QQuery 34 │ 3469.37 ms │                3443.42 ms │     no change │
│ QQuery 35 │ 2413.31 ms │                2398.03 ms │     no change │
│ QQuery 36 │  182.12 ms │                 186.89 ms │     no change │
│ QQuery 37 │  143.71 ms │                 149.96 ms │     no change │
│ QQuery 38 │  141.98 ms │                 162.34 ms │  1.14x slower │
│ QQuery 39 │  238.26 ms │                 252.39 ms │  1.06x slower │
│ QQuery 40 │  118.05 ms │                 147.19 ms │  1.25x slower │
│ QQuery 41 │  118.75 ms │                 145.85 ms │  1.23x slower │
│ QQuery 42 │  115.18 ms │                 144.74 ms │  1.26x slower │
└───────────┴────────────┴───────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                        ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                        │ 86327.83ms │
│ Total Time (alamb_pushdown_by_default)   │ 84407.35ms │
│ Average Time (HEAD)                      │  2007.62ms │
│ Average Time (alamb_pushdown_by_default) │  1962.96ms │
│ Queries Faster                           │          1 │
│ Queries Slower                           │          7 │
│ Queries with No Change                   │         35 │
│ Queries with Failure                     │          0 │
└──────────────────────────────────────────┴────────────┘

Distribution per query (min / mean ±stddev / max):

Comparing HEAD and alamb_pushdown_by_default
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                   HEAD ┃             alamb_pushdown_by_default ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0  │           1.26 / 4.11 ±5.56 / 15.23 ms │          1.25 / 4.13 ±5.61 / 15.33 ms │     no change │
│ QQuery 1  │  1848.35 / 1914.40 ±60.47 / 2018.82 ms │ 1876.73 / 1947.40 ±37.94 / 1983.46 ms │     no change │
│ QQuery 2  │  2189.42 / 2241.41 ±31.68 / 2284.30 ms │ 2137.36 / 2237.74 ±69.34 / 2326.16 ms │     no change │
│ QQuery 3  │  2190.85 / 2245.02 ±43.49 / 2297.16 ms │ 2136.69 / 2190.18 ±35.77 / 2235.74 ms │     no change │
│ QQuery 4  │  2299.50 / 2366.58 ±42.61 / 2427.65 ms │ 2339.71 / 2372.27 ±36.30 / 2438.07 ms │     no change │
│ QQuery 5  │  2385.86 / 2479.22 ±50.46 / 2526.91 ms │ 2391.03 / 2427.39 ±33.37 / 2486.94 ms │     no change │
│ QQuery 6  │            1.31 / 1.46 ±0.21 / 1.88 ms │           1.29 / 1.45 ±0.24 / 1.91 ms │     no change │
│ QQuery 7  │  2000.35 / 2043.00 ±40.10 / 2110.82 ms │ 2001.56 / 2046.45 ±50.05 / 2108.01 ms │     no change │
│ QQuery 8  │  2395.68 / 2451.42 ±33.18 / 2489.12 ms │ 2413.79 / 2450.64 ±20.86 / 2473.63 ms │     no change │
│ QQuery 9  │  2693.23 / 2710.81 ±19.74 / 2748.86 ms │ 2669.13 / 2756.41 ±51.70 / 2808.61 ms │     no change │
│ QQuery 10 │  2212.87 / 2285.71 ±58.40 / 2360.74 ms │ 2215.75 / 2261.15 ±38.06 / 2322.83 ms │     no change │
│ QQuery 11 │  2189.61 / 2245.50 ±52.26 / 2335.60 ms │ 2204.18 / 2274.91 ±51.48 / 2341.57 ms │     no change │
│ QQuery 12 │  2367.53 / 2402.31 ±28.95 / 2452.92 ms │ 2403.37 / 2437.71 ±25.40 / 2462.72 ms │     no change │
│ QQuery 13 │  2475.70 / 2530.72 ±50.80 / 2602.82 ms │ 2522.12 / 2560.69 ±31.44 / 2613.47 ms │     no change │
│ QQuery 14 │  2357.78 / 2423.57 ±75.77 / 2556.98 ms │ 2413.93 / 2461.96 ±48.57 / 2539.46 ms │     no change │
│ QQuery 15 │  2333.21 / 2427.64 ±65.13 / 2525.92 ms │ 2366.86 / 2445.35 ±45.01 / 2496.45 ms │     no change │
│ QQuery 16 │  2644.50 / 2723.64 ±68.49 / 2829.84 ms │ 2662.76 / 2676.84 ±10.76 / 2689.26 ms │     no change │
│ QQuery 17 │  2677.59 / 2715.85 ±53.66 / 2818.73 ms │ 2662.68 / 2694.45 ±20.30 / 2715.31 ms │     no change │
│ QQuery 18 │  3208.64 / 3232.65 ±19.80 / 3264.22 ms │ 3202.14 / 3236.82 ±23.92 / 3276.65 ms │     no change │
│ QQuery 19 │  1763.04 / 1810.45 ±79.37 / 1967.81 ms │ 1757.59 / 1813.03 ±41.00 / 1878.18 ms │     no change │
│ QQuery 20 │  2677.89 / 2755.53 ±62.43 / 2834.16 ms │ 2634.88 / 2700.88 ±56.01 / 2776.05 ms │     no change │
│ QQuery 21 │  2630.22 / 2685.09 ±42.43 / 2732.52 ms │ 3586.81 / 3666.40 ±49.87 / 3728.71 ms │  1.37x slower │
│ QQuery 22 │ 3076.05 / 3209.35 ±107.71 / 3375.40 ms │ 3664.77 / 3810.82 ±86.89 / 3930.12 ms │  1.19x slower │
│ QQuery 23 │  4984.91 / 5096.60 ±82.33 / 5189.53 ms │   836.95 / 899.33 ±68.48 / 1020.75 ms │ +5.67x faster │
│ QQuery 24 │     483.42 / 498.83 ±13.05 / 515.87 ms │    464.97 / 567.20 ±61.71 / 653.84 ms │  1.14x slower │
│ QQuery 25 │  2279.05 / 2340.66 ±40.19 / 2386.15 ms │ 2300.48 / 2382.51 ±57.16 / 2449.83 ms │     no change │
│ QQuery 26 │     486.54 / 539.20 ±38.57 / 598.87 ms │    475.11 / 553.67 ±51.91 / 606.74 ms │     no change │
│ QQuery 27 │  2620.21 / 2709.57 ±66.07 / 2786.24 ms │ 2716.04 / 2811.02 ±56.10 / 2890.88 ms │     no change │
│ QQuery 28 │  4984.21 / 5131.57 ±89.49 / 5265.07 ms │ 5131.77 / 5196.11 ±48.06 / 5264.78 ms │     no change │
│ QQuery 29 │  2213.55 / 2280.38 ±46.81 / 2334.42 ms │ 2268.36 / 2345.16 ±53.22 / 2431.37 ms │     no change │
│ QQuery 30 │  2400.21 / 2480.67 ±47.32 / 2547.25 ms │ 2479.30 / 2577.55 ±60.11 / 2642.76 ms │     no change │
│ QQuery 31 │  2343.45 / 2432.20 ±72.91 / 2531.38 ms │ 2376.46 / 2455.27 ±48.55 / 2516.65 ms │     no change │
│ QQuery 32 │  2505.26 / 2572.94 ±46.34 / 2649.99 ms │ 2613.50 / 2680.35 ±51.49 / 2728.30 ms │     no change │
│ QQuery 33 │  3465.86 / 3509.40 ±31.64 / 3558.82 ms │ 3447.20 / 3544.98 ±62.03 / 3635.64 ms │     no change │
│ QQuery 34 │  3469.37 / 3550.53 ±84.17 / 3673.26 ms │ 3443.42 / 3560.98 ±60.79 / 3608.10 ms │     no change │
│ QQuery 35 │  2413.31 / 2490.05 ±49.19 / 2543.80 ms │ 2398.03 / 2500.53 ±77.28 / 2589.96 ms │     no change │
│ QQuery 36 │     182.12 / 212.84 ±34.27 / 276.64 ms │    186.89 / 265.06 ±49.60 / 322.79 ms │  1.25x slower │
│ QQuery 37 │     143.71 / 189.86 ±39.40 / 246.20 ms │    149.96 / 232.63 ±64.12 / 319.77 ms │  1.23x slower │
│ QQuery 38 │     141.98 / 192.21 ±35.63 / 248.76 ms │    162.34 / 245.10 ±54.92 / 319.82 ms │  1.28x slower │
│ QQuery 39 │     238.26 / 272.94 ±38.26 / 346.23 ms │    252.39 / 311.00 ±44.93 / 372.98 ms │  1.14x slower │
│ QQuery 40 │     118.05 / 174.89 ±37.14 / 216.52 ms │    147.19 / 245.50 ±61.76 / 327.73 ms │  1.40x slower │
│ QQuery 41 │     118.75 / 168.82 ±34.91 / 217.62 ms │    145.85 / 233.44 ±55.28 / 306.06 ms │  1.38x slower │
│ QQuery 42 │     115.18 / 167.98 ±36.13 / 216.26 ms │    144.74 / 232.38 ±54.65 / 302.92 ms │  1.38x slower │
└───────────┴────────────────────────────────────────┴───────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                        ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                        │ 88917.58ms │
│ Total Time (alamb_pushdown_by_default)   │ 87314.82ms │
│ Average Time (HEAD)                      │  2067.85ms │
│ Average Time (alamb_pushdown_by_default) │  2030.58ms │
│ Queries Faster                           │          1 │
│ Queries Slower                           │         10 │
│ Queries with No Change                   │         32 │
│ Queries with Failure                     │          0 │
└──────────────────────────────────────────┴────────────┘

Resource Usage

clickbench_partitioned — base (merge-base)

Metric Value
Wall time 450.1s
Peak memory 9.4 GiB
Avg memory 1.8 GiB
CPU user 1003.1s
CPU sys 114.6s
Peak spill 0 B

clickbench_partitioned — branch

Metric Value
Wall time 440.1s
Peak memory 9.3 GiB
Avg memory 1.9 GiB
CPU user 852.5s
CPU sys 112.1s
Peak spill 0 B

File an issue against this benchmark runner

@Dandandan

Copy link
Copy Markdown
Contributor

│ QQuery 23 │ 3021.65 ms │ 148.70 ms │ +20.32x faster │

🤯

@Dandandan

Copy link
Copy Markdown
Contributor

Oh wait this is just mostly filter pushdown itself I guess

@alamb

alamb commented Aug 17, 2026

Copy link
Copy Markdown
Contributor Author

Oh wait this is just mostly filter pushdown itself I guess

Yes, exactly. However, the results are very close to not regressing with filter pushdown

I think a few more tweaks and we'll have it

@alamb

alamb commented Aug 17, 2026

Copy link
Copy Markdown
Contributor Author

run benchmark clickbench_partitioned

@alamb

alamb commented Aug 17, 2026

Copy link
Copy Markdown
Contributor Author

run benchmark clickbench_partitioned

env:
    SIMULATE_LATENCY: "true"

…ter_mode)

Ports zhuqi-lucas's unmerged PR apache#23420 onto this branch: adds
`datafusion.execution.parquet.pushdown_filter_mode` (`auto` (default) /
`always` / `heuristic`). In `auto`/`heuristic` mode, filter pushdown is
declined for scans whose projection contains fewer than 3 columns not
referenced by the filter, where RowFilter overhead tends to outweigh the
decode it saves (e.g. ClickBench Q10/Q11/Q40). Dynamic (TopK) filters are
never gated. Declined scans keep the filter in a FilterExec above the
scan and still use the predicate for stats/bloom/page-index pruning.

Differences from apache#23420 as-authored: proto tag 40 (38 is now taken by
max_in_list_size), conversions added to proto-models and
datasource-parquet file_format (proto conversion code moved since the
PR was written), and one stale expected plan refreshed.

Co-authored-by: Qi Zhu <821684824@qq.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@Dandandan

Copy link
Copy Markdown
Contributor

Oh wait this is just mostly filter pushdown itself I guess

Yes, exactly. However, the results are very close to not regressing with filter pushdown

I think a few more tweaks and we'll have it

Amazing

@alamb

alamb commented Aug 17, 2026

Copy link
Copy Markdown
Contributor Author

FYI: I have pushed 026fb7d which ports the narrow-projection pushdown gate (pushdown_filter_mode, default auto) from #23420 (thanks @zhuqi-lucas) onto this branch, to see if it eliminates the remaining regressions.

The two benchmark requests above from 15:21/15:23 UTC were still queued at push time, so check the Comparing ... (<sha>) line in their results to see which commit they measured: 79dd91d is pushdown-by-default only, 026fb7d adds the gate. Posting fresh requests below for the gated head.

@alamb

alamb commented Aug 17, 2026

Copy link
Copy Markdown
Contributor Author

run benchmark clickbench_partitioned

@alamb

alamb commented Aug 17, 2026

Copy link
Copy Markdown
Contributor Author

run benchmark clickbench_partitioned

env:
    SIMULATE_LATENCY: "true"

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c5317648348-1624-mt4rj 6.12.85+ #1 SMP Wed Jun 17 20:31:55 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 alamb/pushdown_by_default (026fb7d) to 00eba79 (merge-base) diff

Run configuration
run benchmark 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-c5317648545-1623-2mknm 6.12.85+ #1 SMP Wed Jun 17 20:31:55 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 alamb/pushdown_by_default (026fb7d) to 00eba79 (merge-base) diff

Run configuration
run benchmark clickbench_partitioned
env:
  SIMULATE_LATENCY: "true"

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)

Comparing alamb/pushdown_by_default (026fb7d) to 00eba79 (merge-base) diff

Run configuration
run benchmark clickbench_partitioned
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 alamb_pushdown_by_default
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┓
┃ Query     ┃       HEAD ┃ alamb_pushdown_by_default ┃         Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━┩
│ QQuery 0  │    1.22 ms │                   1.25 ms │      no change │
│ QQuery 1  │   12.15 ms │                  11.98 ms │      no change │
│ QQuery 2  │   37.21 ms │                  36.36 ms │      no change │
│ QQuery 3  │   31.37 ms │                  30.79 ms │      no change │
│ QQuery 4  │  225.77 ms │                 226.67 ms │      no change │
│ QQuery 5  │  273.47 ms │                 271.78 ms │      no change │
│ QQuery 6  │    1.29 ms │                   1.26 ms │      no change │
│ QQuery 7  │   13.54 ms │                  13.06 ms │      no change │
│ QQuery 8  │  329.43 ms │                 330.86 ms │      no change │
│ QQuery 9  │  452.98 ms │                 465.81 ms │      no change │
│ QQuery 10 │   69.27 ms │                  68.82 ms │      no change │
│ QQuery 11 │   81.35 ms │                  79.76 ms │      no change │
│ QQuery 12 │  269.24 ms │                 272.96 ms │      no change │
│ QQuery 13 │  370.12 ms │                 362.15 ms │      no change │
│ QQuery 14 │  283.00 ms │                 283.14 ms │      no change │
│ QQuery 15 │  276.07 ms │                 270.51 ms │      no change │
│ QQuery 16 │  610.13 ms │                 618.37 ms │      no change │
│ QQuery 17 │  617.02 ms │                 622.08 ms │      no change │
│ QQuery 18 │ 1252.91 ms │                1272.72 ms │      no change │
│ QQuery 19 │   27.91 ms │                  27.26 ms │      no change │
│ QQuery 20 │  516.13 ms │                 520.09 ms │      no change │
│ QQuery 21 │  513.77 ms │                 514.33 ms │      no change │
│ QQuery 22 │  985.68 ms │                 988.83 ms │      no change │
│ QQuery 23 │ 3063.67 ms │                 150.47 ms │ +20.36x faster │
│ QQuery 24 │   41.36 ms │                  54.90 ms │   1.33x slower │
│ QQuery 25 │  111.83 ms │                 142.45 ms │   1.27x slower │
│ QQuery 26 │   41.29 ms │                  57.21 ms │   1.39x slower │
│ QQuery 27 │  514.48 ms │                 511.47 ms │      no change │
│ QQuery 28 │ 2897.36 ms │                2900.94 ms │      no change │
│ QQuery 29 │   41.12 ms │                  41.02 ms │      no change │
│ QQuery 30 │  307.57 ms │                 299.05 ms │      no change │
│ QQuery 31 │  283.26 ms │                 282.00 ms │      no change │
│ QQuery 32 │  939.63 ms │                 929.59 ms │      no change │
│ QQuery 33 │ 1503.38 ms │                1443.24 ms │      no change │
│ QQuery 34 │ 1497.18 ms │                1468.03 ms │      no change │
│ QQuery 35 │  283.30 ms │                 281.92 ms │      no change │
│ QQuery 36 │   70.96 ms │                  67.69 ms │      no change │
│ QQuery 37 │   35.30 ms │                  36.04 ms │      no change │
│ QQuery 38 │   40.39 ms │                  44.51 ms │   1.10x slower │
│ QQuery 39 │  153.47 ms │                 142.18 ms │  +1.08x faster │
│ QQuery 40 │   14.30 ms │                  14.65 ms │      no change │
│ QQuery 41 │   14.31 ms │                  13.74 ms │      no change │
│ QQuery 42 │   13.78 ms │                  13.59 ms │      no change │
└───────────┴────────────┴───────────────────────────┴────────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                        ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                        │ 19118.99ms │
│ Total Time (alamb_pushdown_by_default)   │ 16185.53ms │
│ Average Time (HEAD)                      │   444.63ms │
│ Average Time (alamb_pushdown_by_default) │   376.41ms │
│ Queries Faster                           │          2 │
│ Queries Slower                           │          4 │
│ Queries with No Change                   │         37 │
│ Queries with Failure                     │          0 │
└──────────────────────────────────────────┴────────────┘

Distribution per query (min / mean ±stddev / max):

Comparing HEAD and alamb_pushdown_by_default
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┓
┃ Query     ┃                                  HEAD ┃             alamb_pushdown_by_default ┃         Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━┩
│ QQuery 0  │          1.22 / 4.03 ±5.47 / 14.98 ms │          1.25 / 4.08 ±5.53 / 15.14 ms │      no change │
│ QQuery 1  │        12.15 / 12.43 ±0.21 / 12.73 ms │        11.98 / 12.28 ±0.17 / 12.50 ms │      no change │
│ QQuery 2  │        37.21 / 37.81 ±0.43 / 38.52 ms │        36.36 / 36.62 ±0.26 / 36.99 ms │      no change │
│ QQuery 3  │        31.37 / 32.00 ±0.62 / 33.09 ms │        30.79 / 31.21 ±0.30 / 31.52 ms │      no change │
│ QQuery 4  │     225.77 / 231.97 ±3.46 / 236.05 ms │     226.67 / 230.23 ±2.06 / 232.98 ms │      no change │
│ QQuery 5  │     273.47 / 276.10 ±1.37 / 277.20 ms │     271.78 / 275.33 ±2.88 / 278.61 ms │      no change │
│ QQuery 6  │           1.29 / 1.44 ±0.22 / 1.87 ms │           1.26 / 1.42 ±0.23 / 1.87 ms │      no change │
│ QQuery 7  │        13.54 / 13.73 ±0.11 / 13.85 ms │        13.06 / 13.32 ±0.17 / 13.56 ms │      no change │
│ QQuery 8  │     329.43 / 331.60 ±1.91 / 334.62 ms │     330.86 / 333.41 ±2.38 / 337.25 ms │      no change │
│ QQuery 9  │     452.98 / 468.06 ±8.65 / 476.64 ms │     465.81 / 469.38 ±4.87 / 478.98 ms │      no change │
│ QQuery 10 │        69.27 / 72.62 ±4.44 / 81.36 ms │        68.82 / 72.95 ±7.10 / 87.13 ms │      no change │
│ QQuery 11 │        81.35 / 84.93 ±5.98 / 96.88 ms │        79.76 / 84.26 ±6.88 / 97.93 ms │      no change │
│ QQuery 12 │     269.24 / 273.62 ±3.43 / 279.60 ms │     272.96 / 277.56 ±4.17 / 285.08 ms │      no change │
│ QQuery 13 │     370.12 / 384.02 ±7.72 / 391.35 ms │     362.15 / 373.87 ±6.67 / 381.10 ms │      no change │
│ QQuery 14 │     283.00 / 288.02 ±3.73 / 292.36 ms │     283.14 / 294.09 ±8.50 / 309.01 ms │      no change │
│ QQuery 15 │     276.07 / 280.21 ±3.85 / 286.03 ms │     270.51 / 278.82 ±6.47 / 284.40 ms │      no change │
│ QQuery 16 │     610.13 / 618.19 ±5.10 / 625.76 ms │    618.37 / 635.55 ±16.27 / 664.93 ms │      no change │
│ QQuery 17 │     617.02 / 632.26 ±9.69 / 643.43 ms │    622.08 / 642.44 ±16.56 / 671.68 ms │      no change │
│ QQuery 18 │ 1252.91 / 1280.70 ±14.86 / 1297.58 ms │ 1272.72 / 1297.24 ±34.36 / 1364.24 ms │      no change │
│ QQuery 19 │        27.91 / 31.75 ±5.16 / 41.02 ms │        27.26 / 27.67 ±0.24 / 27.92 ms │  +1.15x faster │
│ QQuery 20 │     516.13 / 524.16 ±9.26 / 542.27 ms │     520.09 / 525.94 ±6.82 / 534.95 ms │      no change │
│ QQuery 21 │     513.77 / 520.89 ±5.71 / 530.46 ms │     514.33 / 523.50 ±8.30 / 533.82 ms │      no change │
│ QQuery 22 │    985.68 / 992.98 ±7.30 / 1004.38 ms │     988.83 / 992.49 ±4.02 / 999.26 ms │      no change │
│ QQuery 23 │ 3063.67 / 3091.19 ±20.46 / 3125.30 ms │     150.47 / 156.57 ±4.14 / 160.22 ms │ +19.74x faster │
│ QQuery 24 │        41.36 / 47.80 ±9.05 / 64.76 ms │       54.90 / 63.17 ±15.82 / 94.82 ms │   1.32x slower │
│ QQuery 25 │     111.83 / 115.64 ±6.42 / 128.47 ms │     142.45 / 145.63 ±2.59 / 149.14 ms │   1.26x slower │
│ QQuery 26 │        41.29 / 44.38 ±5.52 / 55.42 ms │        57.21 / 58.83 ±1.58 / 61.35 ms │   1.33x slower │
│ QQuery 27 │     514.48 / 517.85 ±2.87 / 522.93 ms │     511.47 / 515.79 ±3.25 / 521.14 ms │      no change │
│ QQuery 28 │ 2897.36 / 2918.66 ±22.97 / 2955.45 ms │ 2900.94 / 2918.35 ±13.44 / 2939.83 ms │      no change │
│ QQuery 29 │        41.12 / 44.05 ±4.78 / 53.56 ms │        41.02 / 41.34 ±0.34 / 41.99 ms │  +1.07x faster │
│ QQuery 30 │     307.57 / 311.62 ±3.86 / 318.36 ms │     299.05 / 311.50 ±6.38 / 316.57 ms │      no change │
│ QQuery 31 │    283.26 / 293.93 ±10.29 / 308.02 ms │     282.00 / 293.35 ±9.72 / 311.38 ms │      no change │
│ QQuery 32 │   939.63 / 979.56 ±23.37 / 1006.26 ms │    929.59 / 956.87 ±25.14 / 993.89 ms │      no change │
│ QQuery 33 │ 1503.38 / 1511.99 ±11.33 / 1534.34 ms │ 1443.24 / 1490.47 ±29.31 / 1529.73 ms │      no change │
│ QQuery 34 │ 1497.18 / 1525.63 ±23.96 / 1552.41 ms │ 1468.03 / 1544.19 ±43.79 / 1602.20 ms │      no change │
│ QQuery 35 │    283.30 / 315.11 ±35.66 / 372.69 ms │    281.92 / 318.65 ±26.57 / 351.55 ms │      no change │
│ QQuery 36 │        70.96 / 79.52 ±6.50 / 87.96 ms │        67.69 / 77.82 ±9.76 / 93.34 ms │      no change │
│ QQuery 37 │        35.30 / 40.43 ±6.53 / 53.32 ms │        36.04 / 39.78 ±4.07 / 46.99 ms │      no change │
│ QQuery 38 │        40.39 / 46.85 ±6.12 / 55.59 ms │        44.51 / 49.41 ±5.33 / 59.14 ms │   1.05x slower │
│ QQuery 39 │     153.47 / 158.91 ±5.20 / 168.67 ms │     142.18 / 145.98 ±3.20 / 151.87 ms │  +1.09x faster │
│ QQuery 40 │        14.30 / 15.89 ±2.31 / 20.47 ms │        14.65 / 18.31 ±5.75 / 29.64 ms │   1.15x slower │
│ QQuery 41 │        14.31 / 14.43 ±0.13 / 14.66 ms │        13.74 / 14.01 ±0.20 / 14.34 ms │      no change │
│ QQuery 42 │        13.78 / 15.02 ±2.20 / 19.42 ms │        13.59 / 16.33 ±5.24 / 26.81 ms │   1.09x slower │
└───────────┴───────────────────────────────────────┴───────────────────────────────────────┴────────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                        ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                        │ 19482.04ms │
│ Total Time (alamb_pushdown_by_default)   │ 16610.00ms │
│ Average Time (HEAD)                      │   453.07ms │
│ Average Time (alamb_pushdown_by_default) │   386.28ms │
│ Queries Faster                           │          4 │
│ Queries Slower                           │          6 │
│ Queries with No Change                   │         33 │
│ Queries with Failure                     │          0 │
└──────────────────────────────────────────┴────────────┘

Resource Usage

clickbench_partitioned — base (merge-base)

Metric Value
Wall time 100.0s
Peak memory 11.5 GiB
Avg memory 4.3 GiB
CPU user 996.5s
CPU sys 71.5s
Peak spill 0 B

clickbench_partitioned — branch

Metric Value
Wall time 85.0s
Peak memory 10.1 GiB
Avg memory 4.0 GiB
CPU user 842.5s
CPU sys 60.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)

Comparing alamb/pushdown_by_default (026fb7d) to 00eba79 (merge-base) diff

Run configuration
run benchmark clickbench_partitioned
env:
  SIMULATE_LATENCY: "true"
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 alamb_pushdown_by_default
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃       HEAD ┃ alamb_pushdown_by_default ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0  │    1.23 ms │                   1.25 ms │     no change │
│ QQuery 1  │ 1874.07 ms │                1876.58 ms │     no change │
│ QQuery 2  │ 2180.09 ms │                2164.87 ms │     no change │
│ QQuery 3  │ 2140.30 ms │                2144.53 ms │     no change │
│ QQuery 4  │ 2315.64 ms │                2260.11 ms │     no change │
│ QQuery 5  │ 2392.10 ms │                2344.03 ms │     no change │
│ QQuery 6  │    1.29 ms │                   1.31 ms │     no change │
│ QQuery 7  │ 1976.07 ms │                1940.32 ms │     no change │
│ QQuery 8  │ 2390.81 ms │                2381.63 ms │     no change │
│ QQuery 9  │ 2586.81 ms │                2638.75 ms │     no change │
│ QQuery 10 │ 2216.17 ms │                2199.45 ms │     no change │
│ QQuery 11 │ 2173.21 ms │                2189.64 ms │     no change │
│ QQuery 12 │ 2330.21 ms │                2352.98 ms │     no change │
│ QQuery 13 │ 2437.53 ms │                2494.81 ms │     no change │
│ QQuery 14 │ 2385.64 ms │                2380.96 ms │     no change │
│ QQuery 15 │ 2335.43 ms │                2360.66 ms │     no change │
│ QQuery 16 │ 2652.69 ms │                2621.34 ms │     no change │
│ QQuery 17 │ 2654.27 ms │                2629.95 ms │     no change │
│ QQuery 18 │ 3126.72 ms │                3155.93 ms │     no change │
│ QQuery 19 │ 1745.51 ms │                1770.19 ms │     no change │
│ QQuery 20 │ 2616.70 ms │                2661.13 ms │     no change │
│ QQuery 21 │ 2665.04 ms │                2609.38 ms │     no change │
│ QQuery 22 │ 3034.14 ms │                3139.97 ms │     no change │
│ QQuery 23 │ 4954.98 ms │                 759.78 ms │ +6.52x faster │
│ QQuery 24 │  447.77 ms │                 584.13 ms │  1.30x slower │
│ QQuery 25 │ 2260.50 ms │                2358.47 ms │     no change │
│ QQuery 26 │  448.81 ms │                 627.72 ms │  1.40x slower │
│ QQuery 27 │ 2634.57 ms │                2631.15 ms │     no change │
│ QQuery 28 │ 4947.99 ms │                4912.29 ms │     no change │
│ QQuery 29 │ 2198.39 ms │                2177.74 ms │     no change │
│ QQuery 30 │ 2435.75 ms │                2437.69 ms │     no change │
│ QQuery 31 │ 2362.92 ms │                2394.56 ms │     no change │
│ QQuery 32 │ 2502.89 ms │                2509.51 ms │     no change │
│ QQuery 33 │ 3332.49 ms │                3408.86 ms │     no change │
│ QQuery 34 │ 3424.15 ms │                3419.42 ms │     no change │
│ QQuery 35 │ 2408.92 ms │                2352.88 ms │     no change │
│ QQuery 36 │  137.88 ms │                 195.12 ms │  1.42x slower │
│ QQuery 37 │  134.88 ms │                 148.97 ms │  1.10x slower │
│ QQuery 38 │  128.25 ms │                 174.88 ms │  1.36x slower │
│ QQuery 39 │  180.86 ms │                 275.47 ms │  1.52x slower │
│ QQuery 40 │  117.56 ms │                 144.88 ms │  1.23x slower │
│ QQuery 41 │  114.25 ms │                 143.36 ms │  1.25x slower │
│ QQuery 42 │  114.48 ms │                 143.35 ms │  1.25x slower │
└───────────┴────────────┴───────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                        ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                        │ 85519.98ms │
│ Total Time (alamb_pushdown_by_default)   │ 82119.99ms │
│ Average Time (HEAD)                      │  1988.84ms │
│ Average Time (alamb_pushdown_by_default) │  1909.77ms │
│ Queries Faster                           │          1 │
│ Queries Slower                           │          9 │
│ Queries with No Change                   │         33 │
│ Queries with Failure                     │          0 │
└──────────────────────────────────────────┴────────────┘

Distribution per query (min / mean ±stddev / max):

Comparing HEAD and alamb_pushdown_by_default
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                  HEAD ┃              alamb_pushdown_by_default ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0  │          1.23 / 3.89 ±5.24 / 14.37 ms │           1.25 / 3.95 ±5.37 / 14.69 ms │     no change │
│ QQuery 1  │ 1874.07 / 1918.13 ±24.62 / 1940.54 ms │  1876.58 / 1934.18 ±42.96 / 2009.75 ms │     no change │
│ QQuery 2  │ 2180.09 / 2238.33 ±54.17 / 2303.60 ms │  2164.87 / 2219.81 ±39.74 / 2278.53 ms │     no change │
│ QQuery 3  │ 2140.30 / 2206.13 ±33.71 / 2231.81 ms │  2144.53 / 2230.72 ±71.22 / 2332.83 ms │     no change │
│ QQuery 4  │ 2315.64 / 2357.87 ±47.68 / 2448.93 ms │  2260.11 / 2332.16 ±61.62 / 2445.64 ms │     no change │
│ QQuery 5  │ 2392.10 / 2420.90 ±29.48 / 2469.07 ms │  2344.03 / 2403.98 ±42.38 / 2459.70 ms │     no change │
│ QQuery 6  │           1.29 / 1.44 ±0.21 / 1.85 ms │            1.31 / 1.46 ±0.25 / 1.96 ms │     no change │
│ QQuery 7  │ 1976.07 / 2005.48 ±25.76 / 2053.00 ms │  1940.32 / 1983.20 ±52.12 / 2081.08 ms │     no change │
│ QQuery 8  │ 2390.81 / 2435.29 ±32.30 / 2474.35 ms │  2381.63 / 2424.25 ±56.15 / 2534.25 ms │     no change │
│ QQuery 9  │ 2586.81 / 2657.05 ±79.73 / 2807.33 ms │  2638.75 / 2703.63 ±53.21 / 2800.53 ms │     no change │
│ QQuery 10 │ 2216.17 / 2271.67 ±39.84 / 2320.81 ms │  2199.45 / 2273.42 ±64.23 / 2366.73 ms │     no change │
│ QQuery 11 │ 2173.21 / 2263.68 ±68.76 / 2340.39 ms │  2189.64 / 2273.48 ±49.70 / 2345.43 ms │     no change │
│ QQuery 12 │ 2330.21 / 2404.62 ±49.24 / 2462.25 ms │  2352.98 / 2428.26 ±58.86 / 2518.53 ms │     no change │
│ QQuery 13 │ 2437.53 / 2503.10 ±53.55 / 2591.48 ms │  2494.81 / 2517.78 ±25.17 / 2565.94 ms │     no change │
│ QQuery 14 │ 2385.64 / 2423.11 ±40.78 / 2498.23 ms │  2380.96 / 2434.76 ±46.19 / 2514.03 ms │     no change │
│ QQuery 15 │ 2335.43 / 2459.11 ±65.93 / 2511.54 ms │  2360.66 / 2411.39 ±42.47 / 2474.95 ms │     no change │
│ QQuery 16 │ 2652.69 / 2697.11 ±43.38 / 2759.97 ms │  2621.34 / 2699.60 ±44.79 / 2760.64 ms │     no change │
│ QQuery 17 │ 2654.27 / 2702.91 ±49.78 / 2797.22 ms │  2629.95 / 2692.79 ±50.56 / 2777.12 ms │     no change │
│ QQuery 18 │ 3126.72 / 3190.92 ±38.52 / 3232.90 ms │  3155.93 / 3181.61 ±27.01 / 3227.39 ms │     no change │
│ QQuery 19 │ 1745.51 / 1810.68 ±64.62 / 1930.16 ms │  1770.19 / 1859.68 ±73.30 / 1962.76 ms │     no change │
│ QQuery 20 │ 2616.70 / 2680.66 ±41.05 / 2737.98 ms │  2661.13 / 2715.75 ±48.36 / 2781.24 ms │     no change │
│ QQuery 21 │ 2665.04 / 2720.23 ±31.71 / 2759.25 ms │  2609.38 / 2670.45 ±54.52 / 2738.12 ms │     no change │
│ QQuery 22 │ 3034.14 / 3125.14 ±52.51 / 3189.99 ms │  3139.97 / 3190.47 ±32.28 / 3227.32 ms │     no change │
│ QQuery 23 │ 4954.98 / 5044.51 ±49.93 / 5090.24 ms │     759.78 / 861.21 ±85.11 / 968.38 ms │ +5.86x faster │
│ QQuery 24 │    447.77 / 490.17 ±22.47 / 511.47 ms │     584.13 / 661.37 ±56.26 / 728.41 ms │  1.35x slower │
│ QQuery 25 │ 2260.50 / 2298.14 ±25.00 / 2335.34 ms │  2358.47 / 2393.03 ±31.75 / 2440.80 ms │     no change │
│ QQuery 26 │    448.81 / 510.92 ±42.44 / 573.91 ms │     627.72 / 705.78 ±46.55 / 760.46 ms │  1.38x slower │
│ QQuery 27 │ 2634.57 / 2733.77 ±76.57 / 2862.94 ms │  2631.15 / 2757.48 ±95.44 / 2894.10 ms │     no change │
│ QQuery 28 │ 4947.99 / 5029.38 ±68.27 / 5121.56 ms │ 4912.29 / 5046.07 ±110.84 / 5188.86 ms │     no change │
│ QQuery 29 │ 2198.39 / 2260.22 ±39.25 / 2305.98 ms │  2177.74 / 2296.70 ±72.69 / 2370.69 ms │     no change │
│ QQuery 30 │ 2435.75 / 2486.75 ±39.73 / 2551.32 ms │  2437.69 / 2518.04 ±77.30 / 2624.17 ms │     no change │
│ QQuery 31 │ 2362.92 / 2436.59 ±75.42 / 2579.46 ms │  2394.56 / 2467.98 ±59.81 / 2532.39 ms │     no change │
│ QQuery 32 │ 2502.89 / 2596.28 ±59.50 / 2679.58 ms │  2509.51 / 2583.78 ±63.22 / 2692.49 ms │     no change │
│ QQuery 33 │ 3332.49 / 3444.51 ±79.07 / 3563.65 ms │  3408.86 / 3459.71 ±47.62 / 3538.58 ms │     no change │
│ QQuery 34 │ 3424.15 / 3456.10 ±24.54 / 3494.30 ms │  3419.42 / 3455.53 ±31.42 / 3504.63 ms │     no change │
│ QQuery 35 │ 2408.92 / 2482.63 ±68.24 / 2602.29 ms │  2352.88 / 2488.46 ±93.47 / 2628.35 ms │     no change │
│ QQuery 36 │    137.88 / 294.24 ±94.40 / 393.81 ms │     195.12 / 274.26 ±65.58 / 350.23 ms │ +1.07x faster │
│ QQuery 37 │    134.88 / 251.36 ±76.26 / 350.48 ms │     148.97 / 241.38 ±54.55 / 308.62 ms │     no change │
│ QQuery 38 │    128.25 / 268.06 ±86.79 / 375.32 ms │     174.88 / 241.99 ±57.66 / 339.18 ms │ +1.11x faster │
│ QQuery 39 │    180.86 / 313.18 ±74.67 / 405.28 ms │     275.47 / 308.42 ±37.46 / 366.78 ms │     no change │
│ QQuery 40 │    117.56 / 246.78 ±84.29 / 346.77 ms │     144.88 / 226.65 ±45.51 / 274.38 ms │ +1.09x faster │
│ QQuery 41 │    114.25 / 214.36 ±62.52 / 308.29 ms │     143.36 / 231.09 ±54.15 / 300.19 ms │  1.08x slower │
│ QQuery 42 │    114.48 / 240.57 ±82.10 / 346.68 ms │     143.35 / 231.42 ±54.43 / 301.43 ms │     no change │
└───────────┴───────────────────────────────────────┴────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                        ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                        │ 88595.97ms │
│ Total Time (alamb_pushdown_by_default)   │ 85037.13ms │
│ Average Time (HEAD)                      │  2060.37ms │
│ Average Time (alamb_pushdown_by_default) │  1977.61ms │
│ 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 445.1s
Peak memory 9.6 GiB
Avg memory 1.8 GiB
CPU user 973.9s
CPU sys 109.6s
Peak spill 0 B

clickbench_partitioned — branch

Metric Value
Wall time 430.1s
Peak memory 9.3 GiB
Avg memory 1.8 GiB
CPU user 831.4s
CPU sys 98.4s
Peak spill 0 B

File an issue against this benchmark runner

@alamb

alamb commented Aug 18, 2026

Copy link
Copy Markdown
Contributor Author

run benchmark clickbench_partitioned

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c5331459712-1656-kxrbk 6.12.85+ #1 SMP Wed Jun 17 20:31:55 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 alamb/pushdown_by_default (026fb7d) to 00eba79 (merge-base) diff

Run configuration
run benchmark 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-c5332422781-1661-qp6jh 6.12.85+ #1 SMP Wed Jun 17 20:31:55 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 alamb/pushdown_by_default (106653a) to 00eba79 (merge-base) diff

Run configuration
run benchmark 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-c5332422047-1660-swhrj 6.12.85+ #1 SMP Wed Jun 17 20:31:55 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 alamb/pushdown_by_default (106653a) to 00eba79 (merge-base) diff

Run configuration
run benchmark clickbench_partitioned
env:
  SIMULATE_LATENCY: "true"

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)

Comparing alamb/pushdown_by_default (106653a) to 00eba79 (merge-base) diff

Run configuration
run benchmark clickbench_partitioned
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 alamb_pushdown_by_default
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┓
┃ Query     ┃       HEAD ┃ alamb_pushdown_by_default ┃         Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━┩
│ QQuery 0  │    1.23 ms │                   1.25 ms │      no change │
│ QQuery 1  │   12.03 ms │                  12.15 ms │      no change │
│ QQuery 2  │   37.21 ms │                  37.14 ms │      no change │
│ QQuery 3  │   31.35 ms │                  31.36 ms │      no change │
│ QQuery 4  │  227.84 ms │                 227.39 ms │      no change │
│ QQuery 5  │  278.15 ms │                 279.94 ms │      no change │
│ QQuery 6  │    1.30 ms │                   1.31 ms │      no change │
│ QQuery 7  │   13.58 ms │                  13.48 ms │      no change │
│ QQuery 8  │  335.97 ms │                 332.89 ms │      no change │
│ QQuery 9  │  449.47 ms │                 468.19 ms │      no change │
│ QQuery 10 │   69.84 ms │                  70.45 ms │      no change │
│ QQuery 11 │   81.61 ms │                  82.18 ms │      no change │
│ QQuery 12 │  273.74 ms │                 273.74 ms │      no change │
│ QQuery 13 │  367.77 ms │                 370.43 ms │      no change │
│ QQuery 14 │  284.28 ms │                 289.49 ms │      no change │
│ QQuery 15 │  279.76 ms │                 277.15 ms │      no change │
│ QQuery 16 │  622.03 ms │                 626.26 ms │      no change │
│ QQuery 17 │  618.01 ms │                 624.37 ms │      no change │
│ QQuery 18 │ 1271.05 ms │                1269.58 ms │      no change │
│ QQuery 19 │   27.63 ms │                  27.48 ms │      no change │
│ QQuery 20 │  519.71 ms │                 517.93 ms │      no change │
│ QQuery 21 │  514.97 ms │                 519.67 ms │      no change │
│ QQuery 22 │  989.31 ms │                 993.50 ms │      no change │
│ QQuery 23 │ 3068.66 ms │                 150.91 ms │ +20.33x faster │
│ QQuery 24 │   41.32 ms │                  30.32 ms │  +1.36x faster │
│ QQuery 25 │  110.72 ms │                 164.95 ms │   1.49x slower │
│ QQuery 26 │   41.81 ms │                  48.34 ms │   1.16x slower │
│ QQuery 27 │  519.17 ms │                 518.27 ms │      no change │
│ QQuery 28 │ 2920.13 ms │                2915.95 ms │      no change │
│ QQuery 29 │   41.02 ms │                  41.88 ms │      no change │
│ QQuery 30 │  310.42 ms │                 313.80 ms │      no change │
│ QQuery 31 │  283.64 ms │                 289.68 ms │      no change │
│ QQuery 32 │  943.54 ms │                 947.54 ms │      no change │
│ QQuery 33 │ 1470.70 ms │                1483.00 ms │      no change │
│ QQuery 34 │ 1476.32 ms │                1500.05 ms │      no change │
│ QQuery 35 │  289.92 ms │                 289.42 ms │      no change │
│ QQuery 36 │   68.82 ms │                  70.05 ms │      no change │
│ QQuery 37 │   35.76 ms │                  36.01 ms │      no change │
│ QQuery 38 │   41.42 ms │                  41.59 ms │      no change │
│ QQuery 39 │  143.52 ms │                 144.19 ms │      no change │
│ QQuery 40 │   14.58 ms │                  14.78 ms │      no change │
│ QQuery 41 │   13.81 ms │                  13.96 ms │      no change │
│ QQuery 42 │   13.91 ms │                  13.63 ms │      no change │
└───────────┴────────────┴───────────────────────────┴────────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                        ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                        │ 19157.05ms │
│ Total Time (alamb_pushdown_by_default)   │ 16375.65ms │
│ Average Time (HEAD)                      │   445.51ms │
│ Average Time (alamb_pushdown_by_default) │   380.83ms │
│ Queries Faster                           │          2 │
│ Queries Slower                           │          2 │
│ Queries with No Change                   │         39 │
│ Queries with Failure                     │          0 │
└──────────────────────────────────────────┴────────────┘

Distribution per query (min / mean ±stddev / max):

Comparing HEAD and alamb_pushdown_by_default
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┓
┃ Query     ┃                                  HEAD ┃             alamb_pushdown_by_default ┃         Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━┩
│ QQuery 0  │          1.23 / 4.05 ±5.50 / 15.05 ms │          1.25 / 4.02 ±5.43 / 14.88 ms │      no change │
│ QQuery 1  │        12.03 / 12.41 ±0.24 / 12.69 ms │        12.15 / 12.31 ±0.20 / 12.66 ms │      no change │
│ QQuery 2  │        37.21 / 37.63 ±0.25 / 37.97 ms │        37.14 / 37.47 ±0.35 / 38.15 ms │      no change │
│ QQuery 3  │        31.35 / 32.29 ±0.77 / 33.44 ms │        31.36 / 32.11 ±1.05 / 34.18 ms │      no change │
│ QQuery 4  │     227.84 / 230.50 ±1.56 / 232.23 ms │     227.39 / 235.27 ±4.06 / 238.57 ms │      no change │
│ QQuery 5  │     278.15 / 280.82 ±2.58 / 285.30 ms │     279.94 / 281.62 ±1.74 / 284.95 ms │      no change │
│ QQuery 6  │           1.30 / 1.45 ±0.23 / 1.91 ms │           1.31 / 1.46 ±0.24 / 1.93 ms │      no change │
│ QQuery 7  │        13.58 / 13.72 ±0.09 / 13.82 ms │        13.48 / 13.68 ±0.15 / 13.87 ms │      no change │
│ QQuery 8  │     335.97 / 341.57 ±3.88 / 347.85 ms │     332.89 / 338.41 ±3.42 / 342.84 ms │      no change │
│ QQuery 9  │    449.47 / 468.96 ±15.60 / 494.83 ms │     468.19 / 477.94 ±6.00 / 483.53 ms │      no change │
│ QQuery 10 │        69.84 / 75.00 ±5.43 / 82.05 ms │        70.45 / 72.59 ±1.80 / 75.70 ms │      no change │
│ QQuery 11 │        81.61 / 82.66 ±0.69 / 83.54 ms │        82.18 / 82.86 ±0.73 / 84.07 ms │      no change │
│ QQuery 12 │     273.74 / 280.07 ±5.58 / 289.82 ms │     273.74 / 282.05 ±6.74 / 291.27 ms │      no change │
│ QQuery 13 │    367.77 / 384.13 ±10.70 / 396.54 ms │    370.43 / 394.78 ±21.92 / 430.18 ms │      no change │
│ QQuery 14 │     284.28 / 290.11 ±7.12 / 303.67 ms │    289.49 / 301.74 ±12.23 / 323.56 ms │      no change │
│ QQuery 15 │     279.76 / 287.96 ±6.67 / 297.50 ms │     277.15 / 286.18 ±9.06 / 298.67 ms │      no change │
│ QQuery 16 │     622.03 / 629.11 ±6.26 / 639.45 ms │    626.26 / 641.80 ±11.58 / 657.23 ms │      no change │
│ QQuery 17 │    618.01 / 634.21 ±10.25 / 647.90 ms │     624.37 / 633.67 ±6.31 / 639.07 ms │      no change │
│ QQuery 18 │ 1271.05 / 1294.26 ±14.88 / 1310.57 ms │ 1269.58 / 1297.21 ±23.10 / 1336.66 ms │      no change │
│ QQuery 19 │        27.63 / 27.99 ±0.38 / 28.58 ms │       27.48 / 36.03 ±10.62 / 53.85 ms │   1.29x slower │
│ QQuery 20 │     519.71 / 528.41 ±9.66 / 545.01 ms │     517.93 / 526.29 ±6.70 / 536.40 ms │      no change │
│ QQuery 21 │     514.97 / 524.87 ±9.77 / 541.62 ms │     519.67 / 524.23 ±5.23 / 531.42 ms │      no change │
│ QQuery 22 │   989.31 / 1000.52 ±8.69 / 1011.21 ms │   993.50 / 1003.23 ±6.20 / 1012.80 ms │      no change │
│ QQuery 23 │ 3068.66 / 3114.82 ±32.78 / 3171.41 ms │    150.91 / 163.08 ±14.26 / 190.70 ms │ +19.10x faster │
│ QQuery 24 │        41.32 / 43.51 ±1.89 / 46.29 ms │        30.32 / 30.43 ±0.08 / 30.58 ms │  +1.43x faster │
│ QQuery 25 │     110.72 / 116.19 ±8.96 / 134.06 ms │     164.95 / 168.74 ±4.75 / 178.07 ms │   1.45x slower │
│ QQuery 26 │        41.81 / 46.89 ±9.72 / 66.32 ms │        48.34 / 50.37 ±2.97 / 56.24 ms │   1.07x slower │
│ QQuery 27 │     519.17 / 524.70 ±6.68 / 537.43 ms │     518.27 / 527.30 ±8.77 / 542.99 ms │      no change │
│ QQuery 28 │  2920.13 / 2937.28 ±9.38 / 2947.03 ms │ 2915.95 / 2935.42 ±14.77 / 2961.62 ms │      no change │
│ QQuery 29 │        41.02 / 45.95 ±9.17 / 64.28 ms │        41.88 / 46.95 ±9.70 / 66.35 ms │      no change │
│ QQuery 30 │     310.42 / 317.85 ±8.19 / 333.82 ms │     313.80 / 317.67 ±4.86 / 326.64 ms │      no change │
│ QQuery 31 │     283.64 / 295.01 ±6.64 / 302.71 ms │     289.68 / 298.46 ±6.12 / 307.57 ms │      no change │
│ QQuery 32 │    943.54 / 955.48 ±11.49 / 974.90 ms │   947.54 / 973.43 ±17.19 / 1000.39 ms │      no change │
│ QQuery 33 │ 1470.70 / 1489.13 ±15.84 / 1513.46 ms │  1483.00 / 1493.59 ±5.56 / 1498.38 ms │      no change │
│ QQuery 34 │ 1476.32 / 1526.34 ±27.06 / 1550.87 ms │ 1500.05 / 1532.24 ±23.09 / 1570.68 ms │      no change │
│ QQuery 35 │    289.92 / 308.55 ±24.67 / 355.35 ms │    289.42 / 315.74 ±45.08 / 405.82 ms │      no change │
│ QQuery 36 │        68.82 / 74.07 ±3.98 / 81.04 ms │        70.05 / 74.10 ±5.47 / 84.45 ms │      no change │
│ QQuery 37 │        35.76 / 42.42 ±5.97 / 49.97 ms │        36.01 / 42.45 ±6.05 / 50.60 ms │      no change │
│ QQuery 38 │        41.42 / 44.20 ±1.87 / 47.19 ms │        41.59 / 43.88 ±2.58 / 48.74 ms │      no change │
│ QQuery 39 │     143.52 / 151.51 ±6.87 / 160.13 ms │     144.19 / 148.11 ±4.93 / 157.58 ms │      no change │
│ QQuery 40 │        14.58 / 14.78 ±0.28 / 15.33 ms │        14.78 / 16.45 ±2.15 / 20.60 ms │   1.11x slower │
│ QQuery 41 │        13.81 / 14.02 ±0.19 / 14.29 ms │        13.96 / 14.18 ±0.19 / 14.50 ms │      no change │
│ QQuery 42 │        13.91 / 15.19 ±2.27 / 19.73 ms │        13.63 / 13.74 ±0.15 / 14.04 ms │  +1.11x faster │
└───────────┴───────────────────────────────────────┴───────────────────────────────────────┴────────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                        ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                        │ 19540.61ms │
│ Total Time (alamb_pushdown_by_default)   │ 16723.30ms │
│ Average Time (HEAD)                      │   454.43ms │
│ Average Time (alamb_pushdown_by_default) │   388.91ms │
│ Queries Faster                           │          3 │
│ Queries Slower                           │          4 │
│ Queries with No Change                   │         36 │
│ Queries with Failure                     │          0 │
└──────────────────────────────────────────┴────────────┘

Resource Usage

clickbench_partitioned — base (merge-base)

Metric Value
Wall time 100.0s
Peak memory 11.5 GiB
Avg memory 4.5 GiB
CPU user 1007.7s
CPU sys 68.6s
Peak spill 0 B

clickbench_partitioned — branch

Metric Value
Wall time 85.0s
Peak memory 11.3 GiB
Avg memory 4.4 GiB
CPU user 850.9s
CPU sys 57.9s
Peak spill 0 B

File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark completed (GKE) | trigger

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

Comparing alamb/pushdown_by_default (106653a) to 00eba79 (merge-base) diff

Run configuration
run benchmark clickbench_partitioned
env:
  SIMULATE_LATENCY: "true"
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 alamb_pushdown_by_default
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃       HEAD ┃ alamb_pushdown_by_default ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0  │    1.26 ms │                   1.23 ms │     no change │
│ QQuery 1  │ 1871.77 ms │                1843.75 ms │     no change │
│ QQuery 2  │ 2160.56 ms │                2167.08 ms │     no change │
│ QQuery 3  │ 2159.06 ms │                2150.34 ms │     no change │
│ QQuery 4  │ 2295.58 ms │                2307.74 ms │     no change │
│ QQuery 5  │ 2384.43 ms │                2367.97 ms │     no change │
│ QQuery 6  │    1.26 ms │                   1.30 ms │     no change │
│ QQuery 7  │ 1947.43 ms │                1930.49 ms │     no change │
│ QQuery 8  │ 2428.16 ms │                2430.06 ms │     no change │
│ QQuery 9  │ 2614.44 ms │                2621.92 ms │     no change │
│ QQuery 10 │ 2237.50 ms │                2173.87 ms │     no change │
│ QQuery 11 │ 2216.64 ms │                2226.80 ms │     no change │
│ QQuery 12 │ 2329.77 ms │                2348.00 ms │     no change │
│ QQuery 13 │ 2457.92 ms │                2498.13 ms │     no change │
│ QQuery 14 │ 2348.71 ms │                2400.56 ms │     no change │
│ QQuery 15 │ 2376.89 ms │                2385.19 ms │     no change │
│ QQuery 16 │ 2666.58 ms │                2652.67 ms │     no change │
│ QQuery 17 │ 2672.98 ms │                2690.51 ms │     no change │
│ QQuery 18 │ 3124.09 ms │                3109.43 ms │     no change │
│ QQuery 19 │ 1798.35 ms │                1770.31 ms │     no change │
│ QQuery 20 │ 2682.31 ms │                2628.05 ms │     no change │
│ QQuery 21 │ 2628.76 ms │                2606.78 ms │     no change │
│ QQuery 22 │ 3083.78 ms │                3065.96 ms │     no change │
│ QQuery 23 │ 4828.18 ms │                 824.21 ms │ +5.86x faster │
│ QQuery 24 │  476.63 ms │                 514.81 ms │  1.08x slower │
│ QQuery 25 │ 2248.04 ms │                2312.26 ms │     no change │
│ QQuery 26 │  476.49 ms │                 507.45 ms │  1.06x slower │
│ QQuery 27 │ 2720.84 ms │                2675.52 ms │     no change │
│ QQuery 28 │ 4937.12 ms │                5004.37 ms │     no change │
│ QQuery 29 │ 2153.17 ms │                2217.85 ms │     no change │
│ QQuery 30 │ 2483.32 ms │                2461.64 ms │     no change │
│ QQuery 31 │ 2325.68 ms │                2427.11 ms │     no change │
│ QQuery 32 │ 2528.16 ms │                2586.05 ms │     no change │
│ QQuery 33 │ 3445.53 ms │                3442.57 ms │     no change │
│ QQuery 34 │ 3418.43 ms │                3477.62 ms │     no change │
│ QQuery 35 │ 2369.64 ms │                2332.33 ms │     no change │
│ QQuery 36 │  185.35 ms │                 191.78 ms │     no change │
│ QQuery 37 │  142.68 ms │                 146.56 ms │     no change │
│ QQuery 38 │  147.33 ms │                 178.79 ms │  1.21x slower │
│ QQuery 39 │  247.21 ms │                 254.13 ms │     no change │
│ QQuery 40 │  151.08 ms │                 148.48 ms │     no change │
│ QQuery 41 │  115.89 ms │                 143.44 ms │  1.24x slower │
│ QQuery 42 │  114.42 ms │                 143.84 ms │  1.26x slower │
└───────────┴────────────┴───────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                        ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                        │ 86003.43ms │
│ Total Time (alamb_pushdown_by_default)   │ 82368.96ms │
│ Average Time (HEAD)                      │  2000.08ms │
│ Average Time (alamb_pushdown_by_default) │  1915.56ms │
│ Queries Faster                           │          1 │
│ Queries Slower                           │          5 │
│ Queries with No Change                   │         37 │
│ Queries with Failure                     │          0 │
└──────────────────────────────────────────┴────────────┘

Distribution per query (min / mean ±stddev / max):

Comparing HEAD and alamb_pushdown_by_default
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                   HEAD ┃             alamb_pushdown_by_default ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0  │           1.26 / 4.00 ±5.43 / 14.86 ms │          1.23 / 4.00 ±5.47 / 14.93 ms │     no change │
│ QQuery 1  │  1871.77 / 1921.47 ±35.02 / 1966.01 ms │ 1843.75 / 1900.52 ±34.90 / 1953.65 ms │     no change │
│ QQuery 2  │  2160.56 / 2234.26 ±45.17 / 2302.51 ms │ 2167.08 / 2266.93 ±58.74 / 2327.74 ms │     no change │
│ QQuery 3  │  2159.06 / 2221.57 ±34.46 / 2249.09 ms │ 2150.34 / 2188.43 ±51.30 / 2289.60 ms │     no change │
│ QQuery 4  │  2295.58 / 2359.57 ±51.05 / 2433.88 ms │ 2307.74 / 2363.86 ±28.30 / 2383.20 ms │     no change │
│ QQuery 5  │  2384.43 / 2464.84 ±66.04 / 2544.27 ms │ 2367.97 / 2429.85 ±47.36 / 2481.49 ms │     no change │
│ QQuery 6  │            1.26 / 1.41 ±0.22 / 1.84 ms │           1.30 / 1.44 ±0.22 / 1.88 ms │     no change │
│ QQuery 7  │  1947.43 / 2026.97 ±51.14 / 2103.19 ms │ 1930.49 / 1985.02 ±43.41 / 2050.03 ms │     no change │
│ QQuery 8  │  2428.16 / 2476.90 ±33.72 / 2527.32 ms │ 2430.06 / 2508.86 ±54.53 / 2591.27 ms │     no change │
│ QQuery 9  │  2614.44 / 2732.09 ±66.16 / 2789.50 ms │ 2621.92 / 2687.77 ±51.16 / 2764.94 ms │     no change │
│ QQuery 10 │  2237.50 / 2297.99 ±33.18 / 2331.06 ms │ 2173.87 / 2234.02 ±41.13 / 2289.85 ms │     no change │
│ QQuery 11 │  2216.64 / 2288.46 ±55.76 / 2352.44 ms │ 2226.80 / 2258.92 ±37.47 / 2332.18 ms │     no change │
│ QQuery 12 │  2329.77 / 2381.81 ±43.13 / 2452.21 ms │ 2348.00 / 2441.03 ±81.26 / 2548.92 ms │     no change │
│ QQuery 13 │  2457.92 / 2526.79 ±52.73 / 2620.96 ms │ 2498.13 / 2554.39 ±46.14 / 2617.04 ms │     no change │
│ QQuery 14 │  2348.71 / 2407.00 ±41.67 / 2478.67 ms │ 2400.56 / 2445.12 ±35.05 / 2491.32 ms │     no change │
│ QQuery 15 │  2376.89 / 2438.09 ±41.15 / 2485.79 ms │ 2385.19 / 2416.60 ±24.35 / 2455.48 ms │     no change │
│ QQuery 16 │  2666.58 / 2719.47 ±45.11 / 2771.12 ms │ 2652.67 / 2729.79 ±92.20 / 2906.59 ms │     no change │
│ QQuery 17 │  2672.98 / 2716.41 ±46.91 / 2797.15 ms │ 2690.51 / 2729.81 ±40.64 / 2808.13 ms │     no change │
│ QQuery 18 │  3124.09 / 3243.00 ±76.16 / 3353.98 ms │ 3109.43 / 3182.96 ±74.10 / 3314.73 ms │     no change │
│ QQuery 19 │  1798.35 / 1819.72 ±21.87 / 1858.85 ms │ 1770.31 / 1834.36 ±51.94 / 1923.37 ms │     no change │
│ QQuery 20 │  2682.31 / 2731.75 ±42.11 / 2802.38 ms │ 2628.05 / 2685.56 ±50.72 / 2773.78 ms │     no change │
│ QQuery 21 │  2628.76 / 2681.80 ±28.81 / 2703.73 ms │ 2606.78 / 2665.40 ±35.11 / 2702.49 ms │     no change │
│ QQuery 22 │  3083.78 / 3183.94 ±59.57 / 3262.62 ms │ 3065.96 / 3151.24 ±67.58 / 3254.06 ms │     no change │
│ QQuery 23 │ 4828.18 / 5046.85 ±133.92 / 5189.33 ms │    824.21 / 889.70 ±38.24 / 939.47 ms │ +5.67x faster │
│ QQuery 24 │     476.63 / 501.36 ±29.95 / 558.27 ms │    514.81 / 556.54 ±45.81 / 645.34 ms │  1.11x slower │
│ QQuery 25 │  2248.04 / 2321.99 ±49.59 / 2404.04 ms │ 2312.26 / 2362.42 ±26.99 / 2391.93 ms │     no change │
│ QQuery 26 │     476.49 / 509.52 ±40.79 / 589.90 ms │    507.45 / 555.63 ±36.19 / 614.47 ms │  1.09x slower │
│ QQuery 27 │  2720.84 / 2737.26 ±14.13 / 2759.84 ms │ 2675.52 / 2765.12 ±54.47 / 2833.91 ms │     no change │
│ QQuery 28 │  4937.12 / 5018.74 ±60.48 / 5118.95 ms │ 5004.37 / 5033.66 ±27.10 / 5084.24 ms │     no change │
│ QQuery 29 │  2153.17 / 2243.26 ±45.99 / 2283.43 ms │ 2217.85 / 2276.23 ±35.40 / 2313.28 ms │     no change │
│ QQuery 30 │  2483.32 / 2513.11 ±29.75 / 2568.44 ms │ 2461.64 / 2546.85 ±50.51 / 2620.48 ms │     no change │
│ QQuery 31 │  2325.68 / 2434.34 ±61.42 / 2511.51 ms │ 2427.11 / 2489.42 ±51.52 / 2576.66 ms │     no change │
│ QQuery 32 │  2528.16 / 2629.23 ±55.71 / 2688.46 ms │ 2586.05 / 2651.18 ±41.69 / 2699.57 ms │     no change │
│ QQuery 33 │  3445.53 / 3510.09 ±75.79 / 3657.91 ms │ 3442.57 / 3498.73 ±45.08 / 3556.75 ms │     no change │
│ QQuery 34 │ 3418.43 / 3574.91 ±101.66 / 3701.56 ms │ 3477.62 / 3545.14 ±92.65 / 3728.72 ms │     no change │
│ QQuery 35 │  2369.64 / 2445.59 ±63.32 / 2561.51 ms │ 2332.33 / 2445.81 ±63.19 / 2509.64 ms │     no change │
│ QQuery 36 │     185.35 / 220.87 ±38.25 / 293.21 ms │    191.78 / 284.39 ±61.95 / 377.43 ms │  1.29x slower │
│ QQuery 37 │     142.68 / 191.18 ±38.51 / 248.36 ms │    146.56 / 235.47 ±55.33 / 307.21 ms │  1.23x slower │
│ QQuery 38 │     147.33 / 194.52 ±33.95 / 248.82 ms │    178.79 / 265.34 ±55.83 / 338.10 ms │  1.36x slower │
│ QQuery 39 │     247.21 / 286.51 ±35.70 / 351.34 ms │    254.13 / 311.37 ±49.25 / 372.83 ms │  1.09x slower │
│ QQuery 40 │     151.08 / 180.24 ±31.36 / 233.11 ms │    148.48 / 237.97 ±61.27 / 318.82 ms │  1.32x slower │
│ QQuery 41 │     115.89 / 175.35 ±45.32 / 250.52 ms │    143.44 / 218.43 ±65.16 / 304.51 ms │  1.25x slower │
│ QQuery 42 │     114.42 / 167.19 ±36.02 / 216.25 ms │    143.84 / 231.34 ±54.49 / 301.17 ms │  1.38x slower │
└───────────┴────────────────────────────────────────┴───────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                        ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                        │ 88781.43ms │
│ Total Time (alamb_pushdown_by_default)   │ 85066.61ms │
│ Average Time (HEAD)                      │  2064.68ms │
│ Average Time (alamb_pushdown_by_default) │  1978.29ms │
│ Queries Faster                           │          1 │
│ Queries Slower                           │          9 │
│ Queries with No Change                   │         33 │
│ Queries with Failure                     │          0 │
└──────────────────────────────────────────┴────────────┘

Resource Usage

clickbench_partitioned — base (merge-base)

Metric Value
Wall time 445.1s
Peak memory 9.5 GiB
Avg memory 1.8 GiB
CPU user 1003.9s
CPU sys 114.7s
Peak spill 0 B

clickbench_partitioned — branch

Metric Value
Wall time 430.1s
Peak memory 9.4 GiB
Avg memory 1.8 GiB
CPU user 852.8s
CPU sys 100.8s
Peak spill 0 B

File an issue against this benchmark runner

@alamb

alamb commented Aug 18, 2026

Copy link
Copy Markdown
Contributor Author

Status update

This PR now carries three logical changes (see description):

  1. progressive_io one-shot row-group I/O (WIP: NOT READY FOR REVIEW: Add parquet progressive_io option to keep one-shot row group I/O with pushdown filters #24395)
  2. the narrow-projection pushdown gate ported from feat(parquet): Enable Parquet filter_pushdown by default, with heurstic fallback when projecting few non-filter columns #23420 (pushdown_filter_mode, thanks @zhuqi-lucas),
  3. and a refinement (106653a) that gates only static conjuncts when a dynamic (TopK/aggregate) filter is present

It is not clear to me if the refinement is necessary (claude code came up with it, but it may not be accurate)

Next steps

Building --profile=profiling binaries at the merge-base, 026fb7d, and 106653a to reproduce these locally and profile: EXPLAIN ANALYZE on q24/q25/q26/q41/q42, object-store request counts, and one-variable-at-a-time toggles of pushdown_filter_mode, progressive_io, and enable_aggregate_dynamic_filter_pushdown. Results to follow here.

Then we'll see if we can reproduce the reported slowdowns and if so we'll profile them to figure out what is going on

Questions to answer:

  1. Does 106653a actually improve performance
  2. Can we reproduce the performance difference reported with 026fb7d (the heuristics)

@alamb

alamb commented Aug 19, 2026

Copy link
Copy Markdown
Contributor Author

Local Q25 experiment: the regression is real, and the dynamic-only refinement makes it worse

To take benchmark-runner noise out of the picture, I built --profile=profiling binaries at three commits — the merge-base (00eba79), the gate (026fb7d), and the dynamic-only refinement (106653a) — and ran ClickBench Q25 locally against hits_partitioned on a quiet machine, replicating the harness setup with test_pushdown.sql

Each cell below is 10 runs × 3 interleaved rounds (30 runs) after 2 warmups; It is reproducable

-- Q25: 
SELECT "SearchPhrase" FROM hits WHERE "SearchPhrase" <> '' ORDER BY "SearchPhrase" LIMIT 10;
Binary pushdown ON avg (min) ms pushdown OFF avg (min) ms ON/OFF
merge-base 00eba79 107.8 (104) 86.4 (84) 1.25x
gate 026fb7d 110.8 (108) 88.1 (86) 1.26x
dynamic-only 106653a 115.9 (113) 85.2 (83) 1.36x

Conclusions:

  1. The Q25 pushdown penalty pre-exists this PR: enabling pushdown costs ~25% even on the merge-base. Flipping the default merely exposes it.
  2. **The dynamic-only refinement (106653a) actually makes things worse
  3. Pushdown OFF is identical across all three binaries

Decision: reverting 106653a from this branch.

The next step is profiling the ~20–30ms ON-vs-OFF delta that exists on every binary for Q25 and figure out where the difference is

@alamb

alamb commented Aug 21, 2026

Copy link
Copy Markdown
Contributor Author

Update:
I did some profiling of q25 and I found a few things that could be improved (getting closer)

@zhuqi-lucas

zhuqi-lucas commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

Update: I did some profiling of q25 and I found a few things that could be improved (getting closer)

Thanks @alamb, great work — following the Q25 dig here, a precise DataFusion-side gate that stacks with the arrow-rs work, in case it's useful:

The row-level RowFilter is pure overhead in exactly one shape: when the (dynamic) filter column is the sole projected column. Then there's no "other column" for the selection to save a decode on; the filter column must be fully decoded to evaluate the threshold regardless; and for a high-cardinality key like SearchPhrase, RG pruning drops nothing — so the selection/mask construction is paid for zero payback.

That's a sharper predicate than "< 3 non-filter columns": decline only the row-level RowFilter (keep RG-level dynamic pruning) when dynamic filter column == the sole projected column. It hits Q25 (ORDER BY SearchPhrase, projection {SearchPhrase}) and leaves Q24 (ORDER BY EventTime, EventTime ∉ projection → SearchPhrase is a savable "other column") and any multi-column projection untouched — those always have a ≠-filter column for the selection to earn its keep.

Orthogonal to the selection-construction speedups in apache/arrow-rs#10776 — if those land this becomes unnecessary; until then it's a zero-risk way to drop the Q25 regression specifically.

@alamb

alamb commented Aug 24, 2026

Copy link
Copy Markdown
Contributor Author

the filter column must be fully decoded to evaluate the threshold regardless; and for a high-cardinality key like SearchPhrase, RG pruning drops nothing — so the selection/mask construction is paid for zero payback.

Thanks @zhuqi-lucas - I think I had claude try this - it is what is listed as

and a refinement (106653a) that gates only static conjuncts when a dynamic (TopK/aggregate) filter is present

And it didn't seem to work (though perhaps it wasn't implemented correctly)

@zhuqi-lucas

zhuqi-lucas commented Aug 25, 2026

Copy link
Copy Markdown
Contributor

the filter column must be fully decoded to evaluate the threshold regardless; and for a high-cardinality key like SearchPhrase, RG pruning drops nothing — so the selection/mask construction is paid for zero payback.

Thanks @zhuqi-lucas - I think I had claude try this - it is what is listed as

and a refinement (106653a) that gates only static conjuncts when a dynamic (TopK/aggregate) filter is present

And it didn't seem to work (though perhaps it wasn't implemented correctly)

Thank you @alamb for the info , i can try to benchmark it locally first.

Updated, tested locally, you are right.

@alamb

alamb commented Aug 27, 2026

Copy link
Copy Markdown
Contributor Author

I am now going to build and profile the following combinations

  1. Merge base (aka main) with no changes
  2. pushdown_filters on by default with progressive_io
  3. pushdown_filters and reorder_filters on by default with progressive_io
  4. pushdown_filters and reorder_filters on by default, and the gate from #23420
  5. pushdown_filters and reorder_filters on by default, and the gate from #23420 AND #arrow/10852 from @hhhizzz

Conflicts resolved:
- row_filter.rs: main refactored build_row_filter into
  prebuild_row_filter_candidates / row_filter_from_prebuilt; the filter
  mask union for one-shot I/O is now computed from the prebuilt
  candidate list (new prebuilt_filter_mask helper +
  RowFilterContext::filter_mask)
- opener/mod.rs: one_shot_ranges computation rebased onto main's
  InitialDecoderState block; filter mask sourced from RowFilterContext
- push_decoder.rs: PushDecoderStreamState keeps both one_shot_ranges and
  main's new fully-matched toggle fields
- object_store_access progressive_io snapshot updated: main's
  fully-matched RowFilter skip removes one request for the fully
  matched row group
- dynamic_row_group_pruning.slt: main's new fully-matched suppression
  test pinned to pushdown_filter_mode=always (it projects only the
  filter column, which the narrow-projection gate would decline)
- dynamic_filter_pushdown_config.slt: expected metrics updated for
  row_filter_skipped_fully_matched

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@alamb

alamb commented Aug 27, 2026

Copy link
Copy Markdown
Contributor Author

run benchmark clickbench_partitioned

@alamb

alamb commented Aug 27, 2026

Copy link
Copy Markdown
Contributor Author

run benchmark clickbench_partitioned

env:
    SIMULATE_LATENCY: "true"

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c5438849398-2016-jd9zs 6.12.85+ #1 SMP Sat Jun 27 09:31:30 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 alamb/pushdown_by_default (1eb7f67) to a38bb10 (merge-base) diff

Run configuration
run benchmark clickbench_partitioned
env:
  SIMULATE_LATENCY: "true"

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-c5438849038-2017-d22pn 6.12.85+ #1 SMP Sat Jun 27 09:31:30 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 alamb/pushdown_by_default (1eb7f67) to a38bb10 (merge-base) diff

Run configuration
run benchmark clickbench_partitioned

Results will be posted here when complete


File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark completed (GKE) | trigger

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

Comparing alamb/pushdown_by_default (1eb7f67) to a38bb10 (merge-base) diff

Run configuration
run benchmark clickbench_partitioned
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 alamb_pushdown_by_default
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┓
┃ Query     ┃       HEAD ┃ alamb_pushdown_by_default ┃         Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━┩
│ QQuery 0  │    1.20 ms │                   1.20 ms │      no change │
│ QQuery 1  │   11.89 ms │                  11.77 ms │      no change │
│ QQuery 2  │   36.47 ms │                  35.78 ms │      no change │
│ QQuery 3  │   30.92 ms │                  31.87 ms │      no change │
│ QQuery 4  │  222.85 ms │                 250.59 ms │   1.12x slower │
│ QQuery 5  │  272.39 ms │                 274.59 ms │      no change │
│ QQuery 6  │    1.24 ms │                   1.27 ms │      no change │
│ QQuery 7  │   13.44 ms │                  13.50 ms │      no change │
│ QQuery 8  │  323.00 ms │                 331.59 ms │      no change │
│ QQuery 9  │  455.26 ms │                 454.14 ms │      no change │
│ QQuery 10 │   69.67 ms │                  70.64 ms │      no change │
│ QQuery 11 │   80.46 ms │                  81.19 ms │      no change │
│ QQuery 12 │  266.04 ms │                 269.83 ms │      no change │
│ QQuery 13 │  362.98 ms │                 370.57 ms │      no change │
│ QQuery 14 │  281.67 ms │                 284.15 ms │      no change │
│ QQuery 15 │  265.71 ms │                 267.06 ms │      no change │
│ QQuery 16 │  650.94 ms │                 610.11 ms │  +1.07x faster │
│ QQuery 17 │  714.06 ms │                 627.16 ms │  +1.14x faster │
│ QQuery 18 │ 1298.43 ms │                1271.40 ms │      no change │
│ QQuery 19 │   27.82 ms │                  27.72 ms │      no change │
│ QQuery 20 │  512.41 ms │                 511.93 ms │      no change │
│ QQuery 21 │  523.00 ms │                 512.74 ms │      no change │
│ QQuery 22 │  978.14 ms │                1008.15 ms │      no change │
│ QQuery 23 │ 3031.55 ms │                 161.66 ms │ +18.75x faster │
│ QQuery 24 │   40.88 ms │                  57.92 ms │   1.42x slower │
│ QQuery 25 │  109.72 ms │                 155.53 ms │   1.42x slower │
│ QQuery 26 │   41.33 ms │                  62.95 ms │   1.52x slower │
│ QQuery 27 │  514.73 ms │                 541.28 ms │   1.05x slower │
│ QQuery 28 │ 2879.91 ms │                2917.88 ms │      no change │
│ QQuery 29 │   40.62 ms │                  40.59 ms │      no change │
│ QQuery 30 │  302.94 ms │                 301.62 ms │      no change │
│ QQuery 31 │  279.23 ms │                 290.88 ms │      no change │
│ QQuery 32 │ 1102.08 ms │                 957.62 ms │  +1.15x faster │
│ QQuery 33 │ 1489.37 ms │                1437.56 ms │      no change │
│ QQuery 34 │ 1539.28 ms │                1461.10 ms │  +1.05x faster │
│ QQuery 35 │  276.40 ms │                 281.40 ms │      no change │
│ QQuery 36 │   69.61 ms │                  67.10 ms │      no change │
│ QQuery 37 │   35.45 ms │                  35.25 ms │      no change │
│ QQuery 38 │   41.53 ms │                  45.07 ms │   1.09x slower │
│ QQuery 39 │  132.27 ms │                 130.69 ms │      no change │
│ QQuery 40 │   14.03 ms │                  14.02 ms │      no change │
│ QQuery 41 │   13.56 ms │                  13.53 ms │      no change │
│ QQuery 42 │   13.14 ms │                  13.05 ms │      no change │
└───────────┴────────────┴───────────────────────────┴────────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                        ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                        │ 19367.64ms │
│ Total Time (alamb_pushdown_by_default)   │ 16305.67ms │
│ Average Time (HEAD)                      │   450.41ms │
│ Average Time (alamb_pushdown_by_default) │   379.20ms │
│ Queries Faster                           │          5 │
│ Queries Slower                           │          6 │
│ Queries with No Change                   │         32 │
│ Queries with Failure                     │          0 │
└──────────────────────────────────────────┴────────────┘

Distribution per query (min / mean ±stddev / max):

Comparing HEAD and alamb_pushdown_by_default
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┓
┃ Query     ┃                                  HEAD ┃             alamb_pushdown_by_default ┃         Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━┩
│ QQuery 0  │          1.20 / 3.89 ±5.31 / 14.51 ms │          1.20 / 3.85 ±5.24 / 14.32 ms │      no change │
│ QQuery 1  │        11.89 / 12.16 ±0.14 / 12.32 ms │        11.77 / 12.04 ±0.19 / 12.24 ms │      no change │
│ QQuery 2  │        36.47 / 36.80 ±0.30 / 37.32 ms │        35.78 / 36.11 ±0.31 / 36.63 ms │      no change │
│ QQuery 3  │        30.92 / 31.86 ±1.02 / 33.81 ms │        31.87 / 32.32 ±0.52 / 33.32 ms │      no change │
│ QQuery 4  │    222.85 / 233.18 ±10.50 / 251.41 ms │     250.59 / 257.31 ±5.75 / 265.50 ms │   1.10x slower │
│ QQuery 5  │     272.39 / 276.48 ±3.89 / 283.40 ms │     274.59 / 278.19 ±1.95 / 279.98 ms │      no change │
│ QQuery 6  │           1.24 / 1.40 ±0.23 / 1.85 ms │           1.27 / 1.42 ±0.22 / 1.85 ms │      no change │
│ QQuery 7  │        13.44 / 13.58 ±0.10 / 13.70 ms │        13.50 / 15.99 ±4.85 / 25.69 ms │   1.18x slower │
│ QQuery 8  │     323.00 / 330.43 ±5.28 / 336.62 ms │     331.59 / 340.90 ±9.05 / 356.14 ms │      no change │
│ QQuery 9  │     455.26 / 460.47 ±6.56 / 472.95 ms │    454.14 / 469.21 ±12.64 / 486.76 ms │      no change │
│ QQuery 10 │        69.67 / 70.22 ±0.51 / 71.13 ms │        70.64 / 72.62 ±2.66 / 77.78 ms │      no change │
│ QQuery 11 │        80.46 / 81.82 ±0.92 / 83.22 ms │        81.19 / 81.83 ±0.34 / 82.11 ms │      no change │
│ QQuery 12 │     266.04 / 270.50 ±3.54 / 275.02 ms │     269.83 / 272.77 ±2.05 / 275.80 ms │      no change │
│ QQuery 13 │    362.98 / 374.91 ±13.97 / 400.89 ms │     370.57 / 380.76 ±7.63 / 392.58 ms │      no change │
│ QQuery 14 │     281.67 / 287.53 ±5.35 / 295.40 ms │    284.15 / 295.24 ±11.83 / 317.89 ms │      no change │
│ QQuery 15 │     265.71 / 275.86 ±7.32 / 285.05 ms │     267.06 / 276.26 ±6.13 / 283.70 ms │      no change │
│ QQuery 16 │    650.94 / 695.78 ±23.09 / 714.92 ms │    610.11 / 643.68 ±32.88 / 697.73 ms │  +1.08x faster │
│ QQuery 17 │     714.06 / 721.73 ±5.10 / 729.30 ms │    627.16 / 647.08 ±16.53 / 672.12 ms │  +1.12x faster │
│ QQuery 18 │ 1298.43 / 1337.57 ±34.84 / 1394.69 ms │ 1271.40 / 1289.69 ±12.54 / 1308.89 ms │      no change │
│ QQuery 19 │       27.82 / 38.36 ±12.39 / 55.48 ms │        27.72 / 28.15 ±0.37 / 28.75 ms │  +1.36x faster │
│ QQuery 20 │    512.41 / 534.93 ±12.64 / 546.48 ms │    511.93 / 523.75 ±11.81 / 543.04 ms │      no change │
│ QQuery 21 │     523.00 / 529.30 ±6.17 / 540.08 ms │     512.74 / 519.51 ±4.89 / 525.41 ms │      no change │
│ QQuery 22 │    978.14 / 992.43 ±9.48 / 1002.09 ms │ 1008.15 / 1057.53 ±25.24 / 1077.41 ms │   1.07x slower │
│ QQuery 23 │ 3031.55 / 3081.44 ±45.89 / 3148.94 ms │     161.66 / 168.30 ±5.37 / 176.72 ms │ +18.31x faster │
│ QQuery 24 │        40.88 / 48.61 ±9.25 / 63.96 ms │        57.92 / 62.55 ±7.81 / 78.10 ms │   1.29x slower │
│ QQuery 25 │     109.72 / 111.58 ±1.15 / 113.26 ms │     155.53 / 157.84 ±1.96 / 160.58 ms │   1.41x slower │
│ QQuery 26 │        41.33 / 42.36 ±0.94 / 44.00 ms │        62.95 / 65.02 ±1.39 / 66.89 ms │   1.53x slower │
│ QQuery 27 │    514.73 / 531.04 ±10.79 / 547.22 ms │     541.28 / 549.90 ±4.42 / 553.88 ms │      no change │
│ QQuery 28 │ 2879.91 / 2912.10 ±22.35 / 2942.88 ms │ 2917.88 / 2954.52 ±27.14 / 2998.67 ms │      no change │
│ QQuery 29 │        40.62 / 43.84 ±5.69 / 55.17 ms │       40.59 / 50.32 ±12.93 / 74.09 ms │   1.15x slower │
│ QQuery 30 │     302.94 / 307.31 ±3.48 / 311.63 ms │     301.62 / 308.45 ±6.29 / 318.44 ms │      no change │
│ QQuery 31 │    279.23 / 299.75 ±25.77 / 347.42 ms │     290.88 / 296.17 ±3.21 / 299.71 ms │      no change │
│ QQuery 32 │ 1102.08 / 1120.54 ±18.16 / 1149.36 ms │  957.62 / 1026.01 ±58.53 / 1126.88 ms │  +1.09x faster │
│ QQuery 33 │ 1489.37 / 1560.90 ±81.84 / 1703.68 ms │ 1437.56 / 1465.44 ±19.37 / 1486.14 ms │  +1.07x faster │
│ QQuery 34 │ 1539.28 / 1574.02 ±34.85 / 1638.67 ms │ 1461.10 / 1540.10 ±84.37 / 1701.50 ms │      no change │
│ QQuery 35 │    276.40 / 316.81 ±61.78 / 438.14 ms │    281.40 / 308.39 ±36.04 / 377.94 ms │      no change │
│ QQuery 36 │        69.61 / 80.68 ±6.51 / 86.56 ms │        67.10 / 68.96 ±1.01 / 70.08 ms │  +1.17x faster │
│ QQuery 37 │        35.45 / 38.09 ±4.28 / 46.63 ms │        35.25 / 38.14 ±3.09 / 42.82 ms │      no change │
│ QQuery 38 │        41.53 / 45.43 ±2.49 / 48.61 ms │        45.07 / 47.92 ±3.00 / 53.07 ms │   1.05x slower │
│ QQuery 39 │    132.27 / 147.52 ±14.67 / 174.57 ms │     130.69 / 137.80 ±5.14 / 143.80 ms │  +1.07x faster │
│ QQuery 40 │        14.03 / 14.42 ±0.33 / 14.83 ms │        14.02 / 16.09 ±3.49 / 23.06 ms │   1.12x slower │
│ QQuery 41 │        13.56 / 14.37 ±1.38 / 17.12 ms │        13.53 / 17.54 ±4.74 / 26.09 ms │   1.22x slower │
│ QQuery 42 │        13.14 / 13.26 ±0.09 / 13.36 ms │        13.05 / 13.96 ±1.54 / 17.04 ms │   1.05x slower │
└───────────┴───────────────────────────────────────┴───────────────────────────────────────┴────────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                        ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                        │ 19915.24ms │
│ Total Time (alamb_pushdown_by_default)   │ 16829.65ms │
│ Average Time (HEAD)                      │   463.15ms │
│ Average Time (alamb_pushdown_by_default) │   391.39ms │
│ Queries Faster                           │          8 │
│ Queries Slower                           │         11 │
│ Queries with No Change                   │         24 │
│ Queries with Failure                     │          0 │
└──────────────────────────────────────────┴────────────┘

Resource Usage

clickbench_partitioned — base (merge-base)

Metric Value
Wall time 100.0s
Peak memory 11.3 GiB
Avg memory 4.7 GiB
CPU user 1020.7s
CPU sys 72.6s
Peak spill 0 B

clickbench_partitioned — branch

Metric Value
Wall time 85.0s
Peak memory 12.3 GiB
Avg memory 4.5 GiB
CPU user 852.7s
CPU sys 60.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)

Comparing alamb/pushdown_by_default (1eb7f67) to a38bb10 (merge-base) diff

Run configuration
run benchmark clickbench_partitioned
env:
  SIMULATE_LATENCY: "true"
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 alamb_pushdown_by_default
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃       HEAD ┃ alamb_pushdown_by_default ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0  │    1.18 ms │                   1.23 ms │     no change │
│ QQuery 1  │ 1869.54 ms │                1883.01 ms │     no change │
│ QQuery 2  │ 2162.51 ms │                2158.29 ms │     no change │
│ QQuery 3  │ 2163.38 ms │                2166.80 ms │     no change │
│ QQuery 4  │ 2277.90 ms │                2278.54 ms │     no change │
│ QQuery 5  │ 2351.24 ms │                2361.04 ms │     no change │
│ QQuery 6  │    1.26 ms │                   1.26 ms │     no change │
│ QQuery 7  │ 1966.55 ms │                1930.10 ms │     no change │
│ QQuery 8  │ 2369.52 ms │                2405.99 ms │     no change │
│ QQuery 9  │ 2625.43 ms │                2581.00 ms │     no change │
│ QQuery 10 │ 2195.80 ms │                2209.39 ms │     no change │
│ QQuery 11 │ 2237.78 ms │                2219.62 ms │     no change │
│ QQuery 12 │ 2357.85 ms │                2410.90 ms │     no change │
│ QQuery 13 │ 2434.23 ms │                2433.97 ms │     no change │
│ QQuery 14 │ 2357.92 ms │                2394.84 ms │     no change │
│ QQuery 15 │ 2344.58 ms │                2440.35 ms │     no change │
│ QQuery 16 │ 2593.50 ms │                2646.62 ms │     no change │
│ QQuery 17 │ 2618.66 ms │                2658.45 ms │     no change │
│ QQuery 18 │ 3166.59 ms │                3098.94 ms │     no change │
│ QQuery 19 │ 1745.20 ms │                1759.89 ms │     no change │
│ QQuery 20 │ 2626.97 ms │                2606.88 ms │     no change │
│ QQuery 21 │ 2636.25 ms │                2634.29 ms │     no change │
│ QQuery 22 │ 3065.06 ms │                3043.38 ms │     no change │
│ QQuery 23 │ 4824.21 ms │                 835.94 ms │ +5.77x faster │
│ QQuery 24 │  488.74 ms │                 725.75 ms │  1.48x slower │
│ QQuery 25 │ 2233.05 ms │                2292.26 ms │     no change │
│ QQuery 26 │  488.00 ms │                 632.58 ms │  1.30x slower │
│ QQuery 27 │ 2659.03 ms │                2678.83 ms │     no change │
│ QQuery 28 │ 4987.28 ms │                4995.28 ms │     no change │
│ QQuery 29 │ 2260.85 ms │                2189.80 ms │     no change │
│ QQuery 30 │ 2499.95 ms │                2470.01 ms │     no change │
│ QQuery 31 │ 2383.65 ms │                2477.83 ms │     no change │
│ QQuery 32 │ 2477.18 ms │                2500.50 ms │     no change │
│ QQuery 33 │ 3421.34 ms │                3400.38 ms │     no change │
│ QQuery 34 │ 3408.25 ms │                3413.68 ms │     no change │
│ QQuery 35 │ 2420.03 ms │                2440.91 ms │     no change │
│ QQuery 36 │  141.28 ms │                 141.38 ms │     no change │
│ QQuery 37 │  134.30 ms │                 134.99 ms │     no change │
│ QQuery 38 │  129.91 ms │                 128.36 ms │     no change │
│ QQuery 39 │  193.55 ms │                 172.52 ms │ +1.12x faster │
│ QQuery 40 │  116.43 ms │                 115.06 ms │     no change │
│ QQuery 41 │  114.45 ms │                 114.03 ms │     no change │
│ QQuery 42 │  117.15 ms │                 113.77 ms │     no change │
└───────────┴────────────┴───────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                        ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                        │ 85667.52ms │
│ Total Time (alamb_pushdown_by_default)   │ 82298.66ms │
│ Average Time (HEAD)                      │  1992.27ms │
│ Average Time (alamb_pushdown_by_default) │  1913.92ms │
│ Queries Faster                           │          2 │
│ Queries Slower                           │          2 │
│ Queries with No Change                   │         39 │
│ Queries with Failure                     │          0 │
└──────────────────────────────────────────┴────────────┘

Distribution per query (min / mean ±stddev / max):

Comparing HEAD and alamb_pushdown_by_default
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                  HEAD ┃             alamb_pushdown_by_default ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0  │          1.18 / 3.95 ±5.47 / 14.89 ms │          1.23 / 4.02 ±5.51 / 15.04 ms │     no change │
│ QQuery 1  │ 1869.54 / 1908.61 ±29.77 / 1956.44 ms │ 1883.01 / 1916.22 ±24.90 / 1938.90 ms │     no change │
│ QQuery 2  │ 2162.51 / 2224.95 ±43.51 / 2265.77 ms │ 2158.29 / 2217.65 ±34.82 / 2264.20 ms │     no change │
│ QQuery 3  │ 2163.38 / 2205.32 ±37.18 / 2266.09 ms │ 2166.80 / 2238.39 ±49.98 / 2297.71 ms │     no change │
│ QQuery 4  │ 2277.90 / 2336.19 ±47.76 / 2419.32 ms │ 2278.54 / 2361.68 ±57.30 / 2427.97 ms │     no change │
│ QQuery 5  │ 2351.24 / 2431.92 ±58.91 / 2515.41 ms │ 2361.04 / 2421.91 ±59.41 / 2534.60 ms │     no change │
│ QQuery 6  │           1.26 / 1.41 ±0.22 / 1.85 ms │           1.26 / 1.42 ±0.23 / 1.87 ms │     no change │
│ QQuery 7  │ 1966.55 / 2028.13 ±56.83 / 2127.67 ms │ 1930.10 / 1969.18 ±45.12 / 2029.99 ms │     no change │
│ QQuery 8  │ 2369.52 / 2421.98 ±37.26 / 2476.91 ms │ 2405.99 / 2444.56 ±42.37 / 2520.08 ms │     no change │
│ QQuery 9  │ 2625.43 / 2701.34 ±61.94 / 2799.96 ms │ 2581.00 / 2635.89 ±40.80 / 2707.30 ms │     no change │
│ QQuery 10 │ 2195.80 / 2245.17 ±32.61 / 2284.62 ms │ 2209.39 / 2280.57 ±56.57 / 2361.97 ms │     no change │
│ QQuery 11 │ 2237.78 / 2315.22 ±65.76 / 2386.97 ms │ 2219.62 / 2257.88 ±22.05 / 2282.44 ms │     no change │
│ QQuery 12 │ 2357.85 / 2424.76 ±57.79 / 2497.91 ms │ 2410.90 / 2463.31 ±55.35 / 2555.90 ms │     no change │
│ QQuery 13 │ 2434.23 / 2509.80 ±56.73 / 2574.50 ms │ 2433.97 / 2532.15 ±75.49 / 2657.25 ms │     no change │
│ QQuery 14 │ 2357.92 / 2451.53 ±80.39 / 2544.66 ms │ 2394.84 / 2431.93 ±30.89 / 2471.24 ms │     no change │
│ QQuery 15 │ 2344.58 / 2413.94 ±40.57 / 2468.65 ms │ 2440.35 / 2494.97 ±55.08 / 2594.96 ms │     no change │
│ QQuery 16 │ 2593.50 / 2651.42 ±55.29 / 2755.42 ms │ 2646.62 / 2699.52 ±47.13 / 2788.11 ms │     no change │
│ QQuery 17 │ 2618.66 / 2710.16 ±70.93 / 2807.09 ms │ 2658.45 / 2719.69 ±61.07 / 2813.57 ms │     no change │
│ QQuery 18 │ 3166.59 / 3201.86 ±58.19 / 3317.46 ms │ 3098.94 / 3137.99 ±23.90 / 3167.04 ms │     no change │
│ QQuery 19 │ 1745.20 / 1803.34 ±61.24 / 1919.29 ms │ 1759.89 / 1873.80 ±62.53 / 1949.80 ms │     no change │
│ QQuery 20 │ 2626.97 / 2677.43 ±33.34 / 2723.74 ms │ 2606.88 / 2668.82 ±52.99 / 2757.03 ms │     no change │
│ QQuery 21 │ 2636.25 / 2668.41 ±41.64 / 2749.04 ms │ 2634.29 / 2700.69 ±50.97 / 2788.29 ms │     no change │
│ QQuery 22 │ 3065.06 / 3103.06 ±31.84 / 3160.03 ms │ 3043.38 / 3127.22 ±51.44 / 3202.62 ms │     no change │
│ QQuery 23 │ 4824.21 / 4976.96 ±90.85 / 5092.80 ms │    835.94 / 908.77 ±51.17 / 984.93 ms │ +5.48x faster │
│ QQuery 24 │    488.74 / 501.30 ±13.19 / 526.33 ms │    725.75 / 782.39 ±61.12 / 882.70 ms │  1.56x slower │
│ QQuery 25 │ 2233.05 / 2296.48 ±64.02 / 2418.66 ms │ 2292.26 / 2368.85 ±60.50 / 2457.84 ms │     no change │
│ QQuery 26 │    488.00 / 552.96 ±53.46 / 640.64 ms │   632.58 / 735.84 ±100.95 / 885.74 ms │  1.33x slower │
│ QQuery 27 │ 2659.03 / 2754.80 ±58.64 / 2823.95 ms │ 2678.83 / 2764.79 ±61.55 / 2870.56 ms │     no change │
│ QQuery 28 │ 4987.28 / 5078.21 ±89.80 / 5238.11 ms │ 4995.28 / 5113.44 ±89.83 / 5226.04 ms │     no change │
│ QQuery 29 │ 2260.85 / 2285.54 ±22.41 / 2327.71 ms │ 2189.80 / 2275.91 ±64.11 / 2343.42 ms │     no change │
│ QQuery 30 │ 2499.95 / 2568.52 ±68.68 / 2684.64 ms │ 2470.01 / 2544.62 ±64.65 / 2621.42 ms │     no change │
│ QQuery 31 │ 2383.65 / 2433.99 ±44.16 / 2496.85 ms │ 2477.83 / 2509.72 ±32.33 / 2560.34 ms │     no change │
│ QQuery 32 │ 2477.18 / 2569.77 ±66.10 / 2648.12 ms │ 2500.50 / 2586.27 ±60.33 / 2668.36 ms │     no change │
│ QQuery 33 │ 3421.34 / 3444.36 ±28.79 / 3497.41 ms │ 3400.38 / 3465.95 ±59.49 / 3566.06 ms │     no change │
│ QQuery 34 │ 3408.25 / 3459.52 ±51.16 / 3551.45 ms │ 3413.68 / 3497.20 ±61.09 / 3578.90 ms │     no change │
│ QQuery 35 │ 2420.03 / 2466.21 ±43.88 / 2534.53 ms │ 2440.91 / 2497.37 ±30.65 / 2530.93 ms │     no change │
│ QQuery 36 │    141.28 / 219.94 ±42.51 / 256.51 ms │    141.38 / 238.25 ±73.11 / 367.14 ms │  1.08x slower │
│ QQuery 37 │    134.30 / 190.86 ±36.44 / 236.73 ms │    134.99 / 192.96 ±39.36 / 240.63 ms │     no change │
│ QQuery 38 │    129.91 / 191.31 ±36.90 / 231.88 ms │    128.36 / 190.40 ±37.23 / 231.01 ms │     no change │
│ QQuery 39 │    193.55 / 280.50 ±50.59 / 346.99 ms │    172.52 / 268.12 ±51.81 / 314.78 ms │     no change │
│ QQuery 40 │    116.43 / 174.71 ±37.90 / 221.06 ms │    115.06 / 169.23 ±37.24 / 221.25 ms │     no change │
│ QQuery 41 │    114.45 / 173.64 ±36.73 / 214.91 ms │    114.03 / 194.30 ±61.20 / 295.48 ms │  1.12x slower │
│ QQuery 42 │    117.15 / 188.17 ±62.24 / 295.43 ms │    113.77 / 167.22 ±35.69 / 214.84 ms │ +1.13x faster │
└───────────┴───────────────────────────────────────┴───────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                        ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                        │ 88247.63ms │
│ Total Time (alamb_pushdown_by_default)   │ 85071.00ms │
│ Average Time (HEAD)                      │  2052.27ms │
│ Average Time (alamb_pushdown_by_default) │  1978.40ms │
│ Queries Faster                           │          2 │
│ Queries Slower                           │          4 │
│ Queries with No Change                   │         37 │
│ Queries with Failure                     │          0 │
└──────────────────────────────────────────┴────────────┘

Resource Usage

clickbench_partitioned — base (merge-base)

Metric Value
Wall time 445.1s
Peak memory 9.0 GiB
Avg memory 1.8 GiB
CPU user 974.8s
CPU sys 109.7s
Peak spill 0 B

clickbench_partitioned — branch

Metric Value
Wall time 430.1s
Peak memory 9.3 GiB
Avg memory 1.8 GiB
CPU user 830.7s
CPU sys 95.0s
Peak spill 0 B

File an issue against this benchmark runner

@github-actions

Copy link
Copy Markdown

Thank you for opening this pull request!

Reviewer note: cargo-semver-checks reported the current version number is not SemVer-compatible with the changes in this pull request (compared against the base branch).

Details
     Cloning apache/main
    Building datafusion v55.0.0 (current)
       Built [  60.408s] (current)
     Parsing datafusion v55.0.0 (current)
      Parsed [   0.036s] (current)
    Building datafusion v55.0.0 (baseline)
       Built [  60.345s] (baseline)
     Parsing datafusion v55.0.0 (baseline)
      Parsed [   0.036s] (baseline)
    Checking datafusion v55.0.0 -> v55.0.0 (no change; assume patch)
     Checked [   0.628s] 223 checks: 223 pass, 31 skip
     Summary no semver update required
    Finished [ 124.008s] datafusion
    Building datafusion-common v55.0.0 (current)
       Built [  35.643s] (current)
     Parsing datafusion-common v55.0.0 (current)
      Parsed [   0.063s] (current)
    Building datafusion-common v55.0.0 (baseline)
       Built [  35.171s] (baseline)
     Parsing datafusion-common v55.0.0 (baseline)
      Parsed [   0.063s] (baseline)
    Checking datafusion-common v55.0.0 -> v55.0.0 (no change; assume patch)
     Checked [   0.688s] 223 checks: 222 pass, 1 fail, 0 warn, 31 skip

--- failure constructible_struct_adds_field: struct exhaustively constructible through public API adds field ---

Description:
A pub struct that could be exhaustively constructed with a literal using only public API has a new pub field, breaking existing exhaustive literals.
        ref: https://doc.rust-lang.org/reference/expressions/struct-expr.html
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.50.0/src/lints/constructible_struct_adds_field.ron

Failed in:
  field ParquetOptions.pushdown_filter_mode in /home/runner/work/datafusion/datafusion/datafusion/common/src/config.rs:1348
  field ParquetOptions.progressive_io in /home/runner/work/datafusion/datafusion/datafusion/common/src/config.rs:1348

     Summary semver requires new major version: 1 major and 0 minor checks failed
    Finished [  72.783s] datafusion-common
    Building datafusion-datasource-parquet v55.0.0 (current)
       Built [  50.888s] (current)
     Parsing datafusion-datasource-parquet v55.0.0 (current)
      Parsed [   0.033s] (current)
    Building datafusion-datasource-parquet v55.0.0 (baseline)
       Built [  50.412s] (baseline)
     Parsing datafusion-datasource-parquet v55.0.0 (baseline)
      Parsed [   0.036s] (baseline)
    Checking datafusion-datasource-parquet v55.0.0 -> v55.0.0 (no change; assume patch)
     Checked [   0.155s] 223 checks: 223 pass, 31 skip
     Summary no semver update required
    Finished [ 102.608s] datafusion-datasource-parquet
    Building datafusion-proto-common v55.0.0 (current)
       Built [  23.252s] (current)
     Parsing datafusion-proto-common v55.0.0 (current)
      Parsed [   0.046s] (current)
    Building datafusion-proto-common v55.0.0 (baseline)
       Built [  23.288s] (baseline)
     Parsing datafusion-proto-common v55.0.0 (baseline)
      Parsed [   0.051s] (baseline)
    Checking datafusion-proto-common v55.0.0 -> v55.0.0 (no change; assume patch)
     Checked [   1.071s] 223 checks: 222 pass, 1 fail, 0 warn, 31 skip

--- failure constructible_struct_adds_field: struct exhaustively constructible through public API adds field ---

Description:
A pub struct that could be exhaustively constructed with a literal using only public API has a new pub field, breaking existing exhaustive literals.
        ref: https://doc.rust-lang.org/reference/expressions/struct-expr.html
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.50.0/src/lints/constructible_struct_adds_field.ron

Failed in:
  field ParquetOptions.pushdown_filter_mode in /home/runner/work/datafusion/datafusion/datafusion/proto-common/src/generated/prost.rs:819
  field ParquetOptions.progressive_io in /home/runner/work/datafusion/datafusion/datafusion/proto-common/src/generated/prost.rs:828
  field ParquetOptions.pushdown_filter_mode in /home/runner/work/datafusion/datafusion/datafusion/proto-common/src/generated/prost.rs:819
  field ParquetOptions.progressive_io in /home/runner/work/datafusion/datafusion/datafusion/proto-common/src/generated/prost.rs:828
  field ParquetOptions.pushdown_filter_mode in /home/runner/work/datafusion/datafusion/datafusion/proto-common/src/generated/prost.rs:819
  field ParquetOptions.progressive_io in /home/runner/work/datafusion/datafusion/datafusion/proto-common/src/generated/prost.rs:828

     Summary semver requires new major version: 1 major and 0 minor checks failed
    Finished [  48.782s] datafusion-proto-common
    Building datafusion-proto-models v55.0.0 (current)
       Built [  26.330s] (current)
     Parsing datafusion-proto-models v55.0.0 (current)
      Parsed [   0.130s] (current)
    Building datafusion-proto-models v55.0.0 (baseline)
       Built [  25.779s] (baseline)
     Parsing datafusion-proto-models v55.0.0 (baseline)
      Parsed [   0.131s] (baseline)
    Checking datafusion-proto-models v55.0.0 -> v55.0.0 (no change; assume patch)
     Checked [   1.827s] 223 checks: 222 pass, 1 fail, 0 warn, 31 skip

--- failure constructible_struct_adds_field: struct exhaustively constructible through public API adds field ---

Description:
A pub struct that could be exhaustively constructed with a literal using only public API has a new pub field, breaking existing exhaustive literals.
        ref: https://doc.rust-lang.org/reference/expressions/struct-expr.html
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.50.0/src/lints/constructible_struct_adds_field.ron

Failed in:
  field ParquetOptions.pushdown_filter_mode in /home/runner/work/datafusion/datafusion/datafusion/proto-models/src/generated/datafusion_proto_common.rs:819
  field ParquetOptions.progressive_io in /home/runner/work/datafusion/datafusion/datafusion/proto-models/src/generated/datafusion_proto_common.rs:828
  field ParquetOptions.pushdown_filter_mode in /home/runner/work/datafusion/datafusion/datafusion/proto-models/src/generated/datafusion_proto_common.rs:819
  field ParquetOptions.progressive_io in /home/runner/work/datafusion/datafusion/datafusion/proto-models/src/generated/datafusion_proto_common.rs:828

     Summary semver requires new major version: 1 major and 0 minor checks failed
    Finished [  55.286s] datafusion-proto-models
    Building datafusion-sqllogictest v55.0.0 (current)
       Built [ 103.047s] (current)
     Parsing datafusion-sqllogictest v55.0.0 (current)
      Parsed [   0.021s] (current)
    Building datafusion-sqllogictest v55.0.0 (baseline)
       Built [ 103.276s] (baseline)
     Parsing datafusion-sqllogictest v55.0.0 (baseline)
      Parsed [   0.022s] (baseline)
    Checking datafusion-sqllogictest v55.0.0 -> v55.0.0 (no change; assume patch)
     Checked [   0.095s] 223 checks: 223 pass, 31 skip
     Summary no semver update required
    Finished [ 209.280s] datafusion-sqllogictest

@alamb

alamb commented Aug 27, 2026

Copy link
Copy Markdown
Contributor Author

Local Q25 results

I ran five --profile=profiling builds of datafusion-cli (one per combination in #24426 (comment)),

Q25:

SELECT "SearchPhrase" FROM hits WHERE "SearchPhrase" <> '' ORDER BY "SearchPhrase" LIMIT 10;
Combination min ms avg ms vs main
1. main (merge-base a38bb10) 81.0 84.2 1.00x
2. + progressive_io, pushdown_filters on 105.0 108.4 1.29x
3. + reorder_filters on 102.0 106.6 1.27x
4. + gate from #23420 110.0 113.1 1.34x
5. + arrow-rs#10852 (via arrow-rs#10885 pin) 97.0 101.9 1.21x

So the conclusion is that the pr from @hhhizzz makes a diffrence:

@alamb

alamb commented Aug 27, 2026

Copy link
Copy Markdown
Contributor Author

I reran the results and 10852 is looking good

  ┌──────────────────────────────┬───────┬───────┬─────────┐
  │         Combination          │  min  │  avg  │ vs main │
  ├──────────────────────────────┼───────┼───────┼─────────┤
  │ 1. main                      │ 81.0  │ 86.1  │ 1.00×   │
  ├──────────────────────────────┼───────┼───────┼─────────┤
  │ 2. + progressive_io/pushdown │ 104.0 │ 108.5 │ 1.26×   │
  ├──────────────────────────────┼───────┼───────┼─────────┤
  │ 3. + reorder_filters         │ 104.0 │ 106.7 │ 1.24×   │
  ├──────────────────────────────┼───────┼───────┼─────────┤
  │ 4. + gate                    │ 109.0 │ 112.2 │ 1.30×   │
  ├──────────────────────────────┼───────┼───────┼─────────┤
  │ 5. gate + #10852             │ 97.0  │ 104.6 │ 1.21×   │
  ├──────────────────────────────┼───────┼───────┼─────────┤
  │ 6. no gate + #10852          │ 94.0  │ 100.3 │ 1.16×   │
  └──────────────────────────────┴───────┴───────┴─────────┘

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

Labels

auto detected api change Auto detected API change common Related to common crate core Core DataFusion crate datasource Changes to the datasource crate documentation Improvements or additions to documentation proto Related to proto crate sqllogictest SQL Logic Tests (.slt)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants