Skip to content

[bench] combine apache#24086 (read-ahead) + apache#25752 (optional filters) - #17

Draft
adriangb wants to merge 66 commits into
combine-24086-25752-basefrom
combine-24086-25752
Draft

adriangb wants to merge 66 commits into
combine-24086-25752-basefrom
combine-24086-25752

Conversation

@adriangb

Copy link
Copy Markdown
Owner

Combines apache#24086 (batch-granular Parquet scans with read_ahead_bytes) and apache#25752 (optional filters stack) for benchmarking. Do not merge.

The merge resolves conflicts in datafusion/datasource-parquet/src/push_decoder.rs: the read-ahead path (transition_streaming) and the default path share the post-scan filter, coalescer, limit and row group boundary logic (pending_output, push_decoded_batch, handle_row_group_boundary).

Local checks: datafusion-datasource-parquet unit tests pass, parquet sqllogictests pass, and the full sqllogictest suite with read_ahead_bytes forced to 64 KiB returns the same query results (only predicate cache metrics differ).

🤖 Generated with Claude Code

@adriangb

Copy link
Copy Markdown
Owner Author

run benchmark tpch tpcds clickbench_partitioned

env:
  DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "true"
  SIMULATE_LATENCY: "true"
changed:
  env:
    DATAFUSION_EXECUTION_PARQUET_READ_AHEAD_BYTES: "104857600"

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c5900828450-2929-c25x9 6.12.94+ #1 SMP Wed Aug 19 07:47:20 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 combine-24086-25752 (07caaa3) to 1ae6b87 (merge-base) diff

Run configuration
run benchmark clickbench_partitioned
env:
  DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "true"
  SIMULATE_LATENCY: "true"
changed:
  env:
    DATAFUSION_EXECUTION_PARQUET_READ_AHEAD_BYTES: "104857600"

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 combine-24086-25752 (07caaa3) to 1ae6b87 (merge-base) diff

Run configuration
run benchmark clickbench_partitioned
env:
  DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "true"
  SIMULATE_LATENCY: "true"
changed:
  env:
    DATAFUSION_EXECUTION_PARQUET_READ_AHEAD_BYTES: "104857600"
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 combine-24086-25752
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┓
┃ Query     ┃       HEAD ┃ combine-24086-25752 ┃         Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━┩
│ QQuery 0  │    1.28 ms │             1.26 ms │      no change │
│ QQuery 1  │ 1874.03 ms │           716.90 ms │  +2.61x faster │
│ QQuery 2  │ 2141.35 ms │           774.28 ms │  +2.77x faster │
│ QQuery 3  │ 2133.59 ms │           725.89 ms │  +2.94x faster │
│ QQuery 4  │ 2303.42 ms │           913.82 ms │  +2.52x faster │
│ QQuery 5  │ 2357.34 ms │           937.22 ms │  +2.52x faster │
│ QQuery 6  │    1.33 ms │             1.30 ms │      no change │
│ QQuery 7  │ 1948.10 ms │           691.49 ms │  +2.82x faster │
│ QQuery 8  │ 2458.92 ms │           955.78 ms │  +2.57x faster │
│ QQuery 9  │ 2626.64 ms │          1138.75 ms │  +2.31x faster │
│ QQuery 10 │ 4350.99 ms │           749.23 ms │  +5.81x faster │
│ QQuery 11 │ 4354.30 ms │           725.14 ms │  +6.00x faster │
│ QQuery 12 │ 2370.46 ms │           918.53 ms │  +2.58x faster │
│ QQuery 13 │ 4558.49 ms │           941.62 ms │  +4.84x faster │
│ QQuery 14 │ 4473.44 ms │           920.81 ms │  +4.86x faster │
│ QQuery 15 │ 2354.84 ms │           885.07 ms │  +2.66x faster │
│ QQuery 16 │ 2626.95 ms │          1296.32 ms │  +2.03x faster │
│ QQuery 17 │ 2624.83 ms │          1217.73 ms │  +2.16x faster │
│ QQuery 18 │ 3172.83 ms │          1839.15 ms │  +1.73x faster │
│ QQuery 19 │ 1769.56 ms │           682.48 ms │  +2.59x faster │
│ QQuery 20 │ 2620.83 ms │          1244.95 ms │  +2.11x faster │
│ QQuery 21 │ 4897.12 ms │          1165.01 ms │  +4.20x faster │
│ QQuery 22 │ 8231.00 ms │          1681.82 ms │  +4.89x faster │
│ QQuery 23 │ 1061.66 ms │           689.09 ms │  +1.54x faster │
│ QQuery 24 │  736.75 ms │           185.44 ms │  +3.97x faster │
│ QQuery 25 │ 2283.31 ms │           811.89 ms │  +2.81x faster │
│ QQuery 26 │  751.99 ms │           252.41 ms │  +2.98x faster │
│ QQuery 27 │ 4641.02 ms │          1196.89 ms │  +3.88x faster │
│ QQuery 28 │ 4963.67 ms │          3546.17 ms │  +1.40x faster │
│ QQuery 29 │ 2201.88 ms │           712.94 ms │  +3.09x faster │
│ QQuery 30 │ 4602.61 ms │           964.24 ms │  +4.77x faster │
│ QQuery 31 │ 4475.67 ms │           962.56 ms │  +4.65x faster │
│ QQuery 32 │ 2574.05 ms │          1158.93 ms │  +2.22x faster │
│ QQuery 33 │ 3381.36 ms │          2058.70 ms │  +1.64x faster │
│ QQuery 34 │ 3397.58 ms │          2051.80 ms │  +1.66x faster │
│ QQuery 35 │ 2347.79 ms │           888.11 ms │  +2.64x faster │
│ QQuery 36 │  692.53 ms │           104.10 ms │  +6.65x faster │
│ QQuery 37 │  701.51 ms │            73.64 ms │  +9.53x faster │
│ QQuery 38 │  771.34 ms │            75.65 ms │ +10.20x faster │
│ QQuery 39 │  561.12 ms │           191.03 ms │  +2.94x faster │
│ QQuery 40 │  845.49 ms │            51.08 ms │ +16.55x faster │
│ QQuery 41 │  818.17 ms │           111.81 ms │  +7.32x faster │
│ QQuery 42 │  585.07 ms │            44.90 ms │ +13.03x faster │
└───────────┴────────────┴─────────────────────┴────────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┓
┃ Benchmark Summary                  ┃             ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━┩
│ Total Time (HEAD)                  │ 108646.23ms │
│ Total Time (combine-24086-25752)   │  37255.94ms │
│ Average Time (HEAD)                │   2526.66ms │
│ Average Time (combine-24086-25752) │    866.42ms │
│ Queries Faster                     │          41 │
│ Queries Slower                     │           0 │
│ Queries with No Change             │           2 │
│ Queries with Failure               │           0 │
└────────────────────────────────────┴─────────────┘

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

Comparing HEAD and combine-24086-25752
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                   HEAD ┃                   combine-24086-25752 ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0  │           1.28 / 4.09 ±5.54 / 15.18 ms │          1.26 / 4.09 ±5.58 / 15.25 ms │     no change │
│ QQuery 1  │  1874.03 / 1928.68 ±51.34 / 2017.20 ms │    716.90 / 765.16 ±31.39 / 801.13 ms │ +2.52x faster │
│ QQuery 2  │  2141.35 / 2236.28 ±64.12 / 2336.51 ms │    774.28 / 823.55 ±59.75 / 927.65 ms │ +2.72x faster │
│ QQuery 3  │  2133.59 / 2212.91 ±43.76 / 2262.25 ms │    725.89 / 807.37 ±67.15 / 897.57 ms │ +2.74x faster │
│ QQuery 4  │  2303.42 / 2376.08 ±63.14 / 2464.94 ms │    913.82 / 949.78 ±26.79 / 992.80 ms │ +2.50x faster │
│ QQuery 5  │  2357.34 / 2418.75 ±41.88 / 2484.20 ms │  937.22 / 1012.05 ±55.72 / 1074.33 ms │ +2.39x faster │
│ QQuery 6  │            1.33 / 1.50 ±0.25 / 1.99 ms │           1.30 / 1.46 ±0.25 / 1.94 ms │     no change │
│ QQuery 7  │  1948.10 / 2006.03 ±44.59 / 2073.02 ms │    691.49 / 761.53 ±42.09 / 796.88 ms │ +2.63x faster │
│ QQuery 8  │   2458.92 / 2469.20 ±8.10 / 2483.40 ms │  955.78 / 1004.12 ±40.63 / 1053.04 ms │ +2.46x faster │
│ QQuery 9  │  2626.64 / 2641.41 ±16.96 / 2671.51 ms │ 1138.75 / 1264.86 ±91.64 / 1422.62 ms │ +2.09x faster │
│ QQuery 10 │  4350.99 / 4454.60 ±79.81 / 4533.28 ms │    749.23 / 800.13 ±36.64 / 850.34 ms │ +5.57x faster │
│ QQuery 11 │  4354.30 / 4460.31 ±63.11 / 4552.11 ms │    725.14 / 800.79 ±55.43 / 886.07 ms │ +5.57x faster │
│ QQuery 12 │  2370.46 / 2473.23 ±63.46 / 2564.51 ms │   918.53 / 983.95 ±40.65 / 1027.88 ms │ +2.51x faster │
│ QQuery 13 │  4558.49 / 4662.78 ±87.97 / 4787.51 ms │  941.62 / 1045.03 ±53.68 / 1097.68 ms │ +4.46x faster │
│ QQuery 14 │ 4473.44 / 4624.92 ±112.61 / 4801.92 ms │   920.81 / 981.31 ±35.84 / 1031.08 ms │ +4.71x faster │
│ QQuery 15 │  2354.84 / 2461.57 ±60.14 / 2531.55 ms │   885.07 / 978.52 ±52.76 / 1046.87 ms │ +2.52x faster │
│ QQuery 16 │  2626.95 / 2694.61 ±60.11 / 2781.29 ms │ 1296.32 / 1333.97 ±23.35 / 1365.49 ms │ +2.02x faster │
│ QQuery 17 │  2624.83 / 2695.97 ±61.15 / 2793.42 ms │ 1217.73 / 1280.51 ±65.61 / 1387.58 ms │ +2.11x faster │
│ QQuery 18 │  3172.83 / 3203.45 ±24.67 / 3238.41 ms │ 1839.15 / 1877.98 ±32.45 / 1919.36 ms │ +1.71x faster │
│ QQuery 19 │  1769.56 / 1834.79 ±59.23 / 1943.54 ms │    682.48 / 764.48 ±63.09 / 829.72 ms │ +2.40x faster │
│ QQuery 20 │  2620.83 / 2688.76 ±69.91 / 2813.80 ms │ 1244.95 / 1277.27 ±19.21 / 1301.36 ms │ +2.11x faster │
│ QQuery 21 │  4897.12 / 4986.99 ±76.74 / 5092.64 ms │ 1165.01 / 1234.65 ±50.88 / 1317.10 ms │ +4.04x faster │
│ QQuery 22 │ 8231.00 / 8413.87 ±119.39 / 8526.22 ms │ 1681.82 / 1731.75 ±31.50 / 1767.27 ms │ +4.86x faster │
│ QQuery 23 │  1061.66 / 1121.94 ±43.69 / 1190.95 ms │    689.09 / 789.73 ±71.16 / 888.87 ms │ +1.42x faster │
│ QQuery 24 │     736.75 / 816.11 ±56.33 / 901.10 ms │    185.44 / 279.77 ±52.05 / 331.98 ms │ +2.92x faster │
│ QQuery 25 │  2283.31 / 2398.16 ±78.97 / 2513.75 ms │    811.89 / 872.04 ±37.08 / 926.46 ms │ +2.75x faster │
│ QQuery 26 │     751.99 / 845.67 ±88.46 / 997.80 ms │    252.41 / 290.67 ±31.59 / 343.38 ms │ +2.91x faster │
│ QQuery 27 │  4641.02 / 4668.31 ±16.18 / 4688.34 ms │ 1196.89 / 1264.86 ±44.57 / 1305.84 ms │ +3.69x faster │
│ QQuery 28 │  4963.67 / 5068.71 ±80.88 / 5197.94 ms │ 3546.17 / 3597.80 ±58.81 / 3695.58 ms │ +1.41x faster │
│ QQuery 29 │  2201.88 / 2271.55 ±44.68 / 2317.76 ms │    712.94 / 781.29 ±36.62 / 823.61 ms │ +2.91x faster │
│ QQuery 30 │  4602.61 / 4696.81 ±72.81 / 4805.28 ms │  964.24 / 1034.10 ±49.88 / 1095.03 ms │ +4.54x faster │
│ QQuery 31 │  4475.67 / 4591.06 ±76.48 / 4703.67 ms │  962.56 / 1017.89 ±45.87 / 1069.09 ms │ +4.51x faster │
│ QQuery 32 │  2574.05 / 2662.32 ±73.64 / 2794.41 ms │ 1158.93 / 1244.15 ±57.11 / 1311.61 ms │ +2.14x faster │
│ QQuery 33 │  3381.36 / 3423.65 ±26.53 / 3456.33 ms │ 2058.70 / 2158.62 ±73.52 / 2252.64 ms │ +1.59x faster │
│ QQuery 34 │  3397.58 / 3477.76 ±48.52 / 3525.22 ms │ 2051.80 / 2135.55 ±58.27 / 2224.20 ms │ +1.63x faster │
│ QQuery 35 │ 2347.79 / 2454.17 ±109.46 / 2640.33 ms │   888.11 / 978.18 ±85.97 / 1090.68 ms │ +2.51x faster │
│ QQuery 36 │     692.53 / 770.17 ±48.41 / 822.40 ms │    104.10 / 209.60 ±63.43 / 279.14 ms │ +3.67x faster │
│ QQuery 37 │     701.51 / 790.86 ±83.88 / 925.32 ms │     73.64 / 130.05 ±48.13 / 214.31 ms │ +6.08x faster │
│ QQuery 38 │    771.34 / 854.57 ±97.05 / 1040.83 ms │     75.65 / 184.14 ±60.53 / 242.31 ms │ +4.64x faster │
│ QQuery 39 │     561.12 / 668.62 ±76.03 / 758.70 ms │    191.03 / 248.18 ±58.54 / 349.69 ms │ +2.69x faster │
│ QQuery 40 │     845.49 / 905.68 ±54.18 / 977.22 ms │     51.08 / 137.92 ±44.53 / 169.87 ms │ +6.57x faster │
│ QQuery 41 │     818.17 / 897.34 ±43.78 / 939.58 ms │    111.81 / 151.06 ±40.67 / 222.24 ms │ +5.94x faster │
│ QQuery 42 │     585.07 / 740.27 ±99.29 / 857.65 ms │      44.90 / 82.17 ±29.41 / 114.75 ms │ +9.01x faster │
└───────────┴────────────────────────────────────────┴───────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┓
┃ Benchmark Summary                  ┃             ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━┩
│ Total Time (HEAD)                  │ 112074.52ms │
│ Total Time (combine-24086-25752)   │  40072.08ms │
│ Average Time (HEAD)                │   2606.38ms │
│ Average Time (combine-24086-25752) │    931.91ms │
│ Queries Faster                     │          41 │
│ Queries Slower                     │           0 │
│ Queries with No Change             │           2 │
│ Queries with Failure               │           0 │
└────────────────────────────────────┴─────────────┘

Resource Usage

clickbench_partitioned — base (merge-base)

Metric Value
Wall time 565.1s
Peak memory 9.5 GiB
Avg memory 1.7 GiB
CPU user 841.9s
CPU sys 114.1s
Peak spill 0 B

clickbench_partitioned — branch

Metric Value
Wall time 205.0s
Peak memory 10.3 GiB
Avg memory 2.5 GiB
CPU user 847.5s
CPU sys 80.6s
Peak spill 0 B

File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c5900828450-2927-6fmgl 6.12.94+ #1 SMP Wed Aug 19 07:47:20 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 combine-24086-25752 (07caaa3) to 1ae6b87 (merge-base) diff

Run configuration
run benchmark tpch
env:
  DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "true"
  SIMULATE_LATENCY: "true"
changed:
  env:
    DATAFUSION_EXECUTION_PARQUET_READ_AHEAD_BYTES: "104857600"

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 combine-24086-25752 (07caaa3) to 1ae6b87 (merge-base) diff

Run configuration
run benchmark tpch
env:
  DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "true"
  SIMULATE_LATENCY: "true"
changed:
  env:
    DATAFUSION_EXECUTION_PARQUET_READ_AHEAD_BYTES: "104857600"
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 combine-24086-25752
--------------------
Benchmark tpch_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┓
┃ Query     ┃       HEAD ┃ combine-24086-25752 ┃         Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━┩
│ QQuery 1  │ 1010.67 ms │           150.86 ms │  +6.70x faster │
│ QQuery 2  │ 1921.49 ms │           667.81 ms │  +2.88x faster │
│ QQuery 3  │ 2215.09 ms │           437.04 ms │  +5.07x faster │
│ QQuery 4  │ 1244.52 ms │           366.17 ms │  +3.40x faster │
│ QQuery 5  │ 2099.83 ms │           422.90 ms │  +4.97x faster │
│ QQuery 6  │ 1761.09 ms │           122.45 ms │ +14.38x faster │
│ QQuery 7  │ 2706.73 ms │           527.90 ms │  +5.13x faster │
│ QQuery 8  │ 3012.91 ms │           608.18 ms │  +4.95x faster │
│ QQuery 9  │ 2396.55 ms │           626.68 ms │  +3.82x faster │
│ QQuery 10 │ 2202.68 ms │           498.97 ms │  +4.41x faster │
│ QQuery 11 │ 1364.64 ms │           508.52 ms │  +2.68x faster │
│ QQuery 12 │ 2035.37 ms │           256.44 ms │  +7.94x faster │
│ QQuery 13 │  657.74 ms │           206.09 ms │  +3.19x faster │
│ QQuery 14 │ 1080.34 ms │           198.51 ms │  +5.44x faster │
│ QQuery 15 │ 2400.85 ms │           361.60 ms │  +6.64x faster │
│ QQuery 16 │  709.74 ms │           224.39 ms │  +3.16x faster │
│ QQuery 17 │ 2224.22 ms │           386.26 ms │  +5.76x faster │
│ QQuery 18 │ 2278.82 ms │           607.79 ms │  +3.75x faster │
│ QQuery 19 │ 2275.68 ms │           192.46 ms │ +11.82x faster │
│ QQuery 20 │ 2309.56 ms │           386.15 ms │  +5.98x faster │
│ QQuery 21 │ 4621.69 ms │           751.28 ms │  +6.15x faster │
│ QQuery 22 │  702.88 ms │           332.75 ms │  +2.11x faster │
└───────────┴────────────┴─────────────────────┴────────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                  ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                  │ 43233.09ms │
│ Total Time (combine-24086-25752)   │  8841.21ms │
│ Average Time (HEAD)                │  1965.14ms │
│ Average Time (combine-24086-25752) │   401.87ms │
│ Queries Faster                     │         22 │
│ Queries Slower                     │          0 │
│ Queries with No Change             │          0 │
│ Queries with Failure               │          0 │
└────────────────────────────────────┴────────────┘

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

Comparing HEAD and combine-24086-25752
--------------------
Benchmark tpch_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                   HEAD ┃                  combine-24086-25752 ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │  1010.67 / 1068.12 ±45.47 / 1122.34 ms │   150.86 / 202.98 ±34.63 / 235.97 ms │ +5.26x faster │
│ QQuery 2  │ 1921.49 / 2087.61 ±119.63 / 2281.90 ms │ 667.81 / 851.59 ±139.83 / 1036.13 ms │ +2.45x faster │
│ QQuery 3  │ 2215.09 / 2417.55 ±166.70 / 2699.24 ms │   437.04 / 505.96 ±53.82 / 586.22 ms │ +4.78x faster │
│ QQuery 4  │  1244.52 / 1363.12 ±69.21 / 1439.69 ms │   366.17 / 403.77 ±20.71 / 420.32 ms │ +3.38x faster │
│ QQuery 5  │ 2099.83 / 2226.22 ±120.59 / 2455.50 ms │   422.90 / 507.47 ±62.11 / 609.17 ms │ +4.39x faster │
│ QQuery 6  │  1761.09 / 1833.83 ±79.04 / 1983.70 ms │   122.45 / 186.67 ±33.49 / 214.80 ms │ +9.82x faster │
│ QQuery 7  │ 2706.73 / 2899.76 ±165.12 / 3201.59 ms │   527.90 / 613.48 ±61.06 / 695.24 ms │ +4.73x faster │
│ QQuery 8  │ 3012.91 / 3158.79 ±193.96 / 3540.25 ms │   608.18 / 687.30 ±61.00 / 772.89 ms │ +4.60x faster │
│ QQuery 9  │ 2396.55 / 2566.44 ±132.86 / 2717.63 ms │   626.68 / 754.63 ±67.08 / 816.34 ms │ +3.40x faster │
│ QQuery 10 │  2202.68 / 2309.70 ±66.38 / 2394.38 ms │   498.97 / 562.33 ±43.31 / 612.61 ms │ +4.11x faster │
│ QQuery 11 │  1364.64 / 1427.28 ±55.72 / 1495.38 ms │  508.52 / 635.40 ±108.59 / 767.86 ms │ +2.25x faster │
│ QQuery 12 │ 2035.37 / 2299.00 ±212.72 / 2486.88 ms │   256.44 / 348.90 ±49.14 / 399.93 ms │ +6.59x faster │
│ QQuery 13 │    657.74 / 799.07 ±106.33 / 953.06 ms │   206.09 / 285.09 ±53.50 / 335.09 ms │ +2.80x faster │
│ QQuery 14 │ 1080.34 / 1300.73 ±126.90 / 1426.56 ms │   198.51 / 252.46 ±46.44 / 337.24 ms │ +5.15x faster │
│ QQuery 15 │ 2400.85 / 2569.06 ±100.89 / 2694.54 ms │   361.60 / 456.30 ±82.59 / 581.77 ms │ +5.63x faster │
│ QQuery 16 │     709.74 / 746.30 ±34.41 / 797.29 ms │   224.39 / 313.86 ±50.92 / 363.76 ms │ +2.38x faster │
│ QQuery 17 │  2224.22 / 2335.03 ±69.92 / 2440.81 ms │   386.26 / 509.71 ±79.08 / 624.78 ms │ +4.58x faster │
│ QQuery 18 │  2278.82 / 2391.56 ±90.18 / 2486.39 ms │   607.79 / 691.33 ±55.93 / 753.21 ms │ +3.46x faster │
│ QQuery 19 │ 2275.68 / 2516.61 ±133.47 / 2678.50 ms │   192.46 / 338.70 ±84.17 / 433.19 ms │ +7.43x faster │
│ QQuery 20 │  2309.56 / 2406.09 ±64.48 / 2489.46 ms │   386.15 / 488.68 ±83.34 / 608.17 ms │ +4.92x faster │
│ QQuery 21 │  4621.69 / 4687.56 ±47.35 / 4768.06 ms │   751.28 / 818.31 ±42.25 / 867.70 ms │ +5.73x faster │
│ QQuery 22 │     702.88 / 783.05 ±44.27 / 831.62 ms │   332.75 / 431.11 ±78.72 / 528.51 ms │ +1.82x faster │
└───────────┴────────────────────────────────────────┴──────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                  ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                  │ 46192.49ms │
│ Total Time (combine-24086-25752)   │ 10846.00ms │
│ Average Time (HEAD)                │  2099.66ms │
│ Average Time (combine-24086-25752) │   493.00ms │
│ Queries Faster                     │         22 │
│ Queries Slower                     │          0 │
│ Queries with No Change             │          0 │
│ Queries with Failure               │          0 │
└────────────────────────────────────┴────────────┘

Resource Usage

tpch — base (merge-base)

Metric Value
Wall time 235.1s
Peak memory 633.4 MiB
Avg memory 367.4 MiB
CPU user 37.3s
CPU sys 4.4s
Peak spill 0 B

tpch — branch

Metric Value
Wall time 60.0s
Peak memory 721.0 MiB
Avg memory 443.9 MiB
CPU user 25.4s
CPU sys 2.7s
Peak spill 0 B

File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c5900828450-2928-fnk4f 6.12.94+ #1 SMP Wed Aug 19 07:47:20 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 combine-24086-25752 (07caaa3) to 1ae6b87 (merge-base) diff

Run configuration
run benchmark tpcds
env:
  DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "true"
  SIMULATE_LATENCY: "true"
changed:
  env:
    DATAFUSION_EXECUTION_PARQUET_READ_AHEAD_BYTES: "104857600"

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 combine-24086-25752 (07caaa3) to 1ae6b87 (merge-base) diff

Run configuration
run benchmark tpcds
env:
  DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "true"
  SIMULATE_LATENCY: "true"
changed:
  env:
    DATAFUSION_EXECUTION_PARQUET_READ_AHEAD_BYTES: "104857600"
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 combine-24086-25752
--------------------
Benchmark tpcds_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃       HEAD ┃ combine-24086-25752 ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │  156.81 ms │            93.53 ms │ +1.68x faster │
│ QQuery 2  │ 1211.27 ms │           537.36 ms │ +2.25x faster │
│ QQuery 3  │  703.57 ms │           289.54 ms │ +2.43x faster │
│ QQuery 4  │ 2110.12 ms │          1005.83 ms │ +2.10x faster │
│ QQuery 5  │  896.74 ms │           434.30 ms │ +2.06x faster │
│ QQuery 6  │ 1048.57 ms │           480.12 ms │ +2.18x faster │
│ QQuery 7  │ 1451.28 ms │           335.36 ms │ +4.33x faster │
│ QQuery 8  │  455.55 ms │           236.40 ms │ +1.93x faster │
│ QQuery 9  │ 1581.77 ms │          1233.48 ms │ +1.28x faster │
│ QQuery 10 │ 1570.98 ms │           438.42 ms │ +3.58x faster │
│ QQuery 11 │ 1780.78 ms │           763.45 ms │ +2.33x faster │
│ QQuery 12 │  562.94 ms │           221.56 ms │ +2.54x faster │
│ QQuery 13 │ 1605.46 ms │           574.71 ms │ +2.79x faster │
│ QQuery 14 │ 6616.05 ms │          3367.70 ms │ +1.96x faster │
│ QQuery 15 │  739.20 ms │           172.68 ms │ +4.28x faster │
│ QQuery 16 │  156.92 ms │           107.98 ms │ +1.45x faster │
│ QQuery 17 │ 1468.82 ms │           586.79 ms │ +2.50x faster │
│ QQuery 18 │ 1460.45 ms │           556.03 ms │ +2.63x faster │
│ QQuery 19 │ 1184.59 ms │           306.32 ms │ +3.87x faster │
│ QQuery 20 │  558.86 ms │           258.73 ms │ +2.16x faster │
│ QQuery 21 │  953.84 ms │           374.32 ms │ +2.55x faster │
│ QQuery 22 │  788.35 ms │           374.21 ms │ +2.11x faster │
│ QQuery 23 │ 4354.55 ms │          2099.48 ms │ +2.07x faster │
│ QQuery 24 │ 3544.66 ms │          1887.23 ms │ +1.88x faster │
│ QQuery 25 │ 1636.63 ms │           569.53 ms │ +2.87x faster │
│ QQuery 26 │ 1449.79 ms │           395.97 ms │ +3.66x faster │
│ QQuery 27 │  132.72 ms │           130.29 ms │     no change │
│ QQuery 28 │  504.23 ms │           272.99 ms │ +1.85x faster │
│ QQuery 29 │ 1657.60 ms │           656.06 ms │ +2.53x faster │
│ QQuery 30 │  985.81 ms │           479.43 ms │ +2.06x faster │
│ QQuery 31 │ 2975.23 ms │          1184.86 ms │ +2.51x faster │
│ QQuery 32 │ 1017.35 ms │           351.34 ms │ +2.90x faster │
│ QQuery 33 │ 1290.29 ms │           562.13 ms │ +2.30x faster │
│ QQuery 34 │  484.31 ms │           274.93 ms │ +1.76x faster │
│ QQuery 35 │ 1524.58 ms │           544.53 ms │ +2.80x faster │
│ QQuery 36 │  107.77 ms │            42.24 ms │ +2.55x faster │
│ QQuery 37 │  428.47 ms │           239.76 ms │ +1.79x faster │
│ QQuery 38 │ 1311.54 ms │           514.56 ms │ +2.55x faster │
│ QQuery 39 │ 3322.25 ms │          1492.05 ms │ +2.23x faster │
│ QQuery 40 │  846.52 ms │           357.32 ms │ +2.37x faster │
│ QQuery 41 │  391.46 ms │           110.05 ms │ +3.56x faster │
│ QQuery 42 │  774.25 ms │           385.89 ms │ +2.01x faster │
│ QQuery 43 │  116.36 ms │            40.94 ms │ +2.84x faster │
│ QQuery 44 │  196.18 ms │           191.33 ms │     no change │
│ QQuery 45 │ 1085.50 ms │           331.12 ms │ +3.28x faster │
│ QQuery 46 │  575.11 ms │           322.54 ms │ +1.78x faster │
│ QQuery 47 │ 2495.64 ms │          1156.71 ms │ +2.16x faster │
│ QQuery 48 │ 1473.92 ms │           396.33 ms │ +3.72x faster │
│ QQuery 49 │ 1159.40 ms │           436.16 ms │ +2.66x faster │
│ QQuery 50 │ 1055.77 ms │           558.30 ms │ +1.89x faster │
│ QQuery 51 │ 1081.54 ms │           423.25 ms │ +2.56x faster │
│ QQuery 52 │  733.23 ms │           215.36 ms │ +3.40x faster │
│ QQuery 53 │  870.82 ms │           265.32 ms │ +3.28x faster │
│ QQuery 54 │ 1381.65 ms │           729.92 ms │ +1.89x faster │
│ QQuery 55 │  773.34 ms │           223.92 ms │ +3.45x faster │
│ QQuery 56 │ 1110.18 ms │           500.82 ms │ +2.22x faster │
│ QQuery 57 │ 2259.48 ms │           927.12 ms │ +2.44x faster │
│ QQuery 58 │ 2303.69 ms │          1169.43 ms │ +1.97x faster │
│ QQuery 59 │ 1528.57 ms │           686.07 ms │ +2.23x faster │
│ QQuery 60 │ 1179.32 ms │           606.25 ms │ +1.95x faster │
│ QQuery 61 │  607.40 ms │           354.67 ms │ +1.71x faster │
│ QQuery 62 │  872.07 ms │           363.24 ms │ +2.40x faster │
│ QQuery 63 │  860.18 ms │           273.56 ms │ +3.14x faster │
│ QQuery 64 │ 6507.93 ms │          2486.92 ms │ +2.62x faster │
│ QQuery 65 │ 1351.78 ms │           443.08 ms │ +3.05x faster │
│ QQuery 66 │ 1220.54 ms │           454.65 ms │ +2.68x faster │
│ QQuery 67 │ 1053.11 ms │           540.71 ms │ +1.95x faster │
│ QQuery 68 │  455.62 ms │           367.98 ms │ +1.24x faster │
│ QQuery 69 │ 1576.50 ms │           550.56 ms │ +2.86x faster │
│ QQuery 70 │ 1345.18 ms │           515.10 ms │ +2.61x faster │
│ QQuery 71 │ 1094.62 ms │           461.15 ms │ +2.37x faster │
│ QQuery 72 │ 2235.56 ms │           917.24 ms │ +2.44x faster │
│ QQuery 73 │  546.24 ms │           174.83 ms │ +3.12x faster │
│ QQuery 74 │ 1647.02 ms │           651.70 ms │ +2.53x faster │
│ QQuery 75 │ 2084.94 ms │           726.01 ms │ +2.87x faster │
│ QQuery 76 │  797.61 ms │           429.04 ms │ +1.86x faster │
│ QQuery 77 │ 1092.04 ms │           663.04 ms │ +1.65x faster │
│ QQuery 78 │ 1522.84 ms │           532.26 ms │ +2.86x faster │
│ QQuery 79 │ 1179.60 ms │           337.94 ms │ +3.49x faster │
│ QQuery 80 │ 1304.51 ms │           629.94 ms │ +2.07x faster │
│ QQuery 81 │  978.67 ms │           467.99 ms │ +2.09x faster │
│ QQuery 82 │ 1019.55 ms │           378.90 ms │ +2.69x faster │
│ QQuery 83 │ 1753.55 ms │           618.71 ms │ +2.83x faster │
│ QQuery 84 │  944.09 ms │           500.25 ms │ +1.89x faster │
│ QQuery 85 │ 1789.52 ms │           474.21 ms │ +3.77x faster │
│ QQuery 86 │  442.41 ms │           261.91 ms │ +1.69x faster │
│ QQuery 87 │ 1297.40 ms │           501.87 ms │ +2.59x faster │
│ QQuery 88 │ 1331.21 ms │           615.46 ms │ +2.16x faster │
│ QQuery 89 │  888.39 ms │           332.04 ms │ +2.68x faster │
│ QQuery 90 │  936.32 ms │           380.06 ms │ +2.46x faster │
│ QQuery 91 │ 1291.78 ms │           580.42 ms │ +2.23x faster │
│ QQuery 92 │  978.74 ms │           311.86 ms │ +3.14x faster │
│ QQuery 93 │  402.81 ms │           362.04 ms │ +1.11x faster │
│ QQuery 94 │ 1110.47 ms │           479.32 ms │ +2.32x faster │
│ QQuery 95 │ 1635.71 ms │           518.33 ms │ +3.16x faster │
│ QQuery 96 │  953.72 ms │           365.63 ms │ +2.61x faster │
│ QQuery 97 │  883.44 ms │           379.83 ms │ +2.33x faster │
│ QQuery 98 │  718.08 ms │           251.83 ms │ +2.85x faster │
│ QQuery 99 │  978.02 ms │           493.02 ms │ +1.98x faster │
└───────────┴────────────┴─────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┓
┃ Benchmark Summary                  ┃             ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━┩
│ Total Time (HEAD)                  │ 128871.79ms │
│ Total Time (combine-24086-25752)   │  54627.65ms │
│ Average Time (HEAD)                │   1301.74ms │
│ Average Time (combine-24086-25752) │    551.79ms │
│ Queries Faster                     │          97 │
│ Queries Slower                     │           0 │
│ Queries with No Change             │           2 │
│ Queries with Failure               │           0 │
└────────────────────────────────────┴─────────────┘

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

Comparing HEAD and combine-24086-25752
--------------------
Benchmark tpcds_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                   HEAD ┃                    combine-24086-25752 ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │     156.81 / 178.69 ±18.65 / 205.71 ms │      93.53 / 170.11 ±42.46 / 206.89 ms │     no change │
│ QQuery 2  │  1211.27 / 1295.64 ±71.05 / 1402.14 ms │    537.36 / 685.52 ±144.61 / 897.34 ms │ +1.89x faster │
│ QQuery 3  │     703.57 / 780.04 ±78.00 / 922.40 ms │     289.54 / 436.53 ±83.44 / 518.62 ms │ +1.79x faster │
│ QQuery 4  │ 2110.12 / 2347.66 ±138.63 / 2487.98 ms │  1005.83 / 1146.19 ±78.12 / 1215.08 ms │ +2.05x faster │
│ QQuery 5  │     896.74 / 931.74 ±30.18 / 971.05 ms │     434.30 / 523.78 ±65.27 / 637.31 ms │ +1.78x faster │
│ QQuery 6  │  1048.57 / 1217.89 ±86.51 / 1286.62 ms │     480.12 / 588.25 ±62.04 / 656.77 ms │ +2.07x faster │
│ QQuery 7  │  1451.28 / 1529.72 ±77.72 / 1666.90 ms │    335.36 / 511.48 ±142.32 / 656.02 ms │ +2.99x faster │
│ QQuery 8  │     455.55 / 584.77 ±67.28 / 647.65 ms │    236.40 / 401.81 ±101.39 / 542.84 ms │ +1.46x faster │
│ QQuery 9  │  1581.77 / 1634.75 ±42.06 / 1705.79 ms │ 1233.48 / 1427.68 ±149.21 / 1609.17 ms │ +1.15x faster │
│ QQuery 10 │  1570.98 / 1669.31 ±67.16 / 1760.75 ms │    438.42 / 663.74 ±168.54 / 889.01 ms │ +2.52x faster │
│ QQuery 11 │  1780.78 / 1864.98 ±69.82 / 1956.11 ms │    763.45 / 856.97 ±83.20 / 1002.60 ms │ +2.18x faster │
│ QQuery 12 │     562.94 / 656.77 ±72.48 / 716.97 ms │     221.56 / 319.23 ±73.75 / 417.89 ms │ +2.06x faster │
│ QQuery 13 │ 1605.46 / 1743.18 ±101.55 / 1851.19 ms │    574.71 / 703.41 ±137.28 / 941.86 ms │ +2.48x faster │
│ QQuery 14 │ 6616.05 / 7050.69 ±310.65 / 7510.59 ms │ 3367.70 / 3741.35 ±192.77 / 3901.36 ms │ +1.88x faster │
│ QQuery 15 │     739.20 / 860.65 ±88.26 / 960.05 ms │     172.68 / 355.68 ±97.86 / 468.37 ms │ +2.42x faster │
│ QQuery 16 │     156.92 / 179.46 ±18.97 / 207.06 ms │     107.98 / 146.59 ±36.60 / 211.15 ms │ +1.22x faster │
│ QQuery 17 │  1468.82 / 1600.09 ±91.40 / 1728.42 ms │     586.79 / 694.83 ±91.30 / 843.88 ms │ +2.30x faster │
│ QQuery 18 │  1460.45 / 1588.61 ±86.64 / 1706.53 ms │     556.03 / 647.62 ±91.78 / 795.24 ms │ +2.45x faster │
│ QQuery 19 │ 1184.59 / 1291.03 ±114.37 / 1449.15 ms │    306.32 / 525.22 ±124.72 / 654.61 ms │ +2.46x faster │
│ QQuery 20 │     558.86 / 701.74 ±82.77 / 779.91 ms │     258.73 / 363.39 ±67.13 / 431.55 ms │ +1.93x faster │
│ QQuery 21 │   953.84 / 1001.07 ±51.74 / 1084.11 ms │     374.32 / 459.24 ±55.92 / 546.89 ms │ +2.18x faster │
│ QQuery 22 │     788.35 / 861.15 ±72.24 / 997.34 ms │     374.21 / 441.72 ±46.89 / 499.51 ms │ +1.95x faster │
│ QQuery 23 │  4354.55 / 4485.45 ±93.67 / 4619.54 ms │ 2099.48 / 2282.25 ±147.49 / 2533.15 ms │ +1.97x faster │
│ QQuery 24 │ 3544.66 / 3766.11 ±121.81 / 3889.79 ms │ 1887.23 / 2132.90 ±215.00 / 2452.47 ms │ +1.77x faster │
│ QQuery 25 │  1636.63 / 1720.36 ±67.08 / 1801.09 ms │     569.53 / 706.56 ±92.45 / 803.38 ms │ +2.43x faster │
│ QQuery 26 │  1449.79 / 1518.78 ±50.61 / 1596.96 ms │     395.97 / 471.29 ±55.15 / 543.83 ms │ +3.22x faster │
│ QQuery 27 │     132.72 / 205.77 ±61.50 / 295.77 ms │     130.29 / 221.93 ±53.53 / 295.40 ms │  1.08x slower │
│ QQuery 28 │     504.23 / 539.22 ±41.48 / 620.67 ms │     272.99 / 354.67 ±41.33 / 382.91 ms │ +1.52x faster │
│ QQuery 29 │  1657.60 / 1770.06 ±85.55 / 1871.96 ms │    656.06 / 730.22 ±110.61 / 948.98 ms │ +2.42x faster │
│ QQuery 30 │   985.81 / 1033.11 ±45.63 / 1113.84 ms │    479.43 / 633.97 ±116.72 / 781.44 ms │ +1.63x faster │
│ QQuery 31 │ 2975.23 / 3225.35 ±174.21 / 3431.98 ms │ 1184.86 / 1290.82 ±106.20 / 1431.42 ms │ +2.50x faster │
│ QQuery 32 │  1017.35 / 1069.00 ±50.45 / 1163.74 ms │     351.34 / 414.27 ±76.86 / 563.59 ms │ +2.58x faster │
│ QQuery 33 │  1290.29 / 1390.21 ±76.76 / 1512.89 ms │     562.13 / 605.32 ±52.05 / 696.01 ms │ +2.30x faster │
│ QQuery 34 │     484.31 / 515.28 ±24.22 / 536.27 ms │     274.93 / 310.08 ±29.89 / 353.61 ms │ +1.66x faster │
│ QQuery 35 │  1524.58 / 1570.02 ±39.90 / 1623.98 ms │    544.53 / 707.45 ±122.09 / 891.96 ms │ +2.22x faster │
│ QQuery 36 │     107.77 / 159.28 ±35.53 / 207.54 ms │      42.24 / 150.86 ±66.05 / 207.76 ms │ +1.06x faster │
│ QQuery 37 │     428.47 / 455.21 ±15.42 / 475.24 ms │     239.76 / 283.80 ±33.74 / 319.58 ms │ +1.60x faster │
│ QQuery 38 │  1311.54 / 1406.10 ±52.36 / 1464.83 ms │    514.56 / 623.44 ±100.29 / 762.81 ms │ +2.26x faster │
│ QQuery 39 │ 3322.25 / 3577.67 ±134.15 / 3718.72 ms │  1492.05 / 1602.17 ±78.39 / 1728.33 ms │ +2.23x faster │
│ QQuery 40 │     846.52 / 907.28 ±50.28 / 978.01 ms │     357.32 / 442.46 ±54.92 / 525.00 ms │ +2.05x faster │
│ QQuery 41 │     391.46 / 514.50 ±64.05 / 569.44 ms │     110.05 / 205.60 ±93.11 / 375.00 ms │ +2.50x faster │
│ QQuery 42 │     774.25 / 863.58 ±57.65 / 954.03 ms │     385.89 / 440.97 ±39.72 / 506.57 ms │ +1.96x faster │
│ QQuery 43 │     116.36 / 161.07 ±33.17 / 206.62 ms │      40.94 / 133.58 ±56.15 / 206.69 ms │ +1.21x faster │
│ QQuery 44 │     196.18 / 243.83 ±45.65 / 302.37 ms │     191.33 / 287.19 ±67.43 / 390.74 ms │  1.18x slower │
│ QQuery 45 │   1085.50 / 1085.88 ±0.31 / 1086.37 ms │     331.12 / 477.99 ±86.71 / 554.18 ms │ +2.27x faster │
│ QQuery 46 │     575.11 / 635.64 ±52.47 / 717.83 ms │     322.54 / 400.70 ±57.16 / 466.96 ms │ +1.59x faster │
│ QQuery 47 │   2495.64 / 2504.53 ±5.83 / 2512.45 ms │  1156.71 / 1318.40 ±99.64 / 1430.82 ms │ +1.90x faster │
│ QQuery 48 │  1473.92 / 1560.50 ±69.01 / 1681.89 ms │    396.33 / 572.09 ±124.59 / 718.80 ms │ +2.73x faster │
│ QQuery 49 │  1159.40 / 1206.19 ±35.48 / 1266.28 ms │     436.16 / 501.93 ±51.10 / 588.24 ms │ +2.40x faster │
│ QQuery 50 │  1055.77 / 1136.27 ±63.42 / 1235.68 ms │     558.30 / 720.02 ±86.41 / 796.91 ms │ +1.58x faster │
│ QQuery 51 │   1081.54 / 1084.42 ±2.33 / 1087.23 ms │     423.25 / 527.58 ±74.06 / 653.72 ms │ +2.06x faster │
│ QQuery 52 │     733.23 / 833.63 ±60.28 / 896.92 ms │    215.36 / 389.09 ±106.68 / 505.72 ms │ +2.14x faster │
│ QQuery 53 │     870.82 / 915.34 ±34.08 / 952.88 ms │     265.32 / 344.34 ±62.85 / 420.21 ms │ +2.66x faster │
│ QQuery 54 │  1381.65 / 1518.45 ±84.27 / 1590.24 ms │     729.92 / 825.04 ±83.74 / 951.36 ms │ +1.84x faster │
│ QQuery 55 │     773.34 / 863.67 ±58.69 / 954.55 ms │     223.92 / 354.65 ±98.67 / 523.48 ms │ +2.44x faster │
│ QQuery 56 │  1110.18 / 1137.66 ±30.57 / 1186.05 ms │     500.82 / 561.84 ±39.78 / 617.96 ms │ +2.02x faster │
│ QQuery 57 │ 2259.48 / 2364.20 ±115.25 / 2526.48 ms │   927.12 / 1041.39 ±94.16 / 1209.06 ms │ +2.27x faster │
│ QQuery 58 │  2303.69 / 2431.03 ±66.71 / 2492.83 ms │  1169.43 / 1228.22 ±52.10 / 1304.90 ms │ +1.98x faster │
│ QQuery 59 │  1528.57 / 1648.87 ±99.35 / 1824.65 ms │   686.07 / 859.43 ±135.57 / 1094.66 ms │ +1.92x faster │
│ QQuery 60 │  1179.32 / 1205.58 ±13.27 / 1214.55 ms │     606.25 / 666.39 ±67.90 / 781.10 ms │ +1.81x faster │
│ QQuery 61 │     607.40 / 665.55 ±48.12 / 746.30 ms │     354.67 / 415.89 ±47.94 / 482.33 ms │ +1.60x faster │
│ QQuery 62 │    872.07 / 944.90 ±41.35 / 1001.01 ms │    363.24 / 515.67 ±116.44 / 626.91 ms │ +1.83x faster │
│ QQuery 63 │    860.18 / 920.76 ±60.95 / 1009.67 ms │     273.56 / 377.21 ±68.72 / 485.88 ms │ +2.44x faster │
│ QQuery 64 │  6507.93 / 6615.83 ±88.99 / 6718.53 ms │ 2486.92 / 2816.36 ±224.58 / 3162.50 ms │ +2.35x faster │
│ QQuery 65 │ 1351.78 / 1454.70 ±119.71 / 1688.12 ms │     443.08 / 553.18 ±87.48 / 672.07 ms │ +2.63x faster │
│ QQuery 66 │  1220.54 / 1335.39 ±75.85 / 1420.62 ms │     454.65 / 543.90 ±82.87 / 692.66 ms │ +2.46x faster │
│ QQuery 67 │  1053.11 / 1075.16 ±23.68 / 1108.72 ms │     540.71 / 617.57 ±68.63 / 718.86 ms │ +1.74x faster │
│ QQuery 68 │     455.62 / 575.26 ±87.02 / 722.75 ms │     367.98 / 421.35 ±69.40 / 550.91 ms │ +1.37x faster │
│ QQuery 69 │  1576.50 / 1656.47 ±94.69 / 1818.98 ms │     550.56 / 662.70 ±83.75 / 758.52 ms │ +2.50x faster │
│ QQuery 70 │  1345.18 / 1383.52 ±40.40 / 1434.03 ms │    515.10 / 636.36 ±109.72 / 797.60 ms │ +2.17x faster │
│ QQuery 71 │  1094.62 / 1173.93 ±58.28 / 1258.56 ms │     461.15 / 589.06 ±86.13 / 702.58 ms │ +1.99x faster │
│ QQuery 72 │  2235.56 / 2300.91 ±52.14 / 2371.34 ms │   917.24 / 1037.87 ±81.10 / 1154.29 ms │ +2.22x faster │
│ QQuery 73 │     546.24 / 568.06 ±22.44 / 595.95 ms │     174.83 / 270.50 ±84.94 / 425.74 ms │ +2.10x faster │
│ QQuery 74 │  1647.02 / 1747.13 ±68.34 / 1834.68 ms │     651.70 / 795.15 ±83.72 / 892.76 ms │ +2.20x faster │
│ QQuery 75 │  2084.94 / 2257.84 ±94.34 / 2357.54 ms │   726.01 / 952.98 ±129.10 / 1117.53 ms │ +2.37x faster │
│ QQuery 76 │     797.61 / 842.13 ±52.88 / 941.64 ms │     429.04 / 507.60 ±42.58 / 544.09 ms │ +1.66x faster │
│ QQuery 77 │ 1092.04 / 1314.97 ±160.73 / 1579.69 ms │    663.04 / 792.26 ±101.92 / 975.17 ms │ +1.66x faster │
│ QQuery 78 │  1522.84 / 1536.29 ±14.01 / 1553.77 ms │    532.26 / 633.69 ±106.23 / 798.37 ms │ +2.42x faster │
│ QQuery 79 │ 1179.60 / 1305.98 ±115.44 / 1501.98 ms │    337.94 / 529.12 ±164.35 / 822.99 ms │ +2.47x faster │
│ QQuery 80 │  1304.51 / 1446.45 ±87.40 / 1562.70 ms │     629.94 / 663.36 ±33.35 / 725.49 ms │ +2.18x faster │
│ QQuery 81 │   978.67 / 1124.18 ±78.63 / 1196.71 ms │     467.99 / 533.20 ±41.57 / 589.31 ms │ +2.11x faster │
│ QQuery 82 │  1019.55 / 1155.02 ±83.97 / 1251.41 ms │    378.90 / 495.59 ±113.92 / 679.13 ms │ +2.33x faster │
│ QQuery 83 │  1753.55 / 1906.70 ±87.40 / 2024.39 ms │    618.71 / 796.36 ±114.54 / 973.93 ms │ +2.39x faster │
│ QQuery 84 │      944.09 / 945.42 ±1.40 / 947.85 ms │     500.25 / 528.58 ±20.55 / 555.67 ms │ +1.79x faster │
│ QQuery 85 │  1789.52 / 1837.92 ±53.63 / 1907.40 ms │    474.21 / 688.23 ±110.36 / 773.68 ms │ +2.67x faster │
│ QQuery 86 │     442.41 / 592.20 ±94.39 / 701.38 ms │     261.91 / 314.90 ±33.40 / 348.81 ms │ +1.88x faster │
│ QQuery 87 │  1297.40 / 1341.23 ±37.86 / 1391.86 ms │     501.87 / 659.56 ±83.10 / 736.37 ms │ +2.03x faster │
│ QQuery 88 │  1331.21 / 1387.16 ±54.09 / 1477.72 ms │    615.46 / 735.67 ±108.11 / 886.58 ms │ +1.89x faster │
│ QQuery 89 │    888.39 / 951.75 ±54.04 / 1027.54 ms │     332.04 / 456.91 ±69.39 / 543.15 ms │ +2.08x faster │
│ QQuery 90 │    936.32 / 983.00 ±39.52 / 1050.75 ms │     380.06 / 503.08 ±88.11 / 623.78 ms │ +1.95x faster │
│ QQuery 91 │  1291.78 / 1387.02 ±65.68 / 1498.41 ms │    580.42 / 713.07 ±114.59 / 844.37 ms │ +1.95x faster │
│ QQuery 92 │   978.74 / 1063.12 ±44.34 / 1099.72 ms │     311.86 / 413.58 ±58.55 / 488.14 ms │ +2.57x faster │
│ QQuery 93 │     402.81 / 517.25 ±63.51 / 570.44 ms │     362.04 / 443.73 ±56.99 / 504.98 ms │ +1.17x faster │
│ QQuery 94 │  1110.47 / 1182.29 ±37.91 / 1212.19 ms │     479.32 / 619.98 ±78.94 / 693.01 ms │ +1.91x faster │
│ QQuery 95 │  1635.71 / 1669.00 ±36.00 / 1731.42 ms │    518.33 / 715.23 ±122.53 / 888.17 ms │ +2.33x faster │
│ QQuery 96 │    953.72 / 969.72 ±27.02 / 1023.69 ms │    365.63 / 497.46 ±123.88 / 666.98 ms │ +1.95x faster │
│ QQuery 97 │    883.44 / 957.11 ±75.74 / 1065.53 ms │     379.83 / 467.76 ±49.34 / 520.61 ms │ +2.05x faster │
│ QQuery 98 │     718.08 / 811.03 ±91.91 / 927.91 ms │     251.83 / 348.67 ±77.71 / 475.60 ms │ +2.33x faster │
│ QQuery 99 │      978.02 / 980.27 ±1.47 / 982.05 ms │     493.02 / 612.06 ±66.56 / 662.42 ms │ +1.60x faster │
└───────────┴────────────────────────────────────────┴────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┓
┃ Benchmark Summary                  ┃             ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━┩
│ Total Time (HEAD)                  │ 137681.33ms │
│ Total Time (combine-24086-25752)   │  66506.68ms │
│ Average Time (HEAD)                │   1390.72ms │
│ Average Time (combine-24086-25752) │    671.78ms │
│ Queries Faster                     │          96 │
│ Queries Slower                     │           2 │
│ Queries with No Change             │           1 │
│ Queries with Failure               │           0 │
└────────────────────────────────────┴─────────────┘

Resource Usage

tpcds — base (merge-base)

Metric Value
Wall time 695.1s
Peak memory 1.0 GiB
Avg memory 555.7 MiB
CPU user 130.8s
CPU sys 16.1s
Peak spill 0 B

tpcds — branch

Metric Value
Wall time 340.1s
Peak memory 1.2 GiB
Avg memory 649.1 MiB
CPU user 103.8s
CPU sys 9.0s
Peak spill 0 B

File an issue against this benchmark runner

@adriangb

Copy link
Copy Markdown
Owner Author

run benchmark tpch tpcds clickbench_partitioned

env:
  DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "true"
changed:
  env:
    DATAFUSION_EXECUTION_PARQUET_READ_AHEAD_BYTES: "104857600"

@adriangb

Copy link
Copy Markdown
Owner Author

run benchmark tpch tpcds clickbench_partitioned

env:
  DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "true"

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c5902626704-2942-s2ljt 6.12.94+ #1 SMP Wed Aug 19 07:47:20 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 combine-24086-25752 (07caaa3) to 1ae6b87 (merge-base) diff

Run configuration
run benchmark tpcds
env:
  DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "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-c5902626571-2940-7jnrx 6.12.94+ #1 SMP Wed Aug 19 07:47:20 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 combine-24086-25752 (07caaa3) to 1ae6b87 (merge-base) diff

Run configuration
run benchmark clickbench_partitioned
env:
  DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "true"
changed:
  env:
    DATAFUSION_EXECUTION_PARQUET_READ_AHEAD_BYTES: "104857600"

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-c5902626571-2938-mh4hj 6.12.94+ #1 SMP Wed Aug 19 07:47:20 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 combine-24086-25752 (07caaa3) to 1ae6b87 (merge-base) diff

Run configuration
run benchmark tpch
env:
  DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "true"
changed:
  env:
    DATAFUSION_EXECUTION_PARQUET_READ_AHEAD_BYTES: "104857600"

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-c5902626571-2939-zjxft 6.12.94+ #1 SMP Wed Aug 19 07:47:20 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 combine-24086-25752 (07caaa3) to 1ae6b87 (merge-base) diff

Run configuration
run benchmark tpcds
env:
  DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "true"
changed:
  env:
    DATAFUSION_EXECUTION_PARQUET_READ_AHEAD_BYTES: "104857600"

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-c5902626704-2941-j2nw5 6.12.94+ #1 SMP Wed Aug 19 07:47:20 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 combine-24086-25752 (07caaa3) to 1ae6b87 (merge-base) diff

Run configuration
run benchmark tpch
env:
  DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "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 combine-24086-25752 (07caaa3) to 1ae6b87 (merge-base) diff

Run configuration
run benchmark tpch
env:
  DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "true"
changed:
  env:
    DATAFUSION_EXECUTION_PARQUET_READ_AHEAD_BYTES: "104857600"
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 combine-24086-25752
--------------------
Benchmark tpch_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃     HEAD ┃ combine-24086-25752 ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │ 41.09 ms │            41.02 ms │     no change │
│ QQuery 2  │ 19.75 ms │            18.36 ms │ +1.08x faster │
│ QQuery 3  │ 41.95 ms │            29.27 ms │ +1.43x faster │
│ QQuery 4  │ 25.91 ms │            18.34 ms │ +1.41x faster │
│ QQuery 5  │ 60.48 ms │            29.51 ms │ +2.05x faster │
│ QQuery 6  │ 22.92 ms │            13.65 ms │ +1.68x faster │
│ QQuery 7  │ 49.25 ms │            35.44 ms │ +1.39x faster │
│ QQuery 8  │ 50.45 ms │            43.91 ms │ +1.15x faster │
│ QQuery 9  │ 65.31 ms │            54.02 ms │ +1.21x faster │
│ QQuery 10 │ 48.31 ms │            41.16 ms │ +1.17x faster │
│ QQuery 11 │ 14.85 ms │            13.66 ms │ +1.09x faster │
│ QQuery 12 │ 43.65 ms │            18.93 ms │ +2.31x faster │
│ QQuery 13 │ 43.09 ms │            39.27 ms │ +1.10x faster │
│ QQuery 14 │ 30.67 ms │            24.64 ms │ +1.24x faster │
│ QQuery 15 │ 40.96 ms │            31.41 ms │ +1.30x faster │
│ QQuery 16 │ 15.69 ms │            13.53 ms │ +1.16x faster │
│ QQuery 17 │ 71.26 ms │            44.73 ms │ +1.59x faster │
│ QQuery 18 │ 76.04 ms │            40.15 ms │ +1.89x faster │
│ QQuery 19 │ 35.13 ms │            29.50 ms │ +1.19x faster │
│ QQuery 20 │ 36.46 ms │            27.65 ms │ +1.32x faster │
│ QQuery 21 │ 63.20 ms │            50.18 ms │ +1.26x faster │
│ QQuery 22 │ 16.40 ms │            14.36 ms │ +1.14x faster │
└───────────┴──────────┴─────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┓
┃ Benchmark Summary                  ┃          ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━┩
│ Total Time (HEAD)                  │ 912.81ms │
│ Total Time (combine-24086-25752)   │ 672.71ms │
│ Average Time (HEAD)                │  41.49ms │
│ Average Time (combine-24086-25752) │  30.58ms │
│ Queries Faster                     │       21 │
│ Queries Slower                     │        0 │
│ Queries with No Change             │        1 │
│ Queries with Failure               │        0 │
└────────────────────────────────────┴──────────┘

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

Comparing HEAD and combine-24086-25752
--------------------
Benchmark tpch_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                           HEAD ┃            combine-24086-25752 ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │ 41.09 / 43.24 ±1.96 / 46.28 ms │ 41.02 / 41.79 ±1.13 / 44.03 ms │     no change │
│ QQuery 2  │ 19.75 / 20.21 ±0.45 / 20.99 ms │ 18.36 / 18.80 ±0.41 / 19.55 ms │ +1.07x faster │
│ QQuery 3  │ 41.95 / 42.42 ±0.41 / 43.01 ms │ 29.27 / 30.08 ±1.02 / 32.03 ms │ +1.41x faster │
│ QQuery 4  │ 25.91 / 26.69 ±0.87 / 28.38 ms │ 18.34 / 18.48 ±0.08 / 18.58 ms │ +1.44x faster │
│ QQuery 5  │ 60.48 / 60.65 ±0.19 / 61.02 ms │ 29.51 / 30.48 ±1.09 / 31.95 ms │ +1.99x faster │
│ QQuery 6  │ 22.92 / 23.82 ±1.55 / 26.91 ms │ 13.65 / 13.88 ±0.17 / 14.06 ms │ +1.72x faster │
│ QQuery 7  │ 49.25 / 49.62 ±0.58 / 50.77 ms │ 35.44 / 37.00 ±0.99 / 38.54 ms │ +1.34x faster │
│ QQuery 8  │ 50.45 / 50.86 ±0.68 / 52.22 ms │ 43.91 / 45.29 ±1.29 / 47.18 ms │ +1.12x faster │
│ QQuery 9  │ 65.31 / 65.83 ±0.44 / 66.39 ms │ 54.02 / 54.94 ±0.82 / 56.15 ms │ +1.20x faster │
│ QQuery 10 │ 48.31 / 48.69 ±0.44 / 49.52 ms │ 41.16 / 41.99 ±1.04 / 43.78 ms │ +1.16x faster │
│ QQuery 11 │ 14.85 / 15.00 ±0.17 / 15.31 ms │ 13.66 / 13.82 ±0.10 / 13.97 ms │ +1.09x faster │
│ QQuery 12 │ 43.65 / 44.23 ±0.59 / 45.03 ms │ 18.93 / 19.28 ±0.24 / 19.62 ms │ +2.29x faster │
│ QQuery 13 │ 43.09 / 43.71 ±0.40 / 44.21 ms │ 39.27 / 39.54 ±0.28 / 40.05 ms │ +1.11x faster │
│ QQuery 14 │ 30.67 / 30.93 ±0.28 / 31.47 ms │ 24.64 / 25.01 ±0.46 / 25.89 ms │ +1.24x faster │
│ QQuery 15 │ 40.96 / 42.07 ±1.94 / 45.94 ms │ 31.41 / 32.48 ±1.26 / 34.90 ms │ +1.30x faster │
│ QQuery 16 │ 15.69 / 16.00 ±0.37 / 16.69 ms │ 13.53 / 13.75 ±0.18 / 14.03 ms │ +1.16x faster │
│ QQuery 17 │ 71.26 / 72.86 ±1.36 / 75.03 ms │ 44.73 / 45.14 ±0.44 / 45.71 ms │ +1.61x faster │
│ QQuery 18 │ 76.04 / 77.93 ±1.89 / 81.43 ms │ 40.15 / 40.47 ±0.24 / 40.90 ms │ +1.93x faster │
│ QQuery 19 │ 35.13 / 35.40 ±0.26 / 35.88 ms │ 29.50 / 30.00 ±0.35 / 30.49 ms │ +1.18x faster │
│ QQuery 20 │ 36.46 / 36.93 ±0.30 / 37.27 ms │ 27.65 / 29.64 ±2.94 / 35.45 ms │ +1.25x faster │
│ QQuery 21 │ 63.20 / 64.18 ±1.02 / 65.87 ms │ 50.18 / 52.91 ±2.16 / 56.19 ms │ +1.21x faster │
│ QQuery 22 │ 16.40 / 16.70 ±0.17 / 16.86 ms │ 14.36 / 14.61 ±0.35 / 15.31 ms │ +1.14x faster │
└───────────┴────────────────────────────────┴────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┓
┃ Benchmark Summary                  ┃          ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━┩
│ Total Time (HEAD)                  │ 927.99ms │
│ Total Time (combine-24086-25752)   │ 689.38ms │
│ Average Time (HEAD)                │  42.18ms │
│ Average Time (combine-24086-25752) │  31.34ms │
│ Queries Faster                     │       21 │
│ Queries Slower                     │        0 │
│ Queries with No Change             │        1 │
│ Queries with Failure               │        0 │
└────────────────────────────────────┴──────────┘

Resource Usage

tpch — base (merge-base)

Metric Value
Wall time 5.0s
Peak memory 1.2 GiB
Avg memory 779.4 MiB
CPU user 23.6s
CPU sys 1.6s
Peak spill 0 B

tpch — branch

Metric Value
Wall time 5.0s
Peak memory 1.1 GiB
Avg memory 507.3 MiB
CPU user 17.8s
CPU sys 1.4s
Peak spill 0 B

File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark completed (GKE) | trigger

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

Comparing combine-24086-25752 (07caaa3) to 1ae6b87 (merge-base) diff

Run configuration
run benchmark tpch
env:
  DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "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 combine-24086-25752
--------------------
Benchmark tpch_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃     HEAD ┃ combine-24086-25752 ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │ 40.95 ms │            40.49 ms │     no change │
│ QQuery 2  │ 19.85 ms │            18.49 ms │ +1.07x faster │
│ QQuery 3  │ 42.03 ms │            28.64 ms │ +1.47x faster │
│ QQuery 4  │ 25.99 ms │            18.11 ms │ +1.44x faster │
│ QQuery 5  │ 60.21 ms │            28.70 ms │ +2.10x faster │
│ QQuery 6  │ 23.08 ms │            13.38 ms │ +1.73x faster │
│ QQuery 7  │ 49.20 ms │            36.00 ms │ +1.37x faster │
│ QQuery 8  │ 50.60 ms │            40.34 ms │ +1.25x faster │
│ QQuery 9  │ 64.44 ms │            53.97 ms │ +1.19x faster │
│ QQuery 10 │ 48.03 ms │            40.95 ms │ +1.17x faster │
│ QQuery 11 │ 15.00 ms │            13.73 ms │ +1.09x faster │
│ QQuery 12 │ 43.83 ms │            18.97 ms │ +2.31x faster │
│ QQuery 13 │ 43.05 ms │            39.50 ms │ +1.09x faster │
│ QQuery 14 │ 30.86 ms │            24.10 ms │ +1.28x faster │
│ QQuery 15 │ 40.75 ms │            31.01 ms │ +1.31x faster │
│ QQuery 16 │ 15.76 ms │            13.62 ms │ +1.16x faster │
│ QQuery 17 │ 71.11 ms │            43.06 ms │ +1.65x faster │
│ QQuery 18 │ 75.50 ms │            39.00 ms │ +1.94x faster │
│ QQuery 19 │ 34.44 ms │            28.99 ms │ +1.19x faster │
│ QQuery 20 │ 36.45 ms │            27.00 ms │ +1.35x faster │
│ QQuery 21 │ 62.96 ms │            49.60 ms │ +1.27x faster │
│ QQuery 22 │ 16.74 ms │            14.42 ms │ +1.16x faster │
└───────────┴──────────┴─────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┓
┃ Benchmark Summary                  ┃          ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━┩
│ Total Time (HEAD)                  │ 910.83ms │
│ Total Time (combine-24086-25752)   │ 662.08ms │
│ Average Time (HEAD)                │  41.40ms │
│ Average Time (combine-24086-25752) │  30.09ms │
│ Queries Faster                     │       21 │
│ Queries Slower                     │        0 │
│ Queries with No Change             │        1 │
│ Queries with Failure               │        0 │
└────────────────────────────────────┴──────────┘

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

Comparing HEAD and combine-24086-25752
--------------------
Benchmark tpch_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                           HEAD ┃            combine-24086-25752 ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │ 40.95 / 41.77 ±1.24 / 44.24 ms │ 40.49 / 41.13 ±1.01 / 43.13 ms │     no change │
│ QQuery 2  │ 19.85 / 20.52 ±0.44 / 21.06 ms │ 18.49 / 18.77 ±0.31 / 19.33 ms │ +1.09x faster │
│ QQuery 3  │ 42.03 / 42.18 ±0.11 / 42.36 ms │ 28.64 / 28.90 ±0.25 / 29.35 ms │ +1.46x faster │
│ QQuery 4  │ 25.99 / 26.41 ±0.52 / 27.39 ms │ 18.11 / 18.82 ±0.78 / 20.04 ms │ +1.40x faster │
│ QQuery 5  │ 60.21 / 60.97 ±0.79 / 62.48 ms │ 28.70 / 30.45 ±1.29 / 32.49 ms │ +2.00x faster │
│ QQuery 6  │ 23.08 / 23.46 ±0.35 / 24.07 ms │ 13.38 / 13.47 ±0.09 / 13.61 ms │ +1.74x faster │
│ QQuery 7  │ 49.20 / 50.17 ±0.98 / 51.63 ms │ 36.00 / 37.33 ±1.35 / 39.42 ms │ +1.34x faster │
│ QQuery 8  │ 50.60 / 51.14 ±0.70 / 52.50 ms │ 40.34 / 42.09 ±1.72 / 45.00 ms │ +1.21x faster │
│ QQuery 9  │ 64.44 / 66.04 ±0.89 / 66.95 ms │ 53.97 / 55.30 ±1.70 / 58.63 ms │ +1.19x faster │
│ QQuery 10 │ 48.03 / 48.76 ±0.74 / 50.01 ms │ 40.95 / 41.10 ±0.22 / 41.53 ms │ +1.19x faster │
│ QQuery 11 │ 15.00 / 15.26 ±0.26 / 15.70 ms │ 13.73 / 14.44 ±1.07 / 16.57 ms │ +1.06x faster │
│ QQuery 12 │ 43.83 / 44.30 ±0.53 / 45.00 ms │ 18.97 / 19.43 ±0.31 / 19.90 ms │ +2.28x faster │
│ QQuery 13 │ 43.05 / 43.36 ±0.24 / 43.78 ms │ 39.50 / 40.58 ±1.54 / 43.63 ms │ +1.07x faster │
│ QQuery 14 │ 30.86 / 31.17 ±0.33 / 31.79 ms │ 24.10 / 24.39 ±0.18 / 24.64 ms │ +1.28x faster │
│ QQuery 15 │ 40.75 / 43.47 ±2.20 / 45.97 ms │ 31.01 / 31.81 ±0.72 / 32.85 ms │ +1.37x faster │
│ QQuery 16 │ 15.76 / 16.06 ±0.41 / 16.87 ms │ 13.62 / 13.90 ±0.27 / 14.39 ms │ +1.16x faster │
│ QQuery 17 │ 71.11 / 72.54 ±1.34 / 74.91 ms │ 43.06 / 44.43 ±1.37 / 46.81 ms │ +1.63x faster │
│ QQuery 18 │ 75.50 / 77.10 ±2.02 / 81.04 ms │ 39.00 / 39.90 ±0.51 / 40.57 ms │ +1.93x faster │
│ QQuery 19 │ 34.44 / 34.97 ±0.33 / 35.46 ms │ 28.99 / 29.29 ±0.23 / 29.66 ms │ +1.19x faster │
│ QQuery 20 │ 36.45 / 36.85 ±0.56 / 37.95 ms │ 27.00 / 28.68 ±2.13 / 32.59 ms │ +1.28x faster │
│ QQuery 21 │ 62.96 / 64.12 ±1.12 / 66.23 ms │ 49.60 / 50.97 ±1.85 / 54.61 ms │ +1.26x faster │
│ QQuery 22 │ 16.74 / 16.88 ±0.12 / 17.08 ms │ 14.42 / 14.58 ±0.18 / 14.81 ms │ +1.16x faster │
└───────────┴────────────────────────────────┴────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┓
┃ Benchmark Summary                  ┃          ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━┩
│ Total Time (HEAD)                  │ 927.48ms │
│ Total Time (combine-24086-25752)   │ 679.77ms │
│ Average Time (HEAD)                │  42.16ms │
│ Average Time (combine-24086-25752) │  30.90ms │
│ Queries Faster                     │       21 │
│ Queries Slower                     │        0 │
│ Queries with No Change             │        1 │
│ Queries with Failure               │        0 │
└────────────────────────────────────┴──────────┘

Resource Usage

tpch — base (merge-base)

Metric Value
Wall time 5.0s
Peak memory 1.3 GiB
Avg memory 802.2 MiB
CPU user 23.6s
CPU sys 1.4s
Peak spill 0 B

tpch — branch

Metric Value
Wall time 5.0s
Peak memory 1006.7 MiB
Avg memory 462.3 MiB
CPU user 17.3s
CPU sys 1.4s
Peak spill 0 B

File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c5902626704-2943-cnznm 6.12.94+ #1 SMP Wed Aug 19 07:47:20 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 combine-24086-25752 (07caaa3) to 1ae6b87 (merge-base) diff

Run configuration
run benchmark clickbench_partitioned
env:
  DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "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 combine-24086-25752 (07caaa3) to 1ae6b87 (merge-base) diff

Run configuration
run benchmark tpcds
env:
  DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "true"
changed:
  env:
    DATAFUSION_EXECUTION_PARQUET_READ_AHEAD_BYTES: "104857600"
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 combine-24086-25752
--------------------
Benchmark tpcds_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃      HEAD ┃ combine-24086-25752 ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │   5.00 ms │             5.74 ms │  1.15x slower │
│ QQuery 2  │  44.52 ms │            43.92 ms │     no change │
│ QQuery 3  │  26.39 ms │            24.96 ms │ +1.06x faster │
│ QQuery 4  │ 383.01 ms │           429.54 ms │  1.12x slower │
│ QQuery 5  │  72.78 ms │            52.05 ms │ +1.40x faster │
│ QQuery 6  │  36.63 ms │            30.82 ms │ +1.19x faster │
│ QQuery 7  │ 113.88 ms │            76.50 ms │ +1.49x faster │
│ QQuery 8  │  14.13 ms │            13.11 ms │ +1.08x faster │
│ QQuery 9  │ 122.28 ms │            54.73 ms │ +2.23x faster │
│ QQuery 10 │  73.87 ms │            66.71 ms │ +1.11x faster │
│ QQuery 11 │ 237.24 ms │           259.47 ms │  1.09x slower │
│ QQuery 12 │  28.14 ms │            21.08 ms │ +1.34x faster │
│ QQuery 13 │ 117.93 ms │           121.08 ms │     no change │
│ QQuery 14 │ 399.67 ms │           372.66 ms │ +1.07x faster │
│ QQuery 15 │  23.13 ms │            23.57 ms │     no change │
│ QQuery 16 │   6.40 ms │             6.32 ms │     no change │
│ QQuery 17 │ 114.56 ms │            73.11 ms │ +1.57x faster │
│ QQuery 18 │ 192.55 ms │           104.96 ms │ +1.83x faster │
│ QQuery 19 │  40.24 ms │            45.56 ms │  1.13x slower │
│ QQuery 20 │  38.28 ms │            26.51 ms │ +1.44x faster │
│ QQuery 21 │  19.23 ms │            13.99 ms │ +1.37x faster │
│ QQuery 22 │  61.92 ms │            63.93 ms │     no change │
│ QQuery 23 │ 390.69 ms │           294.55 ms │ +1.33x faster │
│ QQuery 24 │ 416.72 ms │           161.42 ms │ +2.58x faster │
│ QQuery 25 │ 116.47 ms │            92.73 ms │ +1.26x faster │
│ QQuery 26 │  79.15 ms │            47.63 ms │ +1.66x faster │
│ QQuery 27 │   6.04 ms │             6.02 ms │     no change │
│ QQuery 28 │  74.60 ms │            57.99 ms │ +1.29x faster │
│ QQuery 29 │ 147.13 ms │            87.26 ms │ +1.69x faster │
│ QQuery 30 │  32.64 ms │            33.40 ms │     no change │
│ QQuery 31 │ 125.07 ms │           122.24 ms │     no change │
│ QQuery 32 │  21.35 ms │            20.17 ms │ +1.06x faster │
│ QQuery 33 │  39.51 ms │            40.85 ms │     no change │
│ QQuery 34 │  10.24 ms │            10.43 ms │     no change │
│ QQuery 35 │  82.28 ms │            74.67 ms │ +1.10x faster │
│ QQuery 36 │   5.57 ms │             5.65 ms │     no change │
│ QQuery 37 │   6.91 ms │             6.81 ms │     no change │
│ QQuery 38 │  77.59 ms │            65.52 ms │ +1.18x faster │
│ QQuery 39 │  87.73 ms │            73.82 ms │ +1.19x faster │
│ QQuery 40 │  22.95 ms │            18.18 ms │ +1.26x faster │
│ QQuery 41 │  12.46 ms │            10.94 ms │ +1.14x faster │
│ QQuery 42 │  23.65 ms │            26.80 ms │  1.13x slower │
│ QQuery 43 │   4.66 ms │             4.59 ms │     no change │
│ QQuery 44 │   8.94 ms │             8.39 ms │ +1.07x faster │
│ QQuery 45 │  26.19 ms │            25.49 ms │     no change │
│ QQuery 46 │  12.14 ms │            12.48 ms │     no change │
│ QQuery 47 │ 221.45 ms │           218.68 ms │     no change │
│ QQuery 48 │ 126.74 ms │            93.75 ms │ +1.35x faster │
│ QQuery 49 │ 119.80 ms │            71.75 ms │ +1.67x faster │
│ QQuery 50 │ 126.58 ms │            60.52 ms │ +2.09x faster │
│ QQuery 51 │ 103.21 ms │            92.70 ms │ +1.11x faster │
│ QQuery 52 │  24.56 ms │            26.73 ms │  1.09x slower │
│ QQuery 53 │  31.25 ms │            31.81 ms │     no change │
│ QQuery 54 │  28.72 ms │            28.96 ms │     no change │
│ QQuery 55 │  23.62 ms │            26.21 ms │  1.11x slower │
│ QQuery 56 │  35.59 ms │            42.04 ms │  1.18x slower │
│ QQuery 57 │ 141.96 ms │           165.82 ms │  1.17x slower │
│ QQuery 58 │  72.96 ms │            59.84 ms │ +1.22x faster │
│ QQuery 59 │  80.91 ms │            67.54 ms │ +1.20x faster │
│ QQuery 60 │  38.79 ms │            42.06 ms │  1.08x slower │
│ QQuery 61 │  11.64 ms │            11.59 ms │     no change │
│ QQuery 62 │  41.86 ms │            43.91 ms │     no change │
│ QQuery 63 │  30.72 ms │            31.66 ms │     no change │
│ QQuery 64 │ 696.72 ms │           296.15 ms │ +2.35x faster │
│ QQuery 65 │ 157.53 ms │            73.08 ms │ +2.16x faster │
│ QQuery 66 │  65.51 ms │            63.95 ms │     no change │
│ QQuery 67 │ 250.74 ms │           242.57 ms │     no change │
│ QQuery 68 │  12.12 ms │            12.32 ms │     no change │
│ QQuery 69 │  71.08 ms │            62.48 ms │ +1.14x faster │
│ QQuery 70 │ 122.14 ms │           107.54 ms │ +1.14x faster │
│ QQuery 71 │  32.30 ms │            38.53 ms │  1.19x slower │
│ QQuery 72 │ 212.44 ms │            95.46 ms │ +2.23x faster │
│ QQuery 73 │  10.36 ms │             9.95 ms │     no change │
│ QQuery 74 │ 156.39 ms │           155.55 ms │     no change │
│ QQuery 75 │ 185.97 ms │           139.18 ms │ +1.34x faster │
│ QQuery 76 │  42.40 ms │            35.99 ms │ +1.18x faster │
│ QQuery 77 │  62.31 ms │            64.04 ms │     no change │
│ QQuery 78 │ 147.67 ms │           160.01 ms │  1.08x slower │
│ QQuery 79 │  68.08 ms │            71.20 ms │     no change │
│ QQuery 80 │  77.09 ms │            81.33 ms │  1.06x slower │
│ QQuery 81 │  27.31 ms │            27.13 ms │     no change │
│ QQuery 82 │  38.33 ms │            16.21 ms │ +2.36x faster │
│ QQuery 83 │  35.54 ms │            29.00 ms │ +1.23x faster │
│ QQuery 84 │  30.06 ms │            31.37 ms │     no change │
│ QQuery 85 │ 153.46 ms │            86.95 ms │ +1.76x faster │
│ QQuery 86 │  29.80 ms │            26.61 ms │ +1.12x faster │
│ QQuery 87 │  77.28 ms │            64.73 ms │ +1.19x faster │
│ QQuery 88 │  66.16 ms │            63.57 ms │     no change │
│ QQuery 89 │  43.21 ms │            35.36 ms │ +1.22x faster │
│ QQuery 90 │  17.74 ms │            17.90 ms │     no change │
│ QQuery 91 │  51.47 ms │            38.48 ms │ +1.34x faster │
│ QQuery 92 │  29.05 ms │            31.37 ms │  1.08x slower │
│ QQuery 93 │  49.89 ms │            50.51 ms │     no change │
│ QQuery 94 │  36.79 ms │            40.86 ms │  1.11x slower │
│ QQuery 95 │ 110.34 ms │            60.38 ms │ +1.83x faster │
│ QQuery 96 │  25.65 ms │            23.38 ms │ +1.10x faster │
│ QQuery 97 │  49.57 ms │            52.66 ms │  1.06x slower │
│ QQuery 98 │  39.47 ms │            32.22 ms │ +1.23x faster │
│ QQuery 99 │  64.93 ms │            61.45 ms │ +1.06x faster │
└───────────┴───────────┴─────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Benchmark Summary                  ┃           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ Total Time (HEAD)                  │ 8609.75ms │
│ Total Time (combine-24086-25752)   │ 6853.39ms │
│ Average Time (HEAD)                │   86.97ms │
│ Average Time (combine-24086-25752) │   69.23ms │
│ Queries Faster                     │        50 │
│ Queries Slower                     │        16 │
│ Queries with No Change             │        33 │
│ Queries with Failure               │         0 │
└────────────────────────────────────┴───────────┘

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

Comparing HEAD and combine-24086-25752
--------------------
Benchmark tpcds_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                              HEAD ┃                combine-24086-25752 ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │       5.00 / 5.56 ±0.99 / 7.55 ms │        5.74 / 6.33 ±0.86 / 8.04 ms │  1.14x slower │
│ QQuery 2  │    44.52 / 44.92 ±0.42 / 45.69 ms │     43.92 / 44.59 ±0.53 / 45.30 ms │     no change │
│ QQuery 3  │    26.39 / 26.74 ±0.21 / 27.02 ms │     24.96 / 25.23 ±0.16 / 25.43 ms │ +1.06x faster │
│ QQuery 4  │ 383.01 / 388.68 ±3.76 / 393.28 ms │  429.54 / 441.37 ±9.14 / 456.98 ms │  1.14x slower │
│ QQuery 5  │    72.78 / 73.65 ±0.57 / 74.20 ms │     52.05 / 52.64 ±0.62 / 53.80 ms │ +1.40x faster │
│ QQuery 6  │    36.63 / 36.90 ±0.26 / 37.40 ms │     30.82 / 31.25 ±0.30 / 31.61 ms │ +1.18x faster │
│ QQuery 7  │ 113.88 / 118.95 ±5.06 / 125.20 ms │     76.50 / 77.77 ±1.04 / 79.63 ms │ +1.53x faster │
│ QQuery 8  │    14.13 / 14.33 ±0.18 / 14.64 ms │     13.11 / 13.36 ±0.19 / 13.68 ms │ +1.07x faster │
│ QQuery 9  │ 122.28 / 125.43 ±2.11 / 128.70 ms │     54.73 / 55.84 ±0.99 / 57.17 ms │ +2.25x faster │
│ QQuery 10 │    73.87 / 74.52 ±0.59 / 75.44 ms │     66.71 / 68.09 ±1.66 / 71.11 ms │ +1.09x faster │
│ QQuery 11 │ 237.24 / 243.19 ±4.62 / 248.16 ms │ 259.47 / 267.19 ±10.37 / 287.45 ms │  1.10x slower │
│ QQuery 12 │    28.14 / 28.34 ±0.26 / 28.86 ms │     21.08 / 21.35 ±0.30 / 21.91 ms │ +1.33x faster │
│ QQuery 13 │ 117.93 / 121.91 ±3.59 / 127.81 ms │  121.08 / 121.87 ±0.90 / 123.50 ms │     no change │
│ QQuery 14 │ 399.67 / 403.00 ±2.90 / 408.32 ms │  372.66 / 379.33 ±3.80 / 384.36 ms │ +1.06x faster │
│ QQuery 15 │    23.13 / 23.88 ±1.20 / 26.28 ms │     23.57 / 24.13 ±0.33 / 24.45 ms │     no change │
│ QQuery 16 │       6.40 / 6.55 ±0.11 / 6.67 ms │       6.32 / 7.68 ±2.43 / 12.54 ms │  1.17x slower │
│ QQuery 17 │ 114.56 / 117.27 ±3.46 / 124.04 ms │     73.11 / 74.78 ±1.06 / 76.30 ms │ +1.57x faster │
│ QQuery 18 │ 192.55 / 194.88 ±2.53 / 199.33 ms │  104.96 / 106.73 ±1.19 / 108.63 ms │ +1.83x faster │
│ QQuery 19 │    40.24 / 40.46 ±0.24 / 40.87 ms │     45.56 / 46.75 ±1.42 / 49.29 ms │  1.16x slower │
│ QQuery 20 │    38.28 / 38.58 ±0.28 / 39.03 ms │     26.51 / 27.31 ±0.65 / 28.26 ms │ +1.41x faster │
│ QQuery 21 │    19.23 / 19.94 ±1.07 / 22.06 ms │     13.99 / 15.24 ±0.69 / 16.03 ms │ +1.31x faster │
│ QQuery 22 │    61.92 / 62.48 ±0.53 / 63.44 ms │     63.93 / 64.27 ±0.24 / 64.61 ms │     no change │
│ QQuery 23 │ 390.69 / 397.70 ±5.49 / 406.51 ms │  294.55 / 298.45 ±4.11 / 305.08 ms │ +1.33x faster │
│ QQuery 24 │ 416.72 / 419.05 ±1.96 / 421.92 ms │  161.42 / 165.76 ±3.16 / 171.12 ms │ +2.53x faster │
│ QQuery 25 │ 116.47 / 117.19 ±0.85 / 118.84 ms │    92.73 / 96.24 ±4.36 / 104.70 ms │ +1.22x faster │
│ QQuery 26 │    79.15 / 80.35 ±1.21 / 82.04 ms │     47.63 / 49.14 ±0.88 / 50.19 ms │ +1.64x faster │
│ QQuery 27 │       6.04 / 6.30 ±0.22 / 6.69 ms │        6.02 / 6.21 ±0.29 / 6.79 ms │     no change │
│ QQuery 28 │    74.60 / 75.65 ±0.77 / 76.94 ms │     57.99 / 59.18 ±1.12 / 61.15 ms │ +1.28x faster │
│ QQuery 29 │ 147.13 / 151.56 ±4.72 / 160.25 ms │     87.26 / 89.40 ±2.49 / 94.18 ms │ +1.70x faster │
│ QQuery 30 │    32.64 / 32.95 ±0.16 / 33.07 ms │     33.40 / 33.74 ±0.27 / 34.23 ms │     no change │
│ QQuery 31 │ 125.07 / 126.88 ±2.36 / 131.48 ms │  122.24 / 124.89 ±3.50 / 131.74 ms │     no change │
│ QQuery 32 │    21.35 / 21.62 ±0.16 / 21.78 ms │     20.17 / 21.10 ±0.76 / 22.00 ms │     no change │
│ QQuery 33 │    39.51 / 40.12 ±0.49 / 40.71 ms │     40.85 / 41.83 ±0.69 / 42.92 ms │     no change │
│ QQuery 34 │    10.24 / 10.45 ±0.26 / 10.96 ms │     10.43 / 10.80 ±0.22 / 11.04 ms │     no change │
│ QQuery 35 │    82.28 / 82.81 ±0.52 / 83.75 ms │     74.67 / 75.76 ±0.70 / 76.48 ms │ +1.09x faster │
│ QQuery 36 │       5.57 / 5.70 ±0.22 / 6.14 ms │       5.65 / 7.00 ±2.31 / 11.59 ms │  1.23x slower │
│ QQuery 37 │       6.91 / 6.94 ±0.04 / 7.01 ms │        6.81 / 7.05 ±0.14 / 7.26 ms │     no change │
│ QQuery 38 │    77.59 / 81.02 ±4.36 / 89.44 ms │     65.52 / 66.95 ±1.18 / 68.93 ms │ +1.21x faster │
│ QQuery 39 │    87.73 / 88.56 ±1.10 / 90.72 ms │     73.82 / 74.19 ±0.40 / 74.80 ms │ +1.19x faster │
│ QQuery 40 │    22.95 / 23.44 ±0.37 / 23.86 ms │     18.18 / 18.56 ±0.41 / 19.29 ms │ +1.26x faster │
│ QQuery 41 │    12.46 / 12.61 ±0.14 / 12.87 ms │     10.94 / 11.04 ±0.08 / 11.19 ms │ +1.14x faster │
│ QQuery 42 │    23.65 / 25.04 ±1.93 / 28.73 ms │     26.80 / 28.37 ±2.18 / 32.65 ms │  1.13x slower │
│ QQuery 43 │       4.66 / 4.77 ±0.18 / 5.12 ms │        4.59 / 4.70 ±0.14 / 4.98 ms │     no change │
│ QQuery 44 │       8.94 / 9.04 ±0.08 / 9.19 ms │        8.39 / 8.55 ±0.11 / 8.68 ms │ +1.06x faster │
│ QQuery 45 │    26.19 / 27.59 ±1.41 / 30.13 ms │     25.49 / 31.08 ±2.88 / 33.31 ms │  1.13x slower │
│ QQuery 46 │    12.14 / 12.85 ±0.59 / 13.79 ms │     12.48 / 13.01 ±0.44 / 13.61 ms │     no change │
│ QQuery 47 │ 221.45 / 227.09 ±8.52 / 243.99 ms │  218.68 / 227.20 ±6.87 / 237.42 ms │     no change │
│ QQuery 48 │ 126.74 / 132.56 ±4.78 / 138.51 ms │     93.75 / 94.70 ±0.69 / 95.82 ms │ +1.40x faster │
│ QQuery 49 │ 119.80 / 120.74 ±0.65 / 121.51 ms │     71.75 / 74.51 ±3.08 / 80.33 ms │ +1.62x faster │
│ QQuery 50 │ 126.58 / 131.10 ±5.38 / 141.37 ms │     60.52 / 61.79 ±1.48 / 64.34 ms │ +2.12x faster │
│ QQuery 51 │ 103.21 / 104.39 ±0.97 / 105.74 ms │    92.70 / 98.83 ±5.98 / 110.02 ms │ +1.06x faster │
│ QQuery 52 │    24.56 / 27.24 ±5.05 / 37.34 ms │     26.73 / 27.24 ±0.34 / 27.69 ms │     no change │
│ QQuery 53 │    31.25 / 32.78 ±1.66 / 35.79 ms │     31.81 / 31.91 ±0.10 / 32.10 ms │     no change │
│ QQuery 54 │    28.72 / 31.18 ±1.27 / 32.40 ms │     28.96 / 30.33 ±1.70 / 33.65 ms │     no change │
│ QQuery 55 │    23.62 / 24.18 ±0.38 / 24.69 ms │     26.21 / 26.50 ±0.28 / 26.97 ms │  1.10x slower │
│ QQuery 56 │    35.59 / 35.74 ±0.22 / 36.17 ms │     42.04 / 42.79 ±0.82 / 44.24 ms │  1.20x slower │
│ QQuery 57 │ 141.96 / 144.27 ±2.77 / 149.55 ms │  165.82 / 169.52 ±2.65 / 173.77 ms │  1.17x slower │
│ QQuery 58 │    72.96 / 73.95 ±0.69 / 75.07 ms │     59.84 / 62.16 ±3.81 / 69.74 ms │ +1.19x faster │
│ QQuery 59 │    80.91 / 81.49 ±0.54 / 82.50 ms │     67.54 / 69.28 ±1.02 / 70.49 ms │ +1.18x faster │
│ QQuery 60 │    38.79 / 39.39 ±0.36 / 39.91 ms │     42.06 / 42.69 ±0.49 / 43.18 ms │  1.08x slower │
│ QQuery 61 │    11.64 / 11.86 ±0.24 / 12.32 ms │     11.59 / 11.70 ±0.20 / 12.09 ms │     no change │
│ QQuery 62 │    41.86 / 42.57 ±0.55 / 43.20 ms │     43.91 / 44.68 ±0.84 / 46.22 ms │     no change │
│ QQuery 63 │    30.72 / 31.07 ±0.30 / 31.55 ms │     31.66 / 34.00 ±3.97 / 41.90 ms │  1.09x slower │
│ QQuery 64 │ 696.72 / 703.07 ±6.23 / 713.60 ms │  296.15 / 299.47 ±2.33 / 302.26 ms │ +2.35x faster │
│ QQuery 65 │ 157.53 / 163.09 ±3.40 / 167.51 ms │     73.08 / 73.73 ±0.98 / 75.67 ms │ +2.21x faster │
│ QQuery 66 │    65.51 / 66.45 ±0.68 / 67.49 ms │     63.95 / 66.05 ±2.96 / 71.90 ms │     no change │
│ QQuery 67 │ 250.74 / 256.75 ±6.96 / 270.24 ms │  242.57 / 247.43 ±3.24 / 251.66 ms │     no change │
│ QQuery 68 │    12.12 / 14.27 ±3.73 / 21.71 ms │     12.32 / 12.76 ±0.47 / 13.54 ms │ +1.12x faster │
│ QQuery 69 │    71.08 / 74.36 ±3.87 / 81.51 ms │     62.48 / 62.95 ±0.44 / 63.66 ms │ +1.18x faster │
│ QQuery 70 │ 122.14 / 124.34 ±3.10 / 130.43 ms │  107.54 / 109.41 ±2.37 / 114.05 ms │ +1.14x faster │
│ QQuery 71 │    32.30 / 32.79 ±0.62 / 34.00 ms │     38.53 / 39.04 ±0.45 / 39.72 ms │  1.19x slower │
│ QQuery 72 │ 212.44 / 216.55 ±3.98 / 222.76 ms │   95.46 / 100.54 ±4.13 / 108.01 ms │ +2.15x faster │
│ QQuery 73 │    10.36 / 13.56 ±5.12 / 23.67 ms │      9.95 / 10.34 ±0.37 / 11.01 ms │ +1.31x faster │
│ QQuery 74 │ 156.39 / 159.76 ±3.50 / 165.13 ms │  155.55 / 161.44 ±5.01 / 168.37 ms │     no change │
│ QQuery 75 │ 185.97 / 188.49 ±2.51 / 192.51 ms │  139.18 / 144.54 ±4.27 / 152.31 ms │ +1.30x faster │
│ QQuery 76 │    42.40 / 45.62 ±4.60 / 54.72 ms │     35.99 / 36.46 ±0.44 / 37.27 ms │ +1.25x faster │
│ QQuery 77 │    62.31 / 63.19 ±0.70 / 64.47 ms │     64.04 / 67.60 ±4.40 / 76.15 ms │  1.07x slower │
│ QQuery 78 │ 147.67 / 152.54 ±5.42 / 163.11 ms │  160.01 / 163.23 ±4.56 / 171.98 ms │  1.07x slower │
│ QQuery 79 │    68.08 / 69.18 ±1.13 / 71.11 ms │     71.20 / 72.26 ±0.62 / 73.08 ms │     no change │
│ QQuery 80 │    77.09 / 78.24 ±1.05 / 80.13 ms │     81.33 / 82.73 ±1.17 / 84.44 ms │  1.06x slower │
│ QQuery 81 │    27.31 / 27.63 ±0.26 / 28.01 ms │     27.13 / 27.75 ±0.64 / 28.95 ms │     no change │
│ QQuery 82 │    38.33 / 41.22 ±4.51 / 50.14 ms │     16.21 / 16.48 ±0.18 / 16.77 ms │ +2.50x faster │
│ QQuery 83 │    35.54 / 35.93 ±0.38 / 36.55 ms │     29.00 / 31.14 ±3.70 / 38.52 ms │ +1.15x faster │
│ QQuery 84 │    30.06 / 30.64 ±0.36 / 30.98 ms │     31.37 / 31.92 ±0.32 / 32.31 ms │     no change │
│ QQuery 85 │ 153.46 / 157.23 ±4.88 / 166.64 ms │     86.95 / 88.16 ±0.95 / 89.62 ms │ +1.78x faster │
│ QQuery 86 │    29.80 / 30.43 ±0.50 / 31.19 ms │     26.61 / 27.19 ±0.77 / 28.65 ms │ +1.12x faster │
│ QQuery 87 │    77.28 / 78.61 ±2.05 / 82.69 ms │     64.73 / 67.28 ±3.66 / 74.48 ms │ +1.17x faster │
│ QQuery 88 │    66.16 / 69.36 ±3.61 / 75.73 ms │     63.57 / 64.76 ±1.12 / 66.68 ms │ +1.07x faster │
│ QQuery 89 │    43.21 / 43.38 ±0.15 / 43.65 ms │     35.36 / 37.37 ±1.03 / 38.28 ms │ +1.16x faster │
│ QQuery 90 │    17.74 / 17.95 ±0.22 / 18.37 ms │     17.90 / 18.34 ±0.56 / 19.38 ms │     no change │
│ QQuery 91 │    51.47 / 52.52 ±1.23 / 54.90 ms │     38.48 / 39.69 ±0.81 / 40.82 ms │ +1.32x faster │
│ QQuery 92 │    29.05 / 29.65 ±0.35 / 30.01 ms │     31.37 / 34.42 ±4.28 / 42.90 ms │  1.16x slower │
│ QQuery 93 │    49.89 / 53.55 ±5.80 / 65.05 ms │     50.51 / 52.13 ±1.14 / 53.99 ms │     no change │
│ QQuery 94 │    36.79 / 38.40 ±1.01 / 39.81 ms │     40.86 / 41.19 ±0.21 / 41.49 ms │  1.07x slower │
│ QQuery 95 │ 110.34 / 112.18 ±1.57 / 113.92 ms │     60.38 / 60.99 ±0.67 / 62.28 ms │ +1.84x faster │
│ QQuery 96 │    25.65 / 27.79 ±2.60 / 32.72 ms │     23.38 / 25.87 ±3.48 / 32.57 ms │ +1.07x faster │
│ QQuery 97 │    49.57 / 50.14 ±0.50 / 50.94 ms │     52.66 / 55.23 ±2.19 / 59.00 ms │  1.10x slower │
│ QQuery 98 │    39.47 / 41.07 ±1.43 / 43.41 ms │     32.22 / 32.49 ±0.31 / 32.96 ms │ +1.26x faster │
│ QQuery 99 │    64.93 / 67.12 ±2.87 / 72.69 ms │     61.45 / 64.83 ±1.88 / 67.05 ms │     no change │
└───────────┴───────────────────────────────────┴────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Benchmark Summary                  ┃           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ Total Time (HEAD)                  │ 8789.01ms │
│ Total Time (combine-24086-25752)   │ 7033.22ms │
│ Average Time (HEAD)                │   88.78ms │
│ Average Time (combine-24086-25752) │   71.04ms │
│ Queries Faster                     │        51 │
│ Queries Slower                     │        20 │
│ Queries with No Change             │        28 │
│ Queries with Failure               │         0 │
└────────────────────────────────────┴───────────┘

Resource Usage

tpcds — base (merge-base)

Metric Value
Wall time 45.0s
Peak memory 1.4 GiB
Avg memory 1.1 GiB
CPU user 125.8s
CPU sys 5.9s
Peak spill 0 B

tpcds — branch

Metric Value
Wall time 40.0s
Peak memory 2.1 GiB
Avg memory 1.3 GiB
CPU user 99.8s
CPU sys 5.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 combine-24086-25752 (07caaa3) to 1ae6b87 (merge-base) diff

Run configuration
run benchmark tpcds
env:
  DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "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 combine-24086-25752
--------------------
Benchmark tpcds_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃      HEAD ┃ combine-24086-25752 ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │   5.10 ms │             5.87 ms │  1.15x slower │
│ QQuery 2  │  45.32 ms │            44.67 ms │     no change │
│ QQuery 3  │  26.89 ms │            25.05 ms │ +1.07x faster │
│ QQuery 4  │ 400.58 ms │           467.49 ms │  1.17x slower │
│ QQuery 5  │  73.95 ms │            51.19 ms │ +1.44x faster │
│ QQuery 6  │  37.30 ms │            31.93 ms │ +1.17x faster │
│ QQuery 7  │ 115.05 ms │            75.30 ms │ +1.53x faster │
│ QQuery 8  │  14.42 ms │            13.91 ms │     no change │
│ QQuery 9  │ 119.73 ms │            50.78 ms │ +2.36x faster │
│ QQuery 10 │  74.43 ms │            65.76 ms │ +1.13x faster │
│ QQuery 11 │ 246.35 ms │           289.22 ms │  1.17x slower │
│ QQuery 12 │  28.80 ms │            21.46 ms │ +1.34x faster │
│ QQuery 13 │ 118.77 ms │           119.87 ms │     no change │
│ QQuery 14 │ 403.74 ms │           374.69 ms │ +1.08x faster │
│ QQuery 15 │  24.56 ms │            24.01 ms │     no change │
│ QQuery 16 │   6.35 ms │             6.63 ms │     no change │
│ QQuery 17 │ 116.80 ms │            71.30 ms │ +1.64x faster │
│ QQuery 18 │ 196.43 ms │           106.81 ms │ +1.84x faster │
│ QQuery 19 │  40.30 ms │            45.13 ms │  1.12x slower │
│ QQuery 20 │  39.08 ms │            26.03 ms │ +1.50x faster │
│ QQuery 21 │  19.76 ms │            14.69 ms │ +1.35x faster │
│ QQuery 22 │  64.57 ms │            67.03 ms │     no change │
│ QQuery 23 │ 403.16 ms │           304.09 ms │ +1.33x faster │
│ QQuery 24 │ 426.52 ms │           160.83 ms │ +2.65x faster │
│ QQuery 25 │ 117.73 ms │            90.49 ms │ +1.30x faster │
│ QQuery 26 │  80.92 ms │            47.73 ms │ +1.70x faster │
│ QQuery 27 │   6.19 ms │             6.56 ms │  1.06x slower │
│ QQuery 28 │  77.13 ms │            57.56 ms │ +1.34x faster │
│ QQuery 29 │ 150.18 ms │            87.69 ms │ +1.71x faster │
│ QQuery 30 │  33.37 ms │            34.36 ms │     no change │
│ QQuery 31 │ 128.09 ms │           121.43 ms │ +1.05x faster │
│ QQuery 32 │  22.03 ms │            20.77 ms │ +1.06x faster │
│ QQuery 33 │  39.58 ms │            41.18 ms │     no change │
│ QQuery 34 │  10.89 ms │            11.14 ms │     no change │
│ QQuery 35 │  85.53 ms │            76.52 ms │ +1.12x faster │
│ QQuery 36 │   5.98 ms │             6.11 ms │     no change │
│ QQuery 37 │   7.29 ms │             7.02 ms │     no change │
│ QQuery 38 │  80.31 ms │            65.85 ms │ +1.22x faster │
│ QQuery 39 │  89.69 ms │            76.08 ms │ +1.18x faster │
│ QQuery 40 │  23.86 ms │            19.22 ms │ +1.24x faster │
│ QQuery 41 │  13.22 ms │            11.78 ms │ +1.12x faster │
│ QQuery 42 │  24.14 ms │            26.80 ms │  1.11x slower │
│ QQuery 43 │   4.83 ms │             4.86 ms │     no change │
│ QQuery 44 │   9.26 ms │             9.04 ms │     no change │
│ QQuery 45 │  27.12 ms │            27.63 ms │     no change │
│ QQuery 46 │  13.03 ms │            12.73 ms │     no change │
│ QQuery 47 │ 234.91 ms │           240.98 ms │     no change │
│ QQuery 48 │ 129.52 ms │            94.20 ms │ +1.37x faster │
│ QQuery 49 │ 122.71 ms │            70.96 ms │ +1.73x faster │
│ QQuery 50 │ 126.93 ms │            59.62 ms │ +2.13x faster │
│ QQuery 51 │ 102.91 ms │            95.68 ms │ +1.08x faster │
│ QQuery 52 │  24.33 ms │            27.18 ms │  1.12x slower │
│ QQuery 53 │  31.60 ms │            31.42 ms │     no change │
│ QQuery 54 │  29.74 ms │            30.17 ms │     no change │
│ QQuery 55 │  24.05 ms │            26.80 ms │  1.11x slower │
│ QQuery 56 │  36.18 ms │            42.15 ms │  1.17x slower │
│ QQuery 57 │ 143.46 ms │           170.09 ms │  1.19x slower │
│ QQuery 58 │  75.07 ms │            60.76 ms │ +1.24x faster │
│ QQuery 59 │  81.90 ms │            67.29 ms │ +1.22x faster │
│ QQuery 60 │  39.01 ms │            42.77 ms │  1.10x slower │
│ QQuery 61 │  12.15 ms │            12.09 ms │     no change │
│ QQuery 62 │  43.89 ms │            43.97 ms │     no change │
│ QQuery 63 │  31.27 ms │            31.63 ms │     no change │
│ QQuery 64 │ 711.01 ms │           291.91 ms │ +2.44x faster │
│ QQuery 65 │ 159.35 ms │            73.77 ms │ +2.16x faster │
│ QQuery 66 │  67.60 ms │            64.10 ms │ +1.05x faster │
│ QQuery 67 │ 274.83 ms │           258.77 ms │ +1.06x faster │
│ QQuery 68 │  12.84 ms │            12.89 ms │     no change │
│ QQuery 69 │  71.57 ms │            61.96 ms │ +1.16x faster │
│ QQuery 70 │ 124.07 ms │           107.77 ms │ +1.15x faster │
│ QQuery 71 │  32.89 ms │            38.02 ms │  1.16x slower │
│ QQuery 72 │ 220.52 ms │            92.56 ms │ +2.38x faster │
│ QQuery 73 │  11.17 ms │            10.55 ms │ +1.06x faster │
│ QQuery 74 │ 165.15 ms │           169.70 ms │     no change │
│ QQuery 75 │ 191.50 ms │           133.14 ms │ +1.44x faster │
│ QQuery 76 │  43.44 ms │            35.84 ms │ +1.21x faster │
│ QQuery 77 │  63.88 ms │            64.45 ms │     no change │
│ QQuery 78 │ 155.15 ms │           167.03 ms │  1.08x slower │
│ QQuery 79 │  70.11 ms │            71.95 ms │     no change │
│ QQuery 80 │  79.23 ms │            82.01 ms │     no change │
│ QQuery 81 │  29.25 ms │            28.28 ms │     no change │
│ QQuery 82 │  39.19 ms │            16.71 ms │ +2.35x faster │
│ QQuery 83 │  38.29 ms │            29.25 ms │ +1.31x faster │
│ QQuery 84 │  32.03 ms │            31.70 ms │     no change │
│ QQuery 85 │ 158.33 ms │            87.22 ms │ +1.82x faster │
│ QQuery 86 │  31.63 ms │            26.89 ms │ +1.18x faster │
│ QQuery 87 │  82.15 ms │            68.15 ms │ +1.21x faster │
│ QQuery 88 │  66.67 ms │            65.24 ms │     no change │
│ QQuery 89 │  44.32 ms │            37.18 ms │ +1.19x faster │
│ QQuery 90 │  18.78 ms │            18.22 ms │     no change │
│ QQuery 91 │  52.96 ms │            40.42 ms │ +1.31x faster │
│ QQuery 92 │  32.15 ms │            32.09 ms │     no change │
│ QQuery 93 │  51.77 ms │            50.66 ms │     no change │
│ QQuery 94 │  38.30 ms │            41.30 ms │  1.08x slower │
│ QQuery 95 │ 114.09 ms │            60.80 ms │ +1.88x faster │
│ QQuery 96 │  27.12 ms │            23.08 ms │ +1.18x faster │
│ QQuery 97 │  51.39 ms │            52.95 ms │     no change │
│ QQuery 98 │  40.37 ms │            31.91 ms │ +1.26x faster │
│ QQuery 99 │  66.77 ms │            65.37 ms │     no change │
└───────────┴───────────┴─────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Benchmark Summary                  ┃           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ Total Time (HEAD)                  │ 8857.88ms │
│ Total Time (combine-24086-25752)   │ 7017.89ms │
│ Average Time (HEAD)                │   89.47ms │
│ Average Time (combine-24086-25752) │   70.89ms │
│ Queries Faster                     │        51 │
│ Queries Slower                     │        14 │
│ Queries with No Change             │        34 │
│ Queries with Failure               │         0 │
└────────────────────────────────────┴───────────┘

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

Comparing HEAD and combine-24086-25752
--------------------
Benchmark tpcds_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                              HEAD ┃               combine-24086-25752 ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │       5.10 / 5.69 ±0.99 / 7.65 ms │       5.87 / 6.38 ±0.93 / 8.23 ms │  1.12x slower │
│ QQuery 2  │    45.32 / 46.00 ±0.41 / 46.49 ms │    44.67 / 45.16 ±0.60 / 46.29 ms │     no change │
│ QQuery 3  │    26.89 / 27.24 ±0.28 / 27.66 ms │    25.05 / 25.26 ±0.14 / 25.48 ms │ +1.08x faster │
│ QQuery 4  │ 400.58 / 405.73 ±3.46 / 410.22 ms │ 467.49 / 469.93 ±1.72 / 472.08 ms │  1.16x slower │
│ QQuery 5  │    73.95 / 74.60 ±0.43 / 75.15 ms │    51.19 / 51.91 ±0.47 / 52.57 ms │ +1.44x faster │
│ QQuery 6  │    37.30 / 37.59 ±0.21 / 37.82 ms │    31.93 / 33.62 ±2.99 / 39.58 ms │ +1.12x faster │
│ QQuery 7  │ 115.05 / 117.04 ±2.28 / 121.34 ms │    75.30 / 76.26 ±0.62 / 77.01 ms │ +1.53x faster │
│ QQuery 8  │    14.42 / 14.61 ±0.17 / 14.91 ms │    13.91 / 14.26 ±0.27 / 14.61 ms │     no change │
│ QQuery 9  │ 119.73 / 125.90 ±4.24 / 132.11 ms │    50.78 / 53.44 ±2.10 / 56.51 ms │ +2.36x faster │
│ QQuery 10 │    74.43 / 74.89 ±0.37 / 75.45 ms │    65.76 / 67.25 ±1.89 / 70.86 ms │ +1.11x faster │
│ QQuery 11 │ 246.35 / 250.59 ±6.51 / 263.56 ms │ 289.22 / 292.68 ±2.17 / 294.96 ms │  1.17x slower │
│ QQuery 12 │    28.80 / 31.68 ±4.44 / 40.44 ms │    21.46 / 22.03 ±0.33 / 22.40 ms │ +1.44x faster │
│ QQuery 13 │ 118.77 / 120.69 ±2.28 / 124.90 ms │ 119.87 / 121.01 ±1.06 / 122.70 ms │     no change │
│ QQuery 14 │ 403.74 / 409.42 ±5.19 / 418.64 ms │ 374.69 / 378.21 ±3.62 / 384.94 ms │ +1.08x faster │
│ QQuery 15 │    24.56 / 25.86 ±1.62 / 29.05 ms │    24.01 / 24.22 ±0.14 / 24.46 ms │ +1.07x faster │
│ QQuery 16 │       6.35 / 6.46 ±0.12 / 6.69 ms │       6.63 / 6.75 ±0.10 / 6.90 ms │     no change │
│ QQuery 17 │ 116.80 / 121.63 ±7.52 / 136.60 ms │    71.30 / 71.86 ±0.45 / 72.37 ms │ +1.69x faster │
│ QQuery 18 │ 196.43 / 201.07 ±3.60 / 206.85 ms │ 106.81 / 108.36 ±1.24 / 110.04 ms │ +1.86x faster │
│ QQuery 19 │    40.30 / 41.26 ±0.77 / 42.25 ms │    45.13 / 45.54 ±0.28 / 45.97 ms │  1.10x slower │
│ QQuery 20 │    39.08 / 39.79 ±0.59 / 40.72 ms │    26.03 / 26.57 ±0.39 / 27.22 ms │ +1.50x faster │
│ QQuery 21 │    19.76 / 19.93 ±0.14 / 20.10 ms │    14.69 / 15.83 ±0.95 / 16.87 ms │ +1.26x faster │
│ QQuery 22 │    64.57 / 66.58 ±2.13 / 70.49 ms │    67.03 / 67.97 ±0.74 / 68.90 ms │     no change │
│ QQuery 23 │ 403.16 / 408.70 ±6.00 / 420.27 ms │ 304.09 / 309.11 ±4.06 / 316.02 ms │ +1.32x faster │
│ QQuery 24 │ 426.52 / 436.29 ±8.22 / 450.05 ms │ 160.83 / 163.50 ±1.83 / 166.54 ms │ +2.67x faster │
│ QQuery 25 │ 117.73 / 121.17 ±5.44 / 131.90 ms │    90.49 / 91.20 ±0.40 / 91.62 ms │ +1.33x faster │
│ QQuery 26 │    80.92 / 82.87 ±2.58 / 87.82 ms │    47.73 / 48.69 ±0.78 / 50.06 ms │ +1.70x faster │
│ QQuery 27 │       6.19 / 6.29 ±0.11 / 6.50 ms │       6.56 / 6.71 ±0.11 / 6.85 ms │  1.07x slower │
│ QQuery 28 │    77.13 / 78.79 ±1.79 / 81.95 ms │    57.56 / 57.99 ±0.47 / 58.83 ms │ +1.36x faster │
│ QQuery 29 │ 150.18 / 154.07 ±5.42 / 164.66 ms │    87.69 / 88.57 ±0.73 / 89.86 ms │ +1.74x faster │
│ QQuery 30 │    33.37 / 35.08 ±2.66 / 40.38 ms │    34.36 / 34.96 ±0.84 / 36.61 ms │     no change │
│ QQuery 31 │ 128.09 / 131.64 ±4.26 / 138.47 ms │ 121.43 / 123.12 ±2.47 / 128.02 ms │ +1.07x faster │
│ QQuery 32 │    22.03 / 22.38 ±0.18 / 22.55 ms │    20.77 / 21.26 ±0.29 / 21.56 ms │ +1.05x faster │
│ QQuery 33 │    39.58 / 40.06 ±0.24 / 40.25 ms │    41.18 / 41.43 ±0.19 / 41.71 ms │     no change │
│ QQuery 34 │    10.89 / 11.06 ±0.08 / 11.13 ms │    11.14 / 11.42 ±0.24 / 11.79 ms │     no change │
│ QQuery 35 │    85.53 / 88.47 ±4.29 / 96.86 ms │    76.52 / 78.58 ±1.81 / 81.65 ms │ +1.13x faster │
│ QQuery 36 │       5.98 / 6.11 ±0.10 / 6.29 ms │       6.11 / 6.22 ±0.12 / 6.43 ms │     no change │
│ QQuery 37 │       7.29 / 7.37 ±0.06 / 7.45 ms │       7.02 / 7.24 ±0.21 / 7.61 ms │     no change │
│ QQuery 38 │    80.31 / 80.87 ±0.34 / 81.34 ms │    65.85 / 67.04 ±0.72 / 67.82 ms │ +1.21x faster │
│ QQuery 39 │    89.69 / 91.34 ±1.78 / 94.79 ms │    76.08 / 76.97 ±0.87 / 78.39 ms │ +1.19x faster │
│ QQuery 40 │    23.86 / 24.08 ±0.21 / 24.47 ms │    19.22 / 20.07 ±0.53 / 20.63 ms │ +1.20x faster │
│ QQuery 41 │    13.22 / 13.29 ±0.11 / 13.52 ms │    11.78 / 11.92 ±0.21 / 12.34 ms │ +1.12x faster │
│ QQuery 42 │    24.14 / 24.42 ±0.35 / 25.11 ms │    26.80 / 27.34 ±0.51 / 28.31 ms │  1.12x slower │
│ QQuery 43 │       4.83 / 4.95 ±0.17 / 5.28 ms │       4.86 / 5.00 ±0.13 / 5.24 ms │     no change │
│ QQuery 44 │       9.26 / 9.36 ±0.09 / 9.53 ms │       9.04 / 9.22 ±0.14 / 9.45 ms │     no change │
│ QQuery 45 │    27.12 / 27.37 ±0.21 / 27.65 ms │    27.63 / 31.71 ±3.11 / 34.67 ms │  1.16x slower │
│ QQuery 46 │    13.03 / 13.53 ±0.48 / 14.35 ms │    12.73 / 13.32 ±0.52 / 13.93 ms │     no change │
│ QQuery 47 │ 234.91 / 242.75 ±7.55 / 253.65 ms │ 240.98 / 243.31 ±2.42 / 247.84 ms │     no change │
│ QQuery 48 │ 129.52 / 132.04 ±3.47 / 138.51 ms │    94.20 / 95.26 ±1.55 / 98.30 ms │ +1.39x faster │
│ QQuery 49 │ 122.71 / 124.23 ±1.82 / 127.61 ms │    70.96 / 71.81 ±0.60 / 72.83 ms │ +1.73x faster │
│ QQuery 50 │ 126.93 / 128.78 ±2.18 / 133.06 ms │    59.62 / 61.04 ±1.30 / 63.25 ms │ +2.11x faster │
│ QQuery 51 │ 102.91 / 109.28 ±8.74 / 126.55 ms │   95.68 / 97.77 ±3.41 / 104.57 ms │ +1.12x faster │
│ QQuery 52 │    24.33 / 24.70 ±0.29 / 25.10 ms │    27.18 / 27.32 ±0.14 / 27.52 ms │  1.11x slower │
│ QQuery 53 │    31.60 / 31.65 ±0.04 / 31.70 ms │    31.42 / 31.63 ±0.15 / 31.87 ms │     no change │
│ QQuery 54 │    29.74 / 31.12 ±1.05 / 32.27 ms │    30.17 / 32.74 ±1.77 / 35.46 ms │  1.05x slower │
│ QQuery 55 │    24.05 / 25.80 ±2.49 / 30.61 ms │    26.80 / 27.03 ±0.32 / 27.65 ms │     no change │
│ QQuery 56 │    36.18 / 36.50 ±0.21 / 36.80 ms │    42.15 / 44.66 ±3.48 / 51.47 ms │  1.22x slower │
│ QQuery 57 │ 143.46 / 144.28 ±0.89 / 145.93 ms │ 170.09 / 171.64 ±1.61 / 174.72 ms │  1.19x slower │
│ QQuery 58 │    75.07 / 78.60 ±4.29 / 87.01 ms │    60.76 / 61.78 ±1.02 / 63.16 ms │ +1.27x faster │
│ QQuery 59 │    81.90 / 82.60 ±0.87 / 84.31 ms │    67.29 / 68.05 ±0.94 / 69.89 ms │ +1.21x faster │
│ QQuery 60 │    39.01 / 39.51 ±0.31 / 39.87 ms │    42.77 / 43.17 ±0.40 / 43.88 ms │  1.09x slower │
│ QQuery 61 │    12.15 / 14.82 ±5.14 / 25.09 ms │    12.09 / 12.31 ±0.16 / 12.60 ms │ +1.20x faster │
│ QQuery 62 │    43.89 / 45.54 ±1.41 / 47.25 ms │    43.97 / 45.50 ±2.28 / 50.03 ms │     no change │
│ QQuery 63 │    31.27 / 32.17 ±0.58 / 32.94 ms │    31.63 / 32.06 ±0.34 / 32.57 ms │     no change │
│ QQuery 64 │ 711.01 / 722.37 ±8.26 / 735.47 ms │ 291.91 / 295.68 ±2.81 / 299.73 ms │ +2.44x faster │
│ QQuery 65 │ 159.35 / 162.54 ±2.80 / 167.16 ms │    73.77 / 76.06 ±2.91 / 81.70 ms │ +2.14x faster │
│ QQuery 66 │    67.60 / 69.28 ±1.21 / 70.39 ms │    64.10 / 64.97 ±0.54 / 65.61 ms │ +1.07x faster │
│ QQuery 67 │ 274.83 / 281.60 ±6.47 / 292.71 ms │ 258.77 / 268.25 ±7.38 / 280.89 ms │     no change │
│ QQuery 68 │    12.84 / 13.01 ±0.15 / 13.28 ms │    12.89 / 12.97 ±0.08 / 13.11 ms │     no change │
│ QQuery 69 │    71.57 / 75.37 ±5.02 / 85.24 ms │    61.96 / 64.68 ±4.89 / 74.45 ms │ +1.17x faster │
│ QQuery 70 │ 124.07 / 131.40 ±6.08 / 139.26 ms │ 107.77 / 108.52 ±0.70 / 109.76 ms │ +1.21x faster │
│ QQuery 71 │    32.89 / 33.15 ±0.19 / 33.36 ms │    38.02 / 38.53 ±0.52 / 39.50 ms │  1.16x slower │
│ QQuery 72 │ 220.52 / 224.48 ±4.91 / 233.91 ms │   92.56 / 97.38 ±5.63 / 108.08 ms │ +2.31x faster │
│ QQuery 73 │    11.17 / 14.58 ±5.75 / 26.00 ms │    10.55 / 10.95 ±0.29 / 11.47 ms │ +1.33x faster │
│ QQuery 74 │ 165.15 / 167.25 ±2.50 / 172.15 ms │ 169.70 / 174.20 ±3.61 / 180.73 ms │     no change │
│ QQuery 75 │ 191.50 / 194.13 ±3.12 / 199.71 ms │ 133.14 / 142.75 ±7.65 / 153.48 ms │ +1.36x faster │
│ QQuery 76 │    43.44 / 46.66 ±4.79 / 55.92 ms │    35.84 / 36.70 ±0.46 / 37.22 ms │ +1.27x faster │
│ QQuery 77 │    63.88 / 64.78 ±0.80 / 66.26 ms │    64.45 / 65.23 ±0.48 / 65.75 ms │     no change │
│ QQuery 78 │ 155.15 / 158.50 ±3.62 / 164.37 ms │ 167.03 / 173.13 ±6.32 / 184.30 ms │  1.09x slower │
│ QQuery 79 │    70.11 / 70.34 ±0.18 / 70.62 ms │    71.95 / 73.85 ±1.84 / 77.23 ms │     no change │
│ QQuery 80 │    79.23 / 79.59 ±0.46 / 80.49 ms │    82.01 / 82.51 ±0.39 / 83.18 ms │     no change │
│ QQuery 81 │    29.25 / 32.41 ±5.25 / 42.88 ms │    28.28 / 28.36 ±0.11 / 28.57 ms │ +1.14x faster │
│ QQuery 82 │    39.19 / 39.62 ±0.34 / 40.23 ms │    16.71 / 16.95 ±0.24 / 17.34 ms │ +2.34x faster │
│ QQuery 83 │    38.29 / 40.53 ±3.88 / 48.27 ms │    29.25 / 29.94 ±0.54 / 30.84 ms │ +1.35x faster │
│ QQuery 84 │    32.03 / 32.29 ±0.29 / 32.74 ms │    31.70 / 33.35 ±2.59 / 38.48 ms │     no change │
│ QQuery 85 │ 158.33 / 162.94 ±4.54 / 169.81 ms │    87.22 / 89.41 ±3.40 / 96.09 ms │ +1.82x faster │
│ QQuery 86 │    31.63 / 33.15 ±2.42 / 37.97 ms │    26.89 / 27.93 ±0.89 / 29.37 ms │ +1.19x faster │
│ QQuery 87 │    82.15 / 84.37 ±3.12 / 90.51 ms │    68.15 / 68.89 ±0.40 / 69.19 ms │ +1.22x faster │
│ QQuery 88 │    66.67 / 68.24 ±1.73 / 70.94 ms │    65.24 / 68.31 ±4.85 / 77.94 ms │     no change │
│ QQuery 89 │    44.32 / 45.23 ±1.52 / 48.26 ms │    37.18 / 37.86 ±0.62 / 38.61 ms │ +1.19x faster │
│ QQuery 90 │    18.78 / 18.95 ±0.11 / 19.08 ms │    18.22 / 18.47 ±0.14 / 18.64 ms │     no change │
│ QQuery 91 │    52.96 / 53.90 ±0.63 / 54.53 ms │    40.42 / 42.54 ±2.51 / 45.72 ms │ +1.27x faster │
│ QQuery 92 │    32.15 / 36.07 ±5.39 / 46.68 ms │    32.09 / 33.22 ±0.83 / 34.51 ms │ +1.09x faster │
│ QQuery 93 │    51.77 / 53.08 ±0.88 / 54.45 ms │    50.66 / 51.55 ±1.02 / 53.48 ms │     no change │
│ QQuery 94 │    38.30 / 39.22 ±1.33 / 41.84 ms │    41.30 / 42.45 ±1.20 / 44.76 ms │  1.08x slower │
│ QQuery 95 │ 114.09 / 115.54 ±1.64 / 118.43 ms │    60.80 / 61.36 ±0.45 / 62.02 ms │ +1.88x faster │
│ QQuery 96 │    27.12 / 27.50 ±0.61 / 28.71 ms │    23.08 / 23.46 ±0.34 / 24.07 ms │ +1.17x faster │
│ QQuery 97 │    51.39 / 52.35 ±0.64 / 53.12 ms │    52.95 / 56.02 ±2.07 / 58.77 ms │  1.07x slower │
│ QQuery 98 │    40.37 / 41.53 ±1.18 / 43.65 ms │    31.91 / 32.00 ±0.08 / 32.14 ms │ +1.30x faster │
│ QQuery 99 │    66.77 / 67.97 ±1.05 / 69.78 ms │    65.37 / 66.71 ±1.67 / 69.94 ms │     no change │
└───────────┴───────────────────────────────────┴───────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Benchmark Summary                  ┃           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ Total Time (HEAD)                  │ 9062.11ms │
│ Total Time (combine-24086-25752)   │ 7159.32ms │
│ Average Time (HEAD)                │   91.54ms │
│ Average Time (combine-24086-25752) │   72.32ms │
│ Queries Faster                     │        54 │
│ Queries Slower                     │        16 │
│ Queries with No Change             │        29 │
│ Queries with Failure               │         0 │
└────────────────────────────────────┴───────────┘

Resource Usage

tpcds — base (merge-base)

Metric Value
Wall time 50.0s
Peak memory 1.5 GiB
Avg memory 1.0 GiB
CPU user 128.7s
CPU sys 6.0s
Peak spill 0 B

tpcds — branch

Metric Value
Wall time 40.0s
Peak memory 1.9 GiB
Avg memory 1.2 GiB
CPU user 102.1s
CPU sys 4.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 combine-24086-25752 (07caaa3) to 1ae6b87 (merge-base) diff

Run configuration
run benchmark clickbench_partitioned
env:
  DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "true"
changed:
  env:
    DATAFUSION_EXECUTION_PARQUET_READ_AHEAD_BYTES: "104857600"
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 combine-24086-25752
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃       HEAD ┃ combine-24086-25752 ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0  │    1.29 ms │             1.32 ms │     no change │
│ QQuery 1  │   13.11 ms │            13.21 ms │     no change │
│ QQuery 2  │   36.64 ms │            39.03 ms │  1.07x slower │
│ QQuery 3  │   32.07 ms │            33.62 ms │     no change │
│ QQuery 4  │  251.05 ms │           251.31 ms │     no change │
│ QQuery 5  │  286.20 ms │           295.17 ms │     no change │
│ QQuery 6  │    1.37 ms │             1.37 ms │     no change │
│ QQuery 7  │   17.23 ms │            14.64 ms │ +1.18x faster │
│ QQuery 8  │  358.43 ms │           363.80 ms │     no change │
│ QQuery 9  │  494.67 ms │           520.71 ms │  1.05x slower │
│ QQuery 10 │   98.05 ms │            67.37 ms │ +1.46x faster │
│ QQuery 11 │  109.08 ms │            79.55 ms │ +1.37x faster │
│ QQuery 12 │  315.32 ms │           287.02 ms │ +1.10x faster │
│ QQuery 13 │  420.27 ms │           375.16 ms │ +1.12x faster │
│ QQuery 14 │  331.18 ms │           289.94 ms │ +1.14x faster │
│ QQuery 15 │  297.00 ms │           306.41 ms │     no change │
│ QQuery 16 │  647.68 ms │           647.24 ms │     no change │
│ QQuery 17 │  669.26 ms │           673.23 ms │     no change │
│ QQuery 18 │ 1320.54 ms │          1330.01 ms │     no change │
│ QQuery 19 │   30.29 ms │            29.06 ms │     no change │
│ QQuery 20 │  521.99 ms │           523.72 ms │     no change │
│ QQuery 21 │  582.73 ms │           553.35 ms │ +1.05x faster │
│ QQuery 22 │  800.74 ms │          1036.44 ms │  1.29x slower │
│ QQuery 23 │  135.08 ms │           212.36 ms │  1.57x slower │
│ QQuery 24 │   46.67 ms │            33.56 ms │ +1.39x faster │
│ QQuery 25 │  148.16 ms │           108.02 ms │ +1.37x faster │
│ QQuery 26 │   51.35 ms │            39.74 ms │ +1.29x faster │
│ QQuery 27 │  574.38 ms │           521.56 ms │ +1.10x faster │
│ QQuery 28 │ 2981.70 ms │          2947.70 ms │     no change │
│ QQuery 29 │   42.29 ms │            43.55 ms │     no change │
│ QQuery 30 │  324.29 ms │           327.36 ms │     no change │
│ QQuery 31 │  304.75 ms │           292.93 ms │     no change │
│ QQuery 32 │ 1025.59 ms │          1016.93 ms │     no change │
│ QQuery 33 │ 1512.10 ms │          1522.49 ms │     no change │
│ QQuery 34 │ 1598.88 ms │          1593.99 ms │     no change │
│ QQuery 35 │  328.06 ms │           331.27 ms │     no change │
│ QQuery 36 │   70.45 ms │            69.21 ms │     no change │
│ QQuery 37 │   38.92 ms │            39.16 ms │     no change │
│ QQuery 38 │   39.61 ms │            40.10 ms │     no change │
│ QQuery 39 │  142.20 ms │           151.88 ms │  1.07x slower │
│ QQuery 40 │   19.70 ms │            15.17 ms │ +1.30x faster │
│ QQuery 41 │   17.90 ms │            14.96 ms │ +1.20x faster │
│ QQuery 42 │   14.94 ms │            14.40 ms │     no change │
└───────────┴────────────┴─────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                  ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                  │ 17053.21ms │
│ Total Time (combine-24086-25752)   │ 17069.02ms │
│ Average Time (HEAD)                │   396.59ms │
│ Average Time (combine-24086-25752) │   396.95ms │
│ Queries Faster                     │         13 │
│ Queries Slower                     │          5 │
│ Queries with No Change             │         25 │
│ Queries with Failure               │          0 │
└────────────────────────────────────┴────────────┘

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

Comparing HEAD and combine-24086-25752
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                  HEAD ┃                   combine-24086-25752 ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0  │          1.29 / 4.17 ±5.62 / 15.40 ms │          1.32 / 4.28 ±5.76 / 15.79 ms │     no change │
│ QQuery 1  │        13.11 / 13.53 ±0.40 / 14.14 ms │        13.21 / 13.33 ±0.09 / 13.49 ms │     no change │
│ QQuery 2  │        36.64 / 36.92 ±0.32 / 37.48 ms │        39.03 / 39.34 ±0.19 / 39.60 ms │  1.07x slower │
│ QQuery 3  │        32.07 / 32.67 ±0.49 / 33.53 ms │        33.62 / 33.87 ±0.36 / 34.56 ms │     no change │
│ QQuery 4  │     251.05 / 255.73 ±4.11 / 262.34 ms │     251.31 / 259.66 ±5.53 / 268.45 ms │     no change │
│ QQuery 5  │     286.20 / 290.79 ±2.54 / 293.41 ms │     295.17 / 300.62 ±3.97 / 307.33 ms │     no change │
│ QQuery 6  │           1.37 / 1.54 ±0.24 / 2.00 ms │           1.37 / 1.51 ±0.23 / 1.96 ms │     no change │
│ QQuery 7  │        17.23 / 17.37 ±0.10 / 17.52 ms │        14.64 / 14.85 ±0.18 / 15.14 ms │ +1.17x faster │
│ QQuery 8  │     358.43 / 360.62 ±2.08 / 363.65 ms │     363.80 / 368.37 ±3.16 / 373.72 ms │     no change │
│ QQuery 9  │     494.67 / 503.01 ±5.96 / 510.07 ms │     520.71 / 534.17 ±8.10 / 542.62 ms │  1.06x slower │
│ QQuery 10 │       98.05 / 99.39 ±0.93 / 100.72 ms │        67.37 / 68.36 ±0.63 / 69.23 ms │ +1.45x faster │
│ QQuery 11 │     109.08 / 111.17 ±1.77 / 114.39 ms │        79.55 / 82.42 ±4.19 / 90.64 ms │ +1.35x faster │
│ QQuery 12 │     315.32 / 321.49 ±5.60 / 329.64 ms │     287.02 / 292.07 ±5.68 / 303.00 ms │ +1.10x faster │
│ QQuery 13 │    420.27 / 440.83 ±12.76 / 458.48 ms │    375.16 / 399.37 ±15.52 / 417.98 ms │ +1.10x faster │
│ QQuery 14 │     331.18 / 339.31 ±7.13 / 351.46 ms │    289.94 / 302.98 ±14.46 / 330.34 ms │ +1.12x faster │
│ QQuery 15 │     297.00 / 304.55 ±9.55 / 320.30 ms │    306.41 / 327.05 ±19.64 / 359.78 ms │  1.07x slower │
│ QQuery 16 │     647.68 / 661.87 ±9.71 / 677.09 ms │    647.24 / 687.85 ±32.86 / 737.85 ms │     no change │
│ QQuery 17 │    669.26 / 682.61 ±14.96 / 709.57 ms │     673.23 / 675.70 ±1.69 / 677.94 ms │     no change │
│ QQuery 18 │ 1320.54 / 1358.19 ±23.96 / 1381.10 ms │ 1330.01 / 1355.85 ±14.43 / 1367.77 ms │     no change │
│ QQuery 19 │        30.29 / 31.96 ±2.00 / 35.39 ms │        29.06 / 37.27 ±9.62 / 53.97 ms │  1.17x slower │
│ QQuery 20 │     521.99 / 529.54 ±6.64 / 541.64 ms │     523.72 / 528.38 ±4.47 / 535.85 ms │     no change │
│ QQuery 21 │     582.73 / 591.52 ±7.66 / 601.36 ms │     553.35 / 562.34 ±8.12 / 573.96 ms │     no change │
│ QQuery 22 │    800.74 / 812.40 ±12.45 / 836.29 ms │  1036.44 / 1042.12 ±4.07 / 1046.88 ms │  1.28x slower │
│ QQuery 23 │     135.08 / 141.87 ±7.93 / 156.63 ms │     212.36 / 220.08 ±5.05 / 225.94 ms │  1.55x slower │
│ QQuery 24 │        46.67 / 48.75 ±3.26 / 55.24 ms │       33.56 / 52.52 ±23.01 / 89.29 ms │  1.08x slower │
│ QQuery 25 │     148.16 / 152.57 ±4.71 / 161.30 ms │     108.02 / 109.70 ±2.13 / 113.84 ms │ +1.39x faster │
│ QQuery 26 │        51.35 / 52.17 ±1.18 / 54.51 ms │        39.74 / 42.69 ±3.41 / 49.23 ms │ +1.22x faster │
│ QQuery 27 │    574.38 / 584.82 ±11.51 / 604.15 ms │     521.56 / 528.72 ±4.74 / 535.22 ms │ +1.11x faster │
│ QQuery 28 │ 2981.70 / 2998.25 ±11.51 / 3015.05 ms │ 2947.70 / 2964.81 ±11.20 / 2977.74 ms │     no change │
│ QQuery 29 │        42.29 / 42.60 ±0.23 / 42.91 ms │      43.55 / 59.22 ±29.45 / 118.08 ms │  1.39x slower │
│ QQuery 30 │     324.29 / 333.42 ±7.58 / 346.14 ms │     327.36 / 333.07 ±5.12 / 342.18 ms │     no change │
│ QQuery 31 │     304.75 / 314.29 ±8.16 / 327.82 ms │     292.93 / 302.36 ±6.05 / 311.69 ms │     no change │
│ QQuery 32 │ 1025.59 / 1066.35 ±38.16 / 1116.32 ms │ 1016.93 / 1047.23 ±24.96 / 1082.77 ms │     no change │
│ QQuery 33 │ 1512.10 / 1543.53 ±18.70 / 1563.49 ms │ 1522.49 / 1598.32 ±47.32 / 1671.97 ms │     no change │
│ QQuery 34 │ 1598.88 / 1629.50 ±33.66 / 1691.31 ms │ 1593.99 / 1618.12 ±17.28 / 1636.63 ms │     no change │
│ QQuery 35 │    328.06 / 352.69 ±39.63 / 430.85 ms │     331.27 / 340.79 ±8.17 / 354.69 ms │     no change │
│ QQuery 36 │        70.45 / 78.88 ±6.81 / 89.62 ms │        69.21 / 76.46 ±6.65 / 88.65 ms │     no change │
│ QQuery 37 │        38.92 / 46.37 ±5.71 / 52.77 ms │        39.16 / 43.39 ±2.58 / 45.89 ms │ +1.07x faster │
│ QQuery 38 │        39.61 / 42.90 ±4.86 / 52.47 ms │        40.10 / 42.35 ±1.88 / 44.82 ms │     no change │
│ QQuery 39 │     142.20 / 152.22 ±5.16 / 156.89 ms │     151.88 / 160.43 ±5.31 / 165.88 ms │  1.05x slower │
│ QQuery 40 │        19.70 / 21.97 ±2.59 / 26.09 ms │        15.17 / 15.47 ±0.24 / 15.78 ms │ +1.42x faster │
│ QQuery 41 │        17.90 / 20.52 ±4.06 / 28.58 ms │        14.96 / 15.48 ±0.51 / 16.36 ms │ +1.33x faster │
│ QQuery 42 │        14.94 / 15.34 ±0.40 / 16.09 ms │        14.40 / 14.54 ±0.10 / 14.67 ms │ +1.06x faster │
└───────────┴───────────────────────────────────────┴───────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                  ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                  │ 17440.18ms │
│ Total Time (combine-24086-25752)   │ 17517.54ms │
│ Average Time (HEAD)                │   405.59ms │
│ Average Time (combine-24086-25752) │   407.38ms │
│ Queries Faster                     │         13 │
│ Queries Slower                     │          9 │
│ Queries with No Change             │         21 │
│ Queries with Failure               │          0 │
└────────────────────────────────────┴────────────┘

Resource Usage

clickbench_partitioned — base (merge-base)

Metric Value
Wall time 90.0s
Peak memory 11.4 GiB
Avg memory 4.7 GiB
CPU user 889.3s
CPU sys 60.8s
Peak spill 0 B

clickbench_partitioned — branch

Metric Value
Wall time 90.0s
Peak memory 12.4 GiB
Avg memory 5.0 GiB
CPU user 886.3s
CPU sys 62.6s
Peak spill 0 B

File an issue against this benchmark runner

adriangb and others added 24 commits October 4, 2026 21:55
Each file of a scan made its own gates, thus each file paid for a window
of each optional filter before the gate could pause it, and each gate
probed on its own (TPC-H Q9: five join filters that remove no rows and a
CASE routing filter at 83 ns for each row, in each of 12 files).

`ParquetSource` now keeps an `OptionalFilterSites` map (reset when the
predicate changes, like the decode speed): one `SharedGateVerdict` for
each optional filter, keyed by the expression id of the filter. All gates
of the filter in all files and partitions of the scan use it. A filter
without an expression id does not share its pauses.

PR: apache#25682

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ne model

The adaptive filter placement started each required conjunct in the
post-scan filter, but it put each optional filter in the row filter. The
row filter runs before the post-scan filter, thus the optional filters saw
all rows first (TPC-DS Q13: a CASE routing filter on 2.69M rows, where the
required filters leave 89K rows; ClickBench Q25: the TopK filter on the
87% of rows that `SearchPhrase <> ''` removes).

Now required and optional conjuncts use the same model and the same
pooled measurements. The only difference is the action set: an optional
conjunct is skipped while its gate is paused.

* Placement: each conjunct starts in the post-scan filter and moves to the
  row filter on measured evidence (skippable rows times unread output
  bytes against the stage cost, the fetch latency and the second decode).
  A conjunct that reads all output columns has no unread bytes, thus no
  decode saving.
* Order: in each stage, the conjuncts run by measured rows removed for
  each nanosecond (`FilterCost::rows_removed_per_nano`, the key of the
  adaptive conjunct order of `FilterExec`). Unmeasured conjuncts run first
  in the written order, so that they are measured on all rows of their
  stage. The pooled statistics now include the evaluation time. The
  statistics prior is recorded for optional conjuncts too.
* The post-scan filter asks the gate of an optional conjunct for each
  batch. The measured saving and stage cost of the gate apply only while
  the conjunct is a row filter predicate.
* A placement change rebuilds the decoder only when its projection mask
  or its `RowFilter` changes. When only the post-scan filter changes (for
  example an optional conjunct on output columns that its gate pauses and
  probes), the stream swaps the post-scan filter.

PR: apache#25727

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The measurements are noisy near a decision boundary of the placement
model, and each change can rebuild the decoder (128 placement changes in
ClickBench Q25). After the n-th change of a file, the next change now
waits for 2^(n-1) - 1 row group boundaries, thus a file whose decision
flips again and again changes at most log2(row groups) + 1 times. This
applies to all decisions of the model (placement and evaluation order) in
the same way.

PR: apache#25727

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Three measurement gaps of the placement model:

* A conjunct in the post-scan filter sees only the rows that the row
  filter lets pass. When the row filter removes most rows, the conjunct
  never gets enough measurements for a better placement or order
  (ClickBench Q23: the TopK filter on `EventTime` behind the `URL LIKE`
  row filter saw about 1K of 100M rows, thus it stayed behind the
  expensive `LIKE`). A conjunct without enough measurements is now the
  first predicate of the row filter when the row filter is used, thus it
  is measured on all rows. This costs one row filter stage until the
  pooled measurements have `MIN_OBSERVED_ROWS` rows.
* The pooled measurements of a conjunct with a dynamic filter described
  all generations of the filter together (for example the `true`
  placeholder of a TopK filter). They are now cleared when the generation
  of the filter increases.
* For the same reason, the row group pruning result (the statistics prior,
  which overrides the measured evidence) is not recorded for a conjunct
  whose dynamic filters can still change: it describes the filter at file
  open.

PR: apache#25727

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ests

The gate decides only on windows of at least `MIN_OBSERVED_ROWS` rows.

PR: apache#25682

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…model

The filter placement and the optional filter gates now use the same
sample size (`filter_stats::MIN_OBSERVED_ROWS`). The tests of gated
conjuncts use windows of this size.

PR: apache#25727

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…tatistics prior

The statistics prior (a conjunct that the row group statistics pruned in
at least half of the row groups stays in the post-scan filter) overrode
the measured evidence. A prior must yield to evidence. Before a conjunct
has `MIN_OBSERVED_ROWS` measured rows, it is in the post-scan filter
anyway, thus a prior that yields to evidence never changes a decision.
This removes the prior from the placement model
(`CLUSTERED_PRUNED_FRACTION`) and the pruning counts from the pooled
statistics. The model does not need the per-conjunct pruning statistics
of apache#25726 any more.

PR: apache#25727

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…er nanosecond

`order_candidates` put the gated optional predicates after all required
predicates, and `prebuild_row_filter_candidates` built them in that order
too. This is a rule for one kind of filter, not a measurement.

Now all predicates of the `RowFilter` (without adaptive filter placement)
use one rule: before the measurements, the written order of the predicate
(or by `required_bytes` with `reorder_predicates`); once a predicate has
`MIN_OBSERVED_ROWS` measured rows, by rows removed for each nanosecond
(`FilterCost::rows_removed_per_nano`, the key of the adaptive conjunct
order of `FilterExec`). An unmeasured predicate comes first, so that it
is measured on all rows. Each predicate measures its rows and time in the
file. At each row group boundary the scan rebuilds the `RowFilter` when
the order changes, with hysteresis: after the n-th change, the next
change waits for 2^(n-1) - 1 row group boundaries.

`row_filter_cost` now has `rank`, `evaluation_order` and
`ChangeHysteresis`, for the adaptive filter placement too.

PR: apache#25682

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…filter order

The adaptive filter placement and the `RowFilter` order without placement
now use the same `row_filter_cost::rank`, `evaluation_order` and
`ChangeHysteresis`, thus the same rule and the same sample size.

PR: apache#25727

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…w filter

The placement model compared the decode time that a row filter saves with
the cost of a row filter stage, but the post-scan filter has a cost that
a row filter does not have: after a selective conjunct it copies the
working batch to the rows that pass (the compaction). The model did not
see it, thus it kept selective conjuncts in the post-scan filter where a
row filter was faster (TPC-DS Q72 and Q38 `catalog_sales`).

The post-scan filter now times each copy and adds it to the measurements
of the conjunct after which it copies. The model adds this time, for
each row of the input batches of the post-scan filter, to the benefit of
a row filter. There is no new constant: the term is measured.

PR: apache#25727

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ndows

A gate decides only on windows of at least `MIN_OBSERVED_ROWS` rows, thus
the tests use batches of 4096 rows (and more row groups for the test with
15-row row groups). The row group size is a multiple of the period of `a`
and of the write batch size, so that the page index cannot prune a page
with only a tail of the row group.

PR: apache#25682

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… each batch

The post-scan filter evaluated its conjuncts in the order of the
placement, which changes only at a row group boundary. A file range with
one or two row groups (TPC-DS SF1 `store_sales` has one file for 12
partitions) kept the written order until its end, before any pooled
measurement: in TPC-DS Q24 the join filter on `ss_ticket_number` (a hash
lookup, 12 ns for each row) ran on all rows before the filter on
`ss_store_sk` (2 ns for each row) that removes all of them.

Changing the post-scan order needs no decoder rebuild, thus the post-scan
filter now orders its conjuncts at each batch with the same rule as the
placement (`evaluation_order`: rows removed for each nanosecond, from the
pooled measurements, unmeasured conjuncts first in their order).

PR: apache#25727

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
`cargo doc` with `-D warnings` rejected a link to the removed
`ConjunctSiteKey` and two redundant explicit link targets.

PR: apache#25727

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…shold of AND

The post-scan filter copied the working batch (all its columns) to the
surviving rows when a conjunct kept at most 80% of them. The caller then
copies the surviving rows again when it applies the final mask. For a
cheap range predicate that keeps about half of the rows, the first copy
costs much more than the evaluation that it saves on the next conjunct.

TPC-DS Q82, `inventory` scan with `inv_quantity_on_hand BETWEEN 100 AND
500`, SF1, all 11.7M rows (EXPLAIN ANALYZE, 3 runs):

| | post-scan filter eval | scan compute |
|---|---|---|
| threshold 0.8 | 28.4 to 29.2 ms | 104 to 106 ms |
| threshold 0.2 | 4.5 to 4.6 ms | 74 to 78 ms |
| main, `FilterExec` above the scan | 11.7 to 14.1 ms (`FilterExec`) | 64 to 66 ms |

The threshold is now `PRE_SELECTION_THRESHOLD` (0.2), the threshold of
`AND` in `BinaryExpr` that a `FilterExec` uses. Thus the post-scan filter
makes the same copy decision as the `FilterExec` that it replaces. The
old comment gave a `CASE` dynamic filter as the reason for 0.8; the
partitioned hash join dynamic filters are no longer `CASE` expressions,
and optional filters have gates and a measured order.

Without a compaction, the working batch also has the rows that the
earlier conjuncts removed. The measurements of a later conjunct (its
placement statistics and its gate) now count these rows as passing, as
they do after a compaction. Before, a later conjunct got the credit for
rows that it did not remove.

Wall time, min of 16 runs, pushdown on: TPC-DS Q82 1.04x -> 0.96x of
main. TPC-H Q14 1.08x -> 0.94x, Q15 1.09x -> 1.00x, Q12 0.94x ->
0.84x. No other TPC-H, TPC-DS or ClickBench query changed outside the
A/A noise. A threshold of 0 (never compact) is slower on TPC-H Q20
(1.14x) and TPC-DS Q42, Q52, Q55 (1.2x), thus the compaction stays.

PR: apache#25727

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The tests of apache#25729 (page index select-all) and the test of apache#25727 for
the coalesced rows at row group boundaries show the TopK dynamic filter
in the scan predicate. With apache#25681 the pushed filter is
`Optional(DynamicFilter [...])`.

Integration of apache#25729, apache#25727 and apache#25681 in the final state branch.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
apache#25780 on main added `FileSource::exact_filter`: the part of the filter
that every output row satisfies, the only part that the scan derives
equivalences from. Its `ParquetSource` version returns the pushable
conjuncts when `pushdown_filters` is on, and nothing otherwise. This PR
changes both cases:

- A pruning-only predicate (a filter that stays in a `FilterExec` above
  a scan that cannot give the target partitions) is used only to prune,
  also with `pushdown_filters = true`. `exact_filter` returned it, thus
  the scan claimed that `a` is constant for `a = 5`, the
  order-preserving repartition merged on `b` only, and
  `ORDER BY b LIMIT 1` returned 2 instead of 1. It now returns `None`.
- With `pushdown_filters = false` the scan applies the accepted
  conjuncts in the post-scan filter. They are exact, thus
  `exact_filter` returns them. This keeps the plans of this PR (for
  example no `SortExec` for `ORDER BY b` with `b = 2`).

Tests: a new case in `push_down_filter_parquet.slt` (a plan pin and two
results that were wrong: `2` for `LIMIT 1`, and `5 2 / 5 1` for the
order) and `exact_filter` checks in the pruning-only unit test. The plan
of the apache#25780 case with `pushdown_filters = false` changes: the scan
applies `a = 5` and there is no `FilterExec`.

PR: apache#22384

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
`ParquetSource::exact_filter` (apache#25780) returns the conjuncts that every
output row satisfies. An optional conjunct is not one of them: the scan
does not evaluate it after the decode (this PR), and it drops it when
the `RowFilter` cannot evaluate it. `exact_filter` now skips optional
conjuncts, so that the scan claims no equivalence from them.

Test: `exact_filter_excludes_optional_conjuncts` (failed before this
change: `a@0 = 1 AND Optional(b@1 = 2)` with `pushdown_filters = false`).

PR: apache#25722

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
`ParquetSource::exact_filter` (apache#25780) returns the conjuncts that every
output row satisfies. An optional conjunct is not one of them: in the
`adaptive` mode its gate can skip it, in the `pruning_only` mode the scan
does not evaluate it, and the scan drops it when the `RowFilter` cannot
evaluate it. `exact_filter` now skips optional conjuncts in all modes, so
that the scan claims no equivalence from them.

Test: `exact_filter_excludes_optional_conjuncts` (failed before this
change: `a@0 = 1 AND Optional(b@1 = 2)`).

PR: apache#25682

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
With adaptive filter placement, an optional conjunct can be in the
post-scan filter (its gate asks for each batch) or skipped. Say so in the
documentation of `ParquetSource::exact_filter`, which already excludes
optional conjuncts.

PR: apache#25727

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The new `parquet_statistics.slt` case of apache#25795 on main pins a
`FilterExec` above the scan. With apache#22384 the scan accepts the filter (one
file of two rows keeps the filter in the scan), thus the plan is the
scan alone. Its statistics are still `Rows=Inexact(2)`, not empty, and the
query result does not change.

Integration of apache#22384 and main in the final state branch.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…e default

Change two defaults:

- `datafusion.execution.optional_filter_mode` = `adaptive` (was `always`).
  The Parquet scan and `FilterExec` pause optional filters (hash join,
  TopK and aggregate dynamic filters) when they remove no rows or cost
  more than they save.
- `datafusion.execution.adaptive_filter_placement` = `true` (was
  `false`). With `pushdown_filters = true`, each filter conjunct starts
  after the decode, and the Parquet scan makes it a row filter only when
  the measurements show that this saves more than it costs.

The Parquet scan uses the two options only when
`datafusion.execution.parquet.pushdown_filters` is true. `ParquetSource::new`
keeps adaptive filter placement off, because the source has no setter for
it: only `try_pushdown_filters` applies the session value.

Tests that check exact row filter metrics (predicate cache, runtime row
group pruning, optional filters in the row filter, EXPLAIN ANALYZE
categories) set the previous values, because the adaptive decisions use
time measurements, and because adaptive filter placement coalesces small
batches, which delays TopK dynamic filters on tiny row groups.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The previous commit made the scan hand the coalesced rows to the TopK at
each row group boundary. Thus the runtime row group pruning tests do not
need the previous defaults any more:

- `dynamic_row_group_pruning.slt` runs with the defaults. A new case
  checks that the scan prunes the same row groups without adaptive
  filter placement.
- The Parquet test harness keeps `optional_filter_mode = 'always'`,
  because its tests check exact metrics, but uses the default adaptive
  filter placement.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
With the adaptive filter placement, an optional filter starts in the
post-scan filter like a required conjunct, thus the `EXPLAIN ANALYZE`
metrics move from `pushdown_rows_*` and `predicate_cache_*` to
`post_scan_rows_*`. The results do not change.

PR: apache#25727

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@adriangb
adriangb force-pushed the combine-24086-25752 branch from 07caaa3 to 2e04ab8 Compare October 5, 2026 02:05
adriangb and others added 4 commits October 4, 2026 22:09
… read-ahead

Opt-in with datafusion.execution.parquet.read_ahead_bytes (default
unset). If set, the scan builds the same ParquetPushDecoder as the
default path with FetchGranularity::Batch and drives it with try_decode.
ReadAhead fetches ranges from scan_plan() in the background within that
many bytes. datafusion.execution.parquet.read_ahead_conditional (default
false) also reads ahead ranges that a pushed-down filter can make
unnecessary. Filtered scans, runtime row-group pruning and the
per-row-group filter toggle use the same path as main.

Squashed from the history in branch
claude/datafusion-rowgroup-buffering-history (pydantic/datafusion).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ranges

Skipping ranges that a pushed-down filter can make unnecessary made
filtered scans on object storage 2-16x slower. Read-ahead now fetches
them, bounded by the read-ahead window. Proto field 40 is reserved.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Each read-ahead stream registers a `ParquetReadAhead[partition]`
consumer. The reservation follows the bytes the decoder holds plus the
bytes in flight. Bytes the decoder asks for are always reserved (grow).
Speculative read-ahead takes only what the pool can grant (try_grow);
ranges that do not fit stay pending.

`FileSource::create_morselizer_with_context` gives the source the scan's
`TaskContext`. The default delegates to `create_morselizer`.
`ParquetSource` uses it to get the memory pool.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
# Conflicts:
#	datafusion/datasource-parquet/src/opener/mod.rs
#	datafusion/datasource-parquet/src/push_decoder.rs
#	datafusion/datasource-parquet/src/source.rs
@adriangb
adriangb force-pushed the combine-24086-25752 branch from 2e04ab8 to 1201e86 Compare October 5, 2026 02:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants