Skip to content

bench: test Arrow RLE dictionary reader optimization - #26348

Draft
Rich-T-kid wants to merge 12 commits into
apache:mainfrom
Rich-T-kid:rich-T-kid/bench-ndv-cap-arrow-rle-reader-v2
Draft

Rich-T-kid wants to merge 12 commits into
apache:mainfrom
Rich-T-kid:rich-T-kid/bench-ndv-cap-arrow-rle-reader-v2

Conversation

@Rich-T-kid

@Rich-T-kid Rich-T-kid commented Oct 15, 2026 •

Copy link
Copy Markdown
Contributor

Which issue does this PR close?

Benchmark-only integration of #26315 and apache/arrow-rs#11462.

Rationale for this change

Measure RLE-to-dictionary through DataFusion scans and operators, and find a practical NDV cap using Parquet files with real NDV statistics.

What changes are included in this PR?

  • Adds scan, aggregation, and filtered aggregation benchmarks for RLE dictionary strings.
  • Adds an opt-in Parquet rewrite for TPCH and ClickBench that writes NDV statistics.
  • Keeps promoted binary columns dictionary encoded through binary_as_string coercion.
  • Pins Arrow to 634c1fd7, including the RLE reader and dictionary scalar comparison optimizations.

Results

  • Dictionary scans improved 1.50x-1.97x.
  • Dictionary aggregation stayed faster than Utf8View through NDV 2,000.
  • Cap 218 is the smallest value that promotes MobilePhoneModel across all 100 ClickBench files.
  • Locally, the scalar filter improved from 18.11 ms to 16.28 ms and ClickBench Q10 from 47.49 ms to 46.41 ms after the Arrow comparison fix.
  • On the current head, TPCH improved 0.75% and ClickBench was unchanged (+0.09%) at cap 218. Q10, Q11, and Q23 were all statistically unchanged.
  • The small suite delta is expected: cap 218 promotes only 0.83% of ClickBench's compressed bytes. Q10 and Q11 are the only queries that explicitly use a promoted column, and together they are 0.71% of the suite.
  • TPCH promotes 1.58% of compressed input. The affected scan and group-by paths improve, but joins and numeric aggregation still dominate total time.

Test coverage

  • DataFusion Parquet tests and parquet_rle_to_dictionary.slt
  • Arrow arrow-ord tests and clippy
  • Scan, aggregation, TPCH, and ClickBench benchmarks

@github-actions github-actions Bot added documentation Improvements or additions to documentation sqllogictest SQL Logic Tests (.slt) common Related to common crate proto Related to proto crate datasource Changes to the datasource crate physical-plan Changes to the physical-plan crate labels Oct 15, 2026
@Rich-T-kid

Copy link
Copy Markdown
Contributor Author

run benchmark tpch tpcds clickbench_partitioned wide_schema

env:
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
  DATAFUSION_EXECUTION_PARQUET_RLE_TO_DICTIONARY_MAX_DISTINCT_VALUES: "2000"
baseline:
  ref: "7cedf5427d7b021a4c28bf81a45277551691fa36"
changed:
  ref: "03efa3d40fd31668361c3fa78b730d620af8d89d"

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c6183475698-3422-v9xgj 6.12.94+ #1 SMP Fri Aug 21 08:00:16 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 03efa3d (03efa3d) to 7cedf54 diff

Run configuration
run benchmark tpcds
env:
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
  DATAFUSION_EXECUTION_PARQUET_RLE_TO_DICTIONARY_MAX_DISTINCT_VALUES: "2000"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "7cedf5427d7b021a4c28bf81a45277551691fa36"
changed:
  ref: "03efa3d40fd31668361c3fa78b730d620af8d89d"

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-c6183475698-3421-4hr9p 6.12.94+ #1 SMP Fri Aug 21 08:00:16 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 03efa3d (03efa3d) to 7cedf54 diff

Run configuration
run benchmark tpch
env:
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
  DATAFUSION_EXECUTION_PARQUET_RLE_TO_DICTIONARY_MAX_DISTINCT_VALUES: "2000"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "7cedf5427d7b021a4c28bf81a45277551691fa36"
changed:
  ref: "03efa3d40fd31668361c3fa78b730d620af8d89d"

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-c6183475698-3424-zn5s8 6.12.94+ #1 SMP Fri Aug 21 08:00:16 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 03efa3d (03efa3d) to 7cedf54 diff

Run configuration
run benchmark wide_schema
env:
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
  DATAFUSION_EXECUTION_PARQUET_RLE_TO_DICTIONARY_MAX_DISTINCT_VALUES: "2000"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "7cedf5427d7b021a4c28bf81a45277551691fa36"
changed:
  ref: "03efa3d40fd31668361c3fa78b730d620af8d89d"

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-c6183475698-3423-ztfqg 6.12.94+ #1 SMP Fri Aug 21 08:00:16 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 03efa3d (03efa3d) to 7cedf54 diff

Run configuration
run benchmark clickbench_partitioned
env:
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
  DATAFUSION_EXECUTION_PARQUET_RLE_TO_DICTIONARY_MAX_DISTINCT_VALUES: "2000"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "7cedf5427d7b021a4c28bf81a45277551691fa36"
changed:
  ref: "03efa3d40fd31668361c3fa78b730d620af8d89d"

Results will be posted here when complete


File an issue against this benchmark runner

@github-actions github-actions Bot added the auto detected api change Auto detected API change label Oct 15, 2026
@adriangbot

Copy link
Copy Markdown

🤖 Benchmark completed (GKE) | trigger

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

Comparing 03efa3d (03efa3d) to 7cedf54 diff

Run configuration
run benchmark tpch
env:
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
  DATAFUSION_EXECUTION_PARQUET_RLE_TO_DICTIONARY_MAX_DISTINCT_VALUES: "2000"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "7cedf5427d7b021a4c28bf81a45277551691fa36"
changed:
  ref: "03efa3d40fd31668361c3fa78b730d620af8d89d"
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 rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2
--------------------
Benchmark tpch_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓
┃ Query     ┃     HEAD ┃ rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2 ┃       Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━┩
│ QQuery 1  │ 41.42 ms │                                     41.52 ms │    no change │
│ QQuery 2  │ 19.19 ms │                                     18.98 ms │    no change │
│ QQuery 3  │ 29.70 ms │                                     29.30 ms │    no change │
│ QQuery 4  │ 18.53 ms │                                     18.45 ms │    no change │
│ QQuery 5  │ 36.94 ms │                                     35.98 ms │    no change │
│ QQuery 6  │ 13.93 ms │                                     14.07 ms │    no change │
│ QQuery 7  │ 43.98 ms │                                     42.63 ms │    no change │
│ QQuery 8  │ 42.01 ms │                                     42.28 ms │    no change │
│ QQuery 9  │ 51.06 ms │                                     52.30 ms │    no change │
│ QQuery 10 │ 42.33 ms │                                     42.71 ms │    no change │
│ QQuery 11 │ 14.35 ms │                                     14.15 ms │    no change │
│ QQuery 12 │ 18.61 ms │                                     19.07 ms │    no change │
│ QQuery 13 │ 42.34 ms │                                     42.65 ms │    no change │
│ QQuery 14 │ 25.08 ms │                                     25.43 ms │    no change │
│ QQuery 15 │ 31.78 ms │                                     32.74 ms │    no change │
│ QQuery 16 │ 14.41 ms │                                     14.50 ms │    no change │
│ QQuery 17 │ 80.75 ms │                                     83.33 ms │    no change │
│ QQuery 18 │ 47.12 ms │                                     48.19 ms │    no change │
│ QQuery 19 │ 32.36 ms │                                     32.61 ms │    no change │
│ QQuery 20 │ 32.67 ms │                                     33.72 ms │    no change │
│ QQuery 21 │ 57.65 ms │                                     59.75 ms │    no change │
│ QQuery 22 │ 14.05 ms │                                     14.85 ms │ 1.06x slower │
└───────────┴──────────┴──────────────────────────────────────────────┴──────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┓
┃ Benchmark Summary                                           ┃          ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━┩
│ Total Time (HEAD)                                           │ 750.26ms │
│ Total Time (rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2)   │ 759.21ms │
│ Average Time (HEAD)                                         │  34.10ms │
│ Average Time (rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2) │  34.51ms │
│ Queries Faster                                              │        0 │
│ Queries Slower                                              │        1 │
│ Queries with No Change                                      │       21 │
│ Queries with Failure                                        │        0 │
└─────────────────────────────────────────────────────────────┴──────────┘

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

Comparing HEAD and rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2
--------------------
Benchmark tpch_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Query     ┃                           HEAD ┃ rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2 ┃    Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ QQuery 1  │ 41.42 / 42.41 ±1.06 / 43.98 ms │               41.52 / 42.38 ±1.20 / 44.75 ms │ no change │
│ QQuery 2  │ 19.19 / 19.39 ±0.20 / 19.73 ms │               18.98 / 19.60 ±0.91 / 21.40 ms │ no change │
│ QQuery 3  │ 29.70 / 30.10 ±0.34 / 30.67 ms │               29.30 / 30.13 ±1.17 / 32.36 ms │ no change │
│ QQuery 4  │ 18.53 / 18.82 ±0.48 / 19.78 ms │               18.45 / 19.42 ±0.49 / 19.75 ms │ no change │
│ QQuery 5  │ 36.94 / 37.71 ±0.63 / 38.74 ms │               35.98 / 36.71 ±0.62 / 37.51 ms │ no change │
│ QQuery 6  │ 13.93 / 14.53 ±0.69 / 15.86 ms │               14.07 / 14.17 ±0.09 / 14.29 ms │ no change │
│ QQuery 7  │ 43.98 / 46.59 ±2.31 / 50.81 ms │               42.63 / 46.89 ±3.39 / 53.03 ms │ no change │
│ QQuery 8  │ 42.01 / 42.14 ±0.11 / 42.30 ms │               42.28 / 42.89 ±0.48 / 43.43 ms │ no change │
│ QQuery 9  │ 51.06 / 53.18 ±1.52 / 55.71 ms │               52.30 / 53.50 ±1.01 / 54.79 ms │ no change │
│ QQuery 10 │ 42.33 / 43.47 ±1.15 / 45.19 ms │               42.71 / 43.74 ±1.24 / 46.10 ms │ no change │
│ QQuery 11 │ 14.35 / 14.51 ±0.19 / 14.88 ms │               14.15 / 14.42 ±0.17 / 14.64 ms │ no change │
│ QQuery 12 │ 18.61 / 19.32 ±0.70 / 20.62 ms │               19.07 / 19.24 ±0.19 / 19.55 ms │ no change │
│ QQuery 13 │ 42.34 / 44.60 ±3.02 / 50.57 ms │               42.65 / 45.08 ±2.21 / 48.60 ms │ no change │
│ QQuery 14 │ 25.08 / 25.27 ±0.15 / 25.52 ms │               25.43 / 25.61 ±0.14 / 25.83 ms │ no change │
│ QQuery 15 │ 31.78 / 32.48 ±0.98 / 34.42 ms │               32.74 / 33.08 ±0.32 / 33.57 ms │ no change │
│ QQuery 16 │ 14.41 / 14.64 ±0.13 / 14.79 ms │               14.50 / 14.68 ±0.13 / 14.86 ms │ no change │
│ QQuery 17 │ 80.75 / 83.48 ±1.65 / 85.70 ms │               83.33 / 84.14 ±1.25 / 86.61 ms │ no change │
│ QQuery 18 │ 47.12 / 48.07 ±0.94 / 49.41 ms │               48.19 / 48.65 ±0.38 / 49.31 ms │ no change │
│ QQuery 19 │ 32.36 / 32.78 ±0.26 / 33.15 ms │               32.61 / 33.11 ±0.58 / 34.24 ms │ no change │
│ QQuery 20 │ 32.67 / 33.06 ±0.38 / 33.72 ms │               33.72 / 33.91 ±0.22 / 34.29 ms │ no change │
│ QQuery 21 │ 57.65 / 59.30 ±2.17 / 63.32 ms │               59.75 / 61.08 ±1.46 / 63.83 ms │ no change │
│ QQuery 22 │ 14.05 / 14.43 ±0.22 / 14.67 ms │               14.85 / 15.08 ±0.15 / 15.31 ms │ no change │
└───────────┴────────────────────────────────┴──────────────────────────────────────────────┴───────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┓
┃ Benchmark Summary                                           ┃          ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━┩
│ Total Time (HEAD)                                           │ 770.27ms │
│ Total Time (rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2)   │ 777.52ms │
│ Average Time (HEAD)                                         │  35.01ms │
│ Average Time (rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2) │  35.34ms │
│ Queries Faster                                              │        0 │
│ Queries Slower                                              │        0 │
│ Queries with No Change                                      │       22 │
│ Queries with Failure                                        │        0 │
└─────────────────────────────────────────────────────────────┴──────────┘

Memory Pool Peaks

Peak MemoryPool reservation per query — what DataFusion's accounting believes it reserved. Recorded only for benchmarks that write a results JSON (the dfbench suites, and the suites bench.sh runs through the Criterion SQL harness since #25644), and only under a memory limit: DATAFUSION_RUNTIME_MEMORY_LIMIT, or one the suite sets itself.

Base: 7cedf5427d7b021a4c28bf81a45277551691fa36 | Changed: 03efa3d40fd31668361c3fa78b730d620af8d89d

tpch — tpch_sf1

Query Base Changed Change
Query 1 31.4 MiB 30.0 MiB -4.4%
Query 2 15.9 MiB 15.9 MiB +0.0%
Query 3 11.5 MiB 11.5 MiB +0.0%
Query 4 23.4 MiB 33.3 MiB +42.5%
Query 5 43.4 MiB 53.1 MiB +22.3%
Query 6 832 B 832 B +0.0%
Query 7 107.4 MiB 107.4 MiB +0.0%
Query 8 34.7 MiB 35.5 MiB +2.3%
Query 9 155.4 MiB 155.4 MiB +0.0%
Query 10 36.8 MiB 36.8 MiB +0.0%
Query 11 71.7 MiB 62.1 MiB -13.4%
Query 12 17.7 MiB 20.1 MiB +13.4%
Query 13 62.3 MiB 52.5 MiB -15.8%
Query 14 7.7 MiB 7.7 MiB +0.0%
Query 15 12.3 MiB 12.0 MiB -2.4%
Query 16 44.7 MiB 43.9 MiB -1.9%
Query 17 141.3 MiB 141.8 MiB +0.3%
Query 18 189.1 MiB 189.1 MiB +0.0%
Query 19 746.1 KiB 746.1 KiB +0.0%
Query 20 67.9 MiB 62.7 MiB -7.7%
Query 21 42.6 MiB 42.6 MiB +0.0%
Query 22 32.7 MiB 32.7 MiB -0.1%

Pool accounting vs. process RSS

Max pool peak is the largest reservation any single query in the run reached; peak RSS covers the whole invocation, including data loading and allocator retention, and the two high-water marks need not coincide in time. The gap is therefore an upper bound on what the pool did not account for, not a measurement of it.

Benchmark Side Max pool peak Peak RSS Gap RSS / pool
tpch base (7cedf5427d7b021a4c28bf81a45277551691fa36) 189.1 MiB 1.1 GiB 913.7 MiB 5.8×
tpch changed (03efa3d40fd31668361c3fa78b730d620af8d89d) 189.1 MiB 1.1 GiB 953.2 MiB 6.0×
Resource Usage

tpch — base (merge-base)

Metric Value
Wall time 5.0s
Peak memory 1.1 GiB
Avg memory 464.6 MiB
CPU user 21.3s
CPU sys 1.9s
Peak spill 0 B

tpch — branch

Metric Value
Wall time 5.0s
Peak memory 1.1 GiB
Avg memory 480.9 MiB
CPU user 21.6s
CPU sys 1.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 03efa3d (03efa3d) to 7cedf54 diff

Run configuration
run benchmark tpcds
env:
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
  DATAFUSION_EXECUTION_PARQUET_RLE_TO_DICTIONARY_MAX_DISTINCT_VALUES: "2000"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "7cedf5427d7b021a4c28bf81a45277551691fa36"
changed:
  ref: "03efa3d40fd31668361c3fa78b730d620af8d89d"
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 rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2
--------------------
Benchmark tpcds_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃       HEAD ┃ rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2 ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │    6.55 ms │                                      6.14 ms │ +1.07x faster │
│ QQuery 2  │   86.61 ms │                                     85.02 ms │     no change │
│ QQuery 3  │   31.78 ms │                                     31.71 ms │     no change │
│ QQuery 4  │  495.38 ms │                                    587.06 ms │  1.19x slower │
│ QQuery 5  │   55.91 ms │                                     55.68 ms │     no change │
│ QQuery 6  │   38.70 ms │                                     44.53 ms │  1.15x slower │
│ QQuery 7  │   77.25 ms │                                     80.40 ms │     no change │
│ QQuery 8  │   39.15 ms │                                     39.55 ms │     no change │
│ QQuery 9  │   59.11 ms │                                     57.44 ms │     no change │
│ QQuery 10 │   66.98 ms │                                     65.67 ms │     no change │
│ QQuery 11 │  382.31 ms │                                    357.10 ms │ +1.07x faster │
│ QQuery 12 │   36.58 ms │                                     33.15 ms │ +1.10x faster │
│ QQuery 13 │  126.94 ms │                                    122.43 ms │     no change │
│ QQuery 14 │  396.92 ms │                                    417.42 ms │  1.05x slower │
│ QQuery 15 │   69.84 ms │                                     71.83 ms │     no change │
│ QQuery 16 │    7.30 ms │                                      7.39 ms │     no change │
│ QQuery 17 │   90.33 ms │                                     86.76 ms │     no change │
│ QQuery 18 │  124.83 ms │                                    127.96 ms │     no change │
│ QQuery 19 │   45.23 ms │                                     45.31 ms │     no change │
│ QQuery 20 │   40.99 ms │                                     42.60 ms │     no change │
│ QQuery 21 │   18.13 ms │                                     18.55 ms │     no change │
│ QQuery 22 │   71.18 ms │                                     71.05 ms │     no change │
│ QQuery 23 │  338.95 ms │                                    319.26 ms │ +1.06x faster │
│ QQuery 24 │  250.29 ms │                                    229.92 ms │ +1.09x faster │
│ QQuery 25 │  129.83 ms │                                    125.55 ms │     no change │
│ QQuery 26 │   51.16 ms │                                     50.52 ms │     no change │
│ QQuery 27 │    7.20 ms │                                      7.28 ms │     no change │
│ QQuery 28 │   61.31 ms │                                     63.08 ms │     no change │
│ QQuery 29 │  106.43 ms │                                    109.11 ms │     no change │
│ QQuery 30 │   38.84 ms │                                     39.73 ms │     no change │
│ QQuery 31 │  126.54 ms │                                    116.99 ms │ +1.08x faster │
│ QQuery 32 │   24.62 ms │                                     22.47 ms │ +1.10x faster │
│ QQuery 33 │   42.67 ms │                                     40.30 ms │ +1.06x faster │
│ QQuery 34 │   12.11 ms │                                     11.63 ms │     no change │
│ QQuery 35 │   87.97 ms │                                     80.96 ms │ +1.09x faster │
│ QQuery 36 │    7.24 ms │                                      7.07 ms │     no change │
│ QQuery 37 │    8.37 ms │                                      7.75 ms │ +1.08x faster │
│ QQuery 38 │   74.33 ms │                                     70.92 ms │     no change │
│ QQuery 39 │   85.42 ms │                                     83.10 ms │     no change │
│ QQuery 40 │   27.93 ms │                                     26.78 ms │     no change │
│ QQuery 41 │   13.52 ms │                                     12.85 ms │     no change │
│ QQuery 42 │   27.06 ms │                                     26.74 ms │     no change │
│ QQuery 43 │    6.06 ms │                                      5.79 ms │     no change │
│ QQuery 44 │   10.51 ms │                                     10.03 ms │     no change │
│ QQuery 45 │   52.26 ms │                                     53.19 ms │     no change │
│ QQuery 46 │   13.60 ms │                                     14.68 ms │  1.08x slower │
│ QQuery 47 │  291.50 ms │                                    315.34 ms │  1.08x slower │
│ QQuery 48 │  103.79 ms │                                    102.05 ms │     no change │
│ QQuery 49 │   77.98 ms │                                     80.07 ms │     no change │
│ QQuery 50 │   64.47 ms │                                     67.27 ms │     no change │
│ QQuery 51 │  102.46 ms │                                    103.81 ms │     no change │
│ QQuery 52 │   26.91 ms │                                     28.08 ms │     no change │
│ QQuery 53 │   32.52 ms │                                     33.68 ms │     no change │
│ QQuery 54 │   57.27 ms │                                     60.62 ms │  1.06x slower │
│ QQuery 55 │   25.95 ms │                                     27.41 ms │  1.06x slower │
│ QQuery 56 │   43.03 ms │                                     43.80 ms │     no change │
│ QQuery 57 │  199.33 ms │                                    201.23 ms │     no change │
│ QQuery 58 │  116.30 ms │                                    123.78 ms │  1.06x slower │
│ QQuery 59 │  126.90 ms │                                    124.72 ms │     no change │
│ QQuery 60 │   44.49 ms │                                     41.57 ms │ +1.07x faster │
│ QQuery 61 │   12.87 ms │                                     12.39 ms │     no change │
│ QQuery 62 │   47.41 ms │                                     46.97 ms │     no change │
│ QQuery 63 │   32.11 ms │                                     31.47 ms │     no change │
│ QQuery 64 │  427.80 ms │                                    398.74 ms │ +1.07x faster │
│ QQuery 65 │  147.59 ms │                                    134.21 ms │ +1.10x faster │
│ QQuery 66 │   86.97 ms │                                     79.72 ms │ +1.09x faster │
│ QQuery 67 │  300.44 ms │                                    282.44 ms │ +1.06x faster │
│ QQuery 68 │   15.10 ms │                                     13.91 ms │ +1.09x faster │
│ QQuery 69 │   62.47 ms │                                     61.17 ms │     no change │
│ QQuery 70 │  112.62 ms │                                    114.09 ms │     no change │
│ QQuery 71 │   39.31 ms │                                     39.08 ms │     no change │
│ QQuery 72 │ 2142.99 ms │                                   2020.61 ms │ +1.06x faster │
│ QQuery 73 │   11.99 ms │                                     11.52 ms │     no change │
│ QQuery 74 │  212.55 ms │                                    210.72 ms │     no change │
│ QQuery 75 │  154.26 ms │                                    147.28 ms │     no change │
│ QQuery 76 │   37.25 ms │                                     37.00 ms │     no change │
│ QQuery 77 │   68.59 ms │                                     65.32 ms │     no change │
│ QQuery 78 │  191.47 ms │                                    199.92 ms │     no change │
│ QQuery 79 │   75.16 ms │                                     75.48 ms │     no change │
│ QQuery 80 │  110.14 ms │                                    110.07 ms │     no change │
│ QQuery 81 │   30.14 ms │                                     31.97 ms │  1.06x slower │
│ QQuery 82 │   19.81 ms │                                     19.34 ms │     no change │
│ QQuery 83 │   38.08 ms │                                     38.87 ms │     no change │
│ QQuery 84 │   32.09 ms │                                     32.16 ms │     no change │
│ QQuery 85 │  105.55 ms │                                    103.47 ms │     no change │
│ QQuery 86 │   30.28 ms │                                     29.63 ms │     no change │
│ QQuery 87 │   77.09 ms │                                     77.80 ms │     no change │
│ QQuery 88 │   62.72 ms │                                     64.43 ms │     no change │
│ QQuery 89 │   36.99 ms │                                     37.92 ms │     no change │
│ QQuery 90 │   18.17 ms │                                     17.99 ms │     no change │
│ QQuery 91 │   44.90 ms │                                     47.43 ms │  1.06x slower │
│ QQuery 92 │   35.16 ms │                                     34.87 ms │     no change │
│ QQuery 93 │   54.38 ms │                                     56.10 ms │     no change │
│ QQuery 94 │   41.04 ms │                                     41.92 ms │     no change │
│ QQuery 95 │   88.82 ms │                                     86.96 ms │     no change │
│ QQuery 96 │   25.84 ms │                                     25.68 ms │     no change │
│ QQuery 97 │   57.90 ms │                                     56.16 ms │     no change │
│ QQuery 98 │   52.34 ms │                                     48.30 ms │ +1.08x faster │
│ QQuery 99 │   71.02 ms │                                     69.19 ms │     no change │
└───────────┴────────────┴──────────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                                           ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                                           │ 10496.51ms │
│ Total Time (rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2)   │ 10356.17ms │
│ Average Time (HEAD)                                         │   106.03ms │
│ Average Time (rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2) │   104.61ms │
│ Queries Faster                                              │         18 │
│ Queries Slower                                              │         10 │
│ Queries with No Change                                      │         71 │
│ Queries with Failure                                        │          0 │
└─────────────────────────────────────────────────────────────┴────────────┘

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

Comparing HEAD and rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2
--------------------
Benchmark tpcds_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                  HEAD ┃ rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2 ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │           6.55 / 7.28 ±1.21 / 9.71 ms │                  6.14 / 6.72 ±0.94 / 8.60 ms │ +1.08x faster │
│ QQuery 2  │        86.61 / 87.37 ±0.51 / 87.96 ms │               85.02 / 86.23 ±0.69 / 86.99 ms │     no change │
│ QQuery 3  │        31.78 / 32.67 ±0.83 / 34.21 ms │               31.71 / 31.96 ±0.24 / 32.38 ms │     no change │
│ QQuery 4  │    495.38 / 560.60 ±43.31 / 614.71 ms │           587.06 / 604.23 ±15.06 / 624.81 ms │  1.08x slower │
│ QQuery 5  │        55.91 / 56.58 ±0.39 / 57.10 ms │               55.68 / 56.87 ±0.71 / 57.48 ms │     no change │
│ QQuery 6  │        38.70 / 40.06 ±1.12 / 41.77 ms │               44.53 / 45.16 ±0.55 / 45.92 ms │  1.13x slower │
│ QQuery 7  │        77.25 / 78.98 ±2.04 / 82.62 ms │               80.40 / 81.92 ±1.38 / 83.95 ms │     no change │
│ QQuery 8  │        39.15 / 39.46 ±0.23 / 39.75 ms │               39.55 / 40.37 ±0.46 / 40.96 ms │     no change │
│ QQuery 9  │        59.11 / 60.50 ±1.30 / 62.10 ms │               57.44 / 60.06 ±3.18 / 66.33 ms │     no change │
│ QQuery 10 │        66.98 / 68.82 ±3.14 / 75.08 ms │               65.67 / 66.84 ±0.94 / 68.21 ms │     no change │
│ QQuery 11 │     382.31 / 392.03 ±6.08 / 401.48 ms │           357.10 / 390.06 ±20.68 / 411.83 ms │     no change │
│ QQuery 12 │        36.58 / 37.83 ±1.60 / 40.88 ms │               33.15 / 34.32 ±0.91 / 35.64 ms │ +1.10x faster │
│ QQuery 13 │     126.94 / 129.89 ±2.13 / 133.25 ms │            122.43 / 127.66 ±4.41 / 133.00 ms │     no change │
│ QQuery 14 │    396.92 / 415.79 ±12.88 / 436.63 ms │            417.42 / 421.80 ±4.33 / 429.22 ms │     no change │
│ QQuery 15 │        69.84 / 72.97 ±3.33 / 79.17 ms │               71.83 / 77.28 ±3.99 / 83.59 ms │  1.06x slower │
│ QQuery 16 │           7.30 / 7.50 ±0.17 / 7.74 ms │                  7.39 / 7.49 ±0.12 / 7.72 ms │     no change │
│ QQuery 17 │        90.33 / 93.29 ±1.74 / 95.31 ms │               86.76 / 89.19 ±2.02 / 91.60 ms │     no change │
│ QQuery 18 │     124.83 / 130.18 ±3.21 / 133.64 ms │            127.96 / 130.74 ±2.72 / 135.67 ms │     no change │
│ QQuery 19 │        45.23 / 45.69 ±0.50 / 46.63 ms │               45.31 / 46.43 ±1.16 / 48.54 ms │     no change │
│ QQuery 20 │        40.99 / 42.05 ±0.74 / 43.16 ms │               42.60 / 43.54 ±0.66 / 44.53 ms │     no change │
│ QQuery 21 │        18.13 / 18.82 ±0.70 / 20.15 ms │               18.55 / 18.94 ±0.28 / 19.21 ms │     no change │
│ QQuery 22 │        71.18 / 72.57 ±0.79 / 73.27 ms │               71.05 / 72.88 ±1.52 / 75.43 ms │     no change │
│ QQuery 23 │    338.95 / 361.94 ±15.65 / 386.65 ms │           319.26 / 352.21 ±24.69 / 385.68 ms │     no change │
│ QQuery 24 │     250.29 / 254.65 ±4.76 / 263.00 ms │           229.92 / 248.98 ±10.05 / 259.29 ms │     no change │
│ QQuery 25 │     129.83 / 131.62 ±1.26 / 133.34 ms │            125.55 / 128.40 ±1.71 / 130.53 ms │     no change │
│ QQuery 26 │        51.16 / 53.22 ±3.00 / 59.19 ms │               50.52 / 53.02 ±3.44 / 59.82 ms │     no change │
│ QQuery 27 │           7.20 / 7.31 ±0.13 / 7.54 ms │                  7.28 / 7.49 ±0.18 / 7.77 ms │     no change │
│ QQuery 28 │        61.31 / 64.07 ±1.84 / 66.00 ms │               63.08 / 65.61 ±2.02 / 67.88 ms │     no change │
│ QQuery 29 │     106.43 / 108.27 ±1.51 / 110.29 ms │            109.11 / 112.86 ±2.81 / 117.77 ms │     no change │
│ QQuery 30 │        38.84 / 40.07 ±0.64 / 40.51 ms │               39.73 / 42.48 ±3.69 / 49.65 ms │  1.06x slower │
│ QQuery 31 │     126.54 / 127.34 ±0.47 / 127.98 ms │            116.99 / 119.91 ±2.21 / 123.67 ms │ +1.06x faster │
│ QQuery 32 │        24.62 / 27.07 ±3.41 / 33.82 ms │               22.47 / 22.91 ±0.27 / 23.23 ms │ +1.18x faster │
│ QQuery 33 │        42.67 / 43.81 ±0.65 / 44.47 ms │               40.30 / 42.61 ±4.10 / 50.80 ms │     no change │
│ QQuery 34 │        12.11 / 12.99 ±0.58 / 13.63 ms │               11.63 / 12.25 ±0.59 / 13.26 ms │ +1.06x faster │
│ QQuery 35 │        87.97 / 89.94 ±2.61 / 95.06 ms │               80.96 / 83.79 ±2.70 / 87.62 ms │ +1.07x faster │
│ QQuery 36 │           7.24 / 7.52 ±0.23 / 7.92 ms │                  7.07 / 7.19 ±0.16 / 7.51 ms │     no change │
│ QQuery 37 │           8.37 / 8.50 ±0.09 / 8.65 ms │                  7.75 / 7.90 ±0.10 / 8.05 ms │ +1.08x faster │
│ QQuery 38 │        74.33 / 76.30 ±1.22 / 78.12 ms │               70.92 / 71.63 ±0.70 / 72.72 ms │ +1.07x faster │
│ QQuery 39 │        85.42 / 87.18 ±1.16 / 88.50 ms │               83.10 / 84.95 ±1.65 / 87.87 ms │     no change │
│ QQuery 40 │        27.93 / 28.85 ±0.79 / 30.21 ms │               26.78 / 27.78 ±1.14 / 29.96 ms │     no change │
│ QQuery 41 │        13.52 / 13.67 ±0.12 / 13.88 ms │               12.85 / 13.16 ±0.21 / 13.44 ms │     no change │
│ QQuery 42 │        27.06 / 28.03 ±0.82 / 29.10 ms │               26.74 / 27.29 ±0.48 / 28.17 ms │     no change │
│ QQuery 43 │          6.06 / 7.63 ±2.95 / 13.53 ms │                  5.79 / 6.01 ±0.15 / 6.22 ms │ +1.27x faster │
│ QQuery 44 │        10.51 / 10.75 ±0.20 / 11.12 ms │               10.03 / 10.38 ±0.22 / 10.70 ms │     no change │
│ QQuery 45 │        52.26 / 54.67 ±1.49 / 56.05 ms │               53.19 / 58.71 ±5.77 / 68.13 ms │  1.07x slower │
│ QQuery 46 │        13.60 / 13.98 ±0.30 / 14.53 ms │               14.68 / 15.52 ±0.58 / 16.16 ms │  1.11x slower │
│ QQuery 47 │     291.50 / 307.14 ±9.54 / 321.58 ms │           315.34 / 325.01 ±10.16 / 339.23 ms │  1.06x slower │
│ QQuery 48 │     103.79 / 106.29 ±2.86 / 111.55 ms │            102.05 / 103.74 ±2.49 / 108.63 ms │     no change │
│ QQuery 49 │        77.98 / 79.65 ±2.00 / 83.21 ms │               80.07 / 81.69 ±1.15 / 83.17 ms │     no change │
│ QQuery 50 │        64.47 / 68.50 ±4.76 / 77.77 ms │               67.27 / 68.03 ±0.86 / 69.66 ms │     no change │
│ QQuery 51 │     102.46 / 104.97 ±1.63 / 107.38 ms │            103.81 / 105.38 ±1.52 / 107.78 ms │     no change │
│ QQuery 52 │        26.91 / 27.50 ±0.33 / 27.82 ms │               28.08 / 28.63 ±0.31 / 28.98 ms │     no change │
│ QQuery 53 │        32.52 / 35.67 ±5.56 / 46.78 ms │               33.68 / 33.87 ±0.17 / 34.07 ms │ +1.05x faster │
│ QQuery 54 │        57.27 / 59.24 ±1.41 / 61.35 ms │               60.62 / 64.86 ±6.77 / 78.32 ms │  1.09x slower │
│ QQuery 55 │        25.95 / 26.74 ±0.58 / 27.51 ms │               27.41 / 27.95 ±0.53 / 28.94 ms │     no change │
│ QQuery 56 │        43.03 / 43.50 ±0.44 / 44.15 ms │               43.80 / 44.86 ±0.98 / 46.59 ms │     no change │
│ QQuery 57 │     199.33 / 207.54 ±7.06 / 217.99 ms │            201.23 / 210.50 ±5.39 / 216.98 ms │     no change │
│ QQuery 58 │     116.30 / 121.38 ±3.24 / 125.58 ms │            123.78 / 126.53 ±2.55 / 131.14 ms │     no change │
│ QQuery 59 │     126.90 / 129.43 ±2.20 / 132.83 ms │            124.72 / 126.47 ±1.22 / 128.47 ms │     no change │
│ QQuery 60 │        44.49 / 47.70 ±3.55 / 54.63 ms │               41.57 / 42.60 ±0.69 / 43.54 ms │ +1.12x faster │
│ QQuery 61 │        12.87 / 13.21 ±0.18 / 13.38 ms │               12.39 / 12.58 ±0.17 / 12.86 ms │     no change │
│ QQuery 62 │        47.41 / 48.31 ±0.49 / 48.76 ms │               46.97 / 47.72 ±0.58 / 48.45 ms │     no change │
│ QQuery 63 │        32.11 / 32.76 ±0.60 / 33.80 ms │               31.47 / 31.95 ±0.50 / 32.87 ms │     no change │
│ QQuery 64 │    427.80 / 439.51 ±11.54 / 456.35 ms │           398.74 / 418.60 ±10.68 / 430.97 ms │     no change │
│ QQuery 65 │     147.59 / 152.76 ±5.07 / 162.43 ms │            134.21 / 140.17 ±4.41 / 146.74 ms │ +1.09x faster │
│ QQuery 66 │        86.97 / 90.56 ±3.64 / 96.84 ms │               79.72 / 80.41 ±0.74 / 81.85 ms │ +1.13x faster │
│ QQuery 67 │    300.44 / 319.86 ±11.44 / 335.37 ms │           282.44 / 301.98 ±13.51 / 323.30 ms │ +1.06x faster │
│ QQuery 68 │        15.10 / 16.02 ±1.23 / 18.38 ms │               13.91 / 14.12 ±0.20 / 14.47 ms │ +1.13x faster │
│ QQuery 69 │        62.47 / 65.78 ±3.42 / 72.24 ms │               61.17 / 62.26 ±0.78 / 63.60 ms │ +1.06x faster │
│ QQuery 70 │     112.62 / 114.53 ±1.48 / 117.07 ms │            114.09 / 118.93 ±5.24 / 126.39 ms │     no change │
│ QQuery 71 │        39.31 / 40.26 ±1.14 / 42.40 ms │               39.08 / 40.83 ±1.47 / 43.33 ms │     no change │
│ QQuery 72 │ 2142.99 / 2242.72 ±69.93 / 2358.57 ms │       2020.61 / 2184.04 ±145.96 / 2450.42 ms │     no change │
│ QQuery 73 │        11.99 / 12.53 ±0.52 / 13.48 ms │               11.52 / 12.31 ±0.59 / 13.23 ms │     no change │
│ QQuery 74 │     212.55 / 225.39 ±9.39 / 240.49 ms │            210.72 / 218.35 ±8.05 / 232.36 ms │     no change │
│ QQuery 75 │     154.26 / 156.73 ±2.16 / 160.66 ms │            147.28 / 151.66 ±4.07 / 159.22 ms │     no change │
│ QQuery 76 │        37.25 / 40.88 ±3.39 / 47.19 ms │               37.00 / 37.97 ±0.92 / 39.56 ms │ +1.08x faster │
│ QQuery 77 │        68.59 / 70.05 ±0.98 / 71.49 ms │               65.32 / 66.80 ±1.20 / 68.94 ms │     no change │
│ QQuery 78 │     191.47 / 203.16 ±8.51 / 217.46 ms │            199.92 / 203.69 ±4.15 / 210.85 ms │     no change │
│ QQuery 79 │        75.16 / 76.21 ±1.11 / 77.77 ms │               75.48 / 79.28 ±3.68 / 86.01 ms │     no change │
│ QQuery 80 │     110.14 / 112.50 ±2.71 / 117.81 ms │            110.07 / 112.74 ±2.09 / 115.37 ms │     no change │
│ QQuery 81 │        30.14 / 31.02 ±0.76 / 32.12 ms │               31.97 / 32.44 ±0.28 / 32.71 ms │     no change │
│ QQuery 82 │        19.81 / 20.65 ±1.43 / 23.50 ms │               19.34 / 19.59 ±0.17 / 19.81 ms │ +1.05x faster │
│ QQuery 83 │        38.08 / 38.65 ±0.40 / 39.25 ms │               38.87 / 41.53 ±4.15 / 49.78 ms │  1.07x slower │
│ QQuery 84 │        32.09 / 36.63 ±5.93 / 48.06 ms │               32.16 / 33.52 ±1.25 / 35.76 ms │ +1.09x faster │
│ QQuery 85 │     105.55 / 107.45 ±1.27 / 108.67 ms │            103.47 / 106.42 ±1.78 / 108.30 ms │     no change │
│ QQuery 86 │        30.28 / 31.37 ±1.27 / 33.87 ms │               29.63 / 30.36 ±0.49 / 30.94 ms │     no change │
│ QQuery 87 │        77.09 / 80.75 ±5.31 / 91.22 ms │               77.80 / 79.77 ±2.41 / 84.47 ms │     no change │
│ QQuery 88 │        62.72 / 64.09 ±1.72 / 67.16 ms │               64.43 / 66.17 ±1.92 / 69.90 ms │     no change │
│ QQuery 89 │        36.99 / 38.07 ±1.08 / 39.58 ms │               37.92 / 38.71 ±0.56 / 39.32 ms │     no change │
│ QQuery 90 │        18.17 / 18.47 ±0.24 / 18.76 ms │               17.99 / 18.47 ±0.32 / 18.94 ms │     no change │
│ QQuery 91 │        44.90 / 46.13 ±1.29 / 48.49 ms │               47.43 / 50.40 ±4.43 / 59.18 ms │  1.09x slower │
│ QQuery 92 │        35.16 / 36.62 ±1.01 / 38.29 ms │               34.87 / 35.85 ±0.57 / 36.43 ms │     no change │
│ QQuery 93 │        54.38 / 57.59 ±2.22 / 60.43 ms │               56.10 / 58.34 ±2.53 / 63.25 ms │     no change │
│ QQuery 94 │        41.04 / 42.05 ±0.96 / 43.82 ms │               41.92 / 42.93 ±0.66 / 43.73 ms │     no change │
│ QQuery 95 │        88.82 / 91.22 ±2.81 / 96.32 ms │               86.96 / 90.26 ±2.40 / 94.16 ms │     no change │
│ QQuery 96 │        25.84 / 26.10 ±0.23 / 26.42 ms │               25.68 / 26.46 ±1.01 / 28.42 ms │     no change │
│ QQuery 97 │        57.90 / 59.91 ±1.85 / 63.18 ms │               56.16 / 58.01 ±2.32 / 62.34 ms │     no change │
│ QQuery 98 │        52.34 / 53.53 ±1.09 / 55.38 ms │               48.30 / 49.50 ±1.07 / 51.38 ms │ +1.08x faster │
│ QQuery 99 │        71.02 / 71.73 ±0.59 / 72.72 ms │               69.19 / 71.61 ±1.80 / 74.06 ms │     no change │
└───────────┴───────────────────────────────────────┴──────────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                                           ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                                           │ 10941.31ms │
│ Total Time (rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2)   │ 10840.60ms │
│ Average Time (HEAD)                                         │   110.52ms │
│ Average Time (rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2) │   109.50ms │
│ Queries Faster                                              │         20 │
│ Queries Slower                                              │         10 │
│ Queries with No Change                                      │         69 │
│ Queries with Failure                                        │          0 │
└─────────────────────────────────────────────────────────────┴────────────┘

Memory Pool Peaks

Peak MemoryPool reservation per query — what DataFusion's accounting believes it reserved. Recorded only for benchmarks that write a results JSON (the dfbench suites, and the suites bench.sh runs through the Criterion SQL harness since #25644), and only under a memory limit: DATAFUSION_RUNTIME_MEMORY_LIMIT, or one the suite sets itself.

Base: 7cedf5427d7b021a4c28bf81a45277551691fa36 | Changed: 03efa3d40fd31668361c3fa78b730d620af8d89d

tpcds — tpcds_sf1

Query Base Changed Change
Query 1 197.3 KiB 197.3 KiB +0.0%
Query 2 103.4 MiB 83.4 MiB -19.3%
Query 3 3.5 MiB 3.5 MiB +0.0%
Query 4 120.5 MiB 120.5 MiB +0.0%
Query 5 14.7 MiB 14.7 MiB +0.0%
Query 6 7.6 MiB 8.2 MiB +7.5%
Query 7 9.6 MiB 9.6 MiB +0.0%
Query 8 3.6 MiB 3.6 MiB +0.0%
Query 9 32.1 KiB 32.1 KiB +0.0%
Query 10 3.1 MiB 3.1 MiB +0.0%
Query 11 84.0 MiB 83.7 MiB -0.3%
Query 12 130.3 MiB 131.1 MiB +0.6%
Query 13 16.9 MiB 16.9 MiB +0.0%
Query 14 171.2 MiB 170.9 MiB -0.2%
Query 15 7.1 MiB 7.1 MiB +0.0%
Query 16 161.7 KiB 161.7 KiB +0.0%
Query 17 41.4 MiB 41.4 MiB -0.0%
Query 18 21.0 MiB 21.0 MiB +0.1%
Query 19 4.1 MiB 5.0 MiB +21.9%
Query 20 131.3 MiB 130.5 MiB -0.6%
Query 21 5.4 MiB 5.4 MiB -0.2%
Query 22 93.7 MiB 93.4 MiB -0.3%
Query 23 217.1 MiB 217.3 MiB +0.1%
Query 24 48.1 MiB 48.1 MiB +0.0%
Query 25 99.1 MiB 99.1 MiB +0.0%
Query 26 11.0 MiB 11.0 MiB +0.0%
Query 27 1.7 MiB 1.7 MiB -3.6%
Query 28 1.3 MiB 1.5 MiB +10.0%
Query 29 104.4 MiB 104.4 MiB +0.0%
Query 30 7.2 MiB 7.2 MiB +0.0%
Query 31 17.9 MiB 17.9 MiB +0.0%
Query 32 2.9 MiB 2.7 MiB -7.5%
Query 33 4.2 MiB 4.2 MiB +0.0%
Query 34 14.3 MiB 14.3 MiB +0.0%
Query 35 26.6 MiB 26.6 MiB +0.0%
Query 36 10.6 MiB 10.6 MiB +0.0%
Query 37 3.8 MiB 3.8 MiB +0.0%
Query 38 20.2 MiB 20.2 MiB +0.0%
Query 39 103.3 MiB 73.3 MiB -29.0%
Query 40 14.0 MiB 14.0 MiB +0.0%
Query 41 2.6 MiB 2.6 MiB +0.0%
Query 42 1.7 MiB 1.7 MiB +0.0%
Query 43 192.4 KiB 192.4 KiB +0.0%
Query 44 196.9 KiB 196.9 KiB +0.0%
Query 45 8.5 MiB 8.5 MiB +0.0%
Query 46 10.1 MiB 10.1 MiB +0.0%
Query 47 157.3 MiB 157.3 MiB +0.0%
Query 48 15.6 MiB 15.6 MiB +0.0%
Query 49 52.4 MiB 52.8 MiB +0.8%
Query 50 15.9 MiB 15.9 MiB -0.0%
Query 51 178.3 MiB 178.6 MiB +0.2%
Query 52 3.3 MiB 3.3 MiB -0.0%
Query 53 30.6 MiB 30.6 MiB +0.0%
Query 54 4.5 MiB 4.5 MiB -1.3%
Query 55 3.0 MiB 3.0 MiB +0.0%
Query 56 5.5 MiB 5.5 MiB +0.0%
Query 57 141.9 MiB 141.9 MiB +0.0%
Query 58 6.4 MiB 6.6 MiB +3.1%
Query 59 15.0 MiB 15.0 MiB +0.0%
Query 60 7.2 MiB 7.0 MiB -3.5%
Query 61 1.3 MiB 1.2 MiB -9.1%
Query 62 7.7 MiB 7.7 MiB +0.0%
Query 63 30.4 MiB 20.6 MiB -32.4%
Query 64 107.8 MiB 97.8 MiB -9.3%
Query 65 29.4 MiB 29.4 MiB +0.0%
Query 66 16.0 MiB 16.0 MiB +0.0%
Query 67 515.1 MiB 515.1 MiB +0.0%
Query 68 10.1 MiB 10.1 MiB +0.0%
Query 69 47.3 MiB 46.7 MiB -1.3%
Query 70 68.7 MiB 68.7 MiB +0.0%
Query 71 80.5 MiB 60.4 MiB -24.9%
Query 72 97.1 MiB 97.1 MiB +0.0%
Query 73 14.3 MiB 14.3 MiB +0.0%
Query 74 41.6 MiB 41.6 MiB +0.0%
Query 75 21.9 MiB 20.7 MiB -5.3%
Query 76 8.1 MiB 8.1 MiB -0.4%
Query 77 4.0 MiB 4.0 MiB -0.0%
Query 78 111.1 MiB 111.1 MiB -0.0%
Query 79 12.3 MiB 12.3 MiB +0.0%
Query 80 42.9 MiB 42.9 MiB -0.0%
Query 81 11.5 MiB 11.5 MiB +0.0%
Query 82 3.8 MiB 3.8 MiB +0.0%
Query 83 11.9 MiB 11.9 MiB +0.0%
Query 84 12.0 MiB 12.0 MiB +0.0%
Query 85 20.3 MiB 20.3 MiB -0.0%
Query 86 105.2 MiB 105.2 MiB +0.0%
Query 87 20.6 MiB 20.6 MiB +0.0%
Query 88 1.6 MiB 1.9 MiB +12.8%
Query 89 130.0 MiB 130.0 MiB +0.0%
Query 90 564.1 KiB 564.1 KiB +0.0%
Query 91 22.9 MiB 22.1 MiB -3.3%
Query 92 2.9 MiB 2.7 MiB -7.6%
Query 93 15.1 MiB 14.8 MiB -2.0%
Query 94 3.7 MiB 3.4 MiB -7.6%
Query 95 17.4 MiB 18.4 MiB +5.2%
Query 96 224.7 KiB 224.7 KiB +0.0%
Query 97 33.1 MiB 33.1 MiB +0.0%
Query 98 131.5 MiB 131.5 MiB +0.0%
Query 99 7.8 MiB 7.8 MiB +0.1%

Pool accounting vs. process RSS

Max pool peak is the largest reservation any single query in the run reached; peak RSS covers the whole invocation, including data loading and allocator retention, and the two high-water marks need not coincide in time. The gap is therefore an upper bound on what the pool did not account for, not a measurement of it.

Benchmark Side Max pool peak Peak RSS Gap RSS / pool
tpcds base (7cedf5427d7b021a4c28bf81a45277551691fa36) 515.1 MiB 2.0 GiB 1.5 GiB 4.0×
tpcds changed (03efa3d40fd31668361c3fa78b730d620af8d89d) 515.1 MiB 2.1 GiB 1.6 GiB 4.2×
Resource Usage

tpcds — base (merge-base)

Metric Value
Wall time 60.0s
Peak memory 2.0 GiB
Avg memory 1.3 GiB
CPU user 243.9s
CPU sys 7.8s
Peak spill 0 B

tpcds — branch

Metric Value
Wall time 55.0s
Peak memory 2.1 GiB
Avg memory 1.5 GiB
CPU user 238.4s
CPU sys 7.6s
Peak spill 0 B

File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark completed (GKE) | trigger

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

Comparing 03efa3d (03efa3d) to 7cedf54 diff

Run configuration
run benchmark clickbench_partitioned
env:
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
  DATAFUSION_EXECUTION_PARQUET_RLE_TO_DICTIONARY_MAX_DISTINCT_VALUES: "2000"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "7cedf5427d7b021a4c28bf81a45277551691fa36"
changed:
  ref: "03efa3d40fd31668361c3fa78b730d620af8d89d"
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 rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃       HEAD ┃ rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2 ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0  │    1.17 ms │                                      1.23 ms │  1.05x slower │
│ QQuery 1  │   11.56 ms │                                     11.67 ms │     no change │
│ QQuery 2  │   35.35 ms │                                     35.00 ms │     no change │
│ QQuery 3  │   31.90 ms │                                     31.04 ms │     no change │
│ QQuery 4  │  237.14 ms │                                    231.42 ms │     no change │
│ QQuery 5  │  282.22 ms │                                    268.05 ms │ +1.05x faster │
│ QQuery 6  │    1.21 ms │                                      1.25 ms │     no change │
│ QQuery 7  │   12.76 ms │                                     12.97 ms │     no change │
│ QQuery 8  │  332.00 ms │                                    329.67 ms │     no change │
│ QQuery 9  │  468.25 ms │                                    458.25 ms │     no change │
│ QQuery 10 │   64.49 ms │                                     64.04 ms │     no change │
│ QQuery 11 │   74.29 ms │                                     75.00 ms │     no change │
│ QQuery 12 │  265.75 ms │                                    264.41 ms │     no change │
│ QQuery 13 │  374.05 ms │                                    366.72 ms │     no change │
│ QQuery 14 │  286.16 ms │                                    277.85 ms │     no change │
│ QQuery 15 │  293.00 ms │                                    283.87 ms │     no change │
│ QQuery 16 │  621.47 ms │                                    626.16 ms │     no change │
│ QQuery 17 │  625.71 ms │                                    624.09 ms │     no change │
│ QQuery 18 │ 1226.49 ms │                                   1267.04 ms │     no change │
│ QQuery 19 │   28.15 ms │                                     27.77 ms │     no change │
│ QQuery 20 │  523.46 ms │                                    526.77 ms │     no change │
│ QQuery 21 │  515.65 ms │                                    521.83 ms │     no change │
│ QQuery 22 │ 1018.66 ms │                                   1009.12 ms │     no change │
│ QQuery 23 │ 3029.80 ms │                                   3129.60 ms │     no change │
│ QQuery 24 │   41.14 ms │                                     40.77 ms │     no change │
│ QQuery 25 │  104.82 ms │                                    106.44 ms │     no change │
│ QQuery 26 │   40.91 ms │                                     41.26 ms │     no change │
│ QQuery 27 │  511.48 ms │                                    514.62 ms │     no change │
│ QQuery 28 │ 2850.19 ms │                                   2837.05 ms │     no change │
│ QQuery 29 │   38.79 ms │                                     38.82 ms │     no change │
│ QQuery 30 │  304.47 ms │                                    305.28 ms │     no change │
│ QQuery 31 │  277.41 ms │                                    282.25 ms │     no change │
│ QQuery 32 │ 1127.76 ms │                                   1174.05 ms │     no change │
│ QQuery 33 │ 1590.51 ms │                                   1524.83 ms │     no change │
│ QQuery 34 │ 1541.58 ms │                                   1570.64 ms │     no change │
│ QQuery 35 │  305.39 ms │                                    289.56 ms │ +1.05x faster │
│ QQuery 36 │   64.61 ms │                                     65.41 ms │     no change │
│ QQuery 37 │   34.90 ms │                                     34.96 ms │     no change │
│ QQuery 38 │   41.31 ms │                                     43.47 ms │  1.05x slower │
│ QQuery 39 │  145.64 ms │                                    146.58 ms │     no change │
│ QQuery 40 │   13.85 ms │                                     14.15 ms │     no change │
│ QQuery 41 │   13.38 ms │                                     13.30 ms │     no change │
│ QQuery 42 │   12.74 ms │                                     12.86 ms │     no change │
└───────────┴────────────┴──────────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                                           ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                                           │ 19421.59ms │
│ Total Time (rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2)   │ 19501.12ms │
│ Average Time (HEAD)                                         │   451.66ms │
│ Average Time (rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2) │   453.51ms │
│ Queries Faster                                              │          2 │
│ Queries Slower                                              │          2 │
│ Queries with No Change                                      │         39 │
│ Queries with Failure                                        │          0 │
└─────────────────────────────────────────────────────────────┴────────────┘

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

Comparing HEAD and rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                   HEAD ┃ rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2 ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0  │           1.17 / 4.38 ±6.28 / 16.94 ms │                 1.23 / 4.36 ±6.19 / 16.74 ms │     no change │
│ QQuery 1  │         11.56 / 12.02 ±0.26 / 12.35 ms │               11.67 / 11.79 ±0.08 / 11.90 ms │     no change │
│ QQuery 2  │         35.35 / 35.62 ±0.28 / 36.04 ms │               35.00 / 35.73 ±1.11 / 37.93 ms │     no change │
│ QQuery 3  │         31.90 / 32.33 ±0.49 / 33.21 ms │               31.04 / 31.25 ±0.23 / 31.59 ms │     no change │
│ QQuery 4  │      237.14 / 244.66 ±4.99 / 251.89 ms │            231.42 / 237.32 ±4.94 / 246.11 ms │     no change │
│ QQuery 5  │      282.22 / 286.42 ±4.03 / 293.48 ms │            268.05 / 274.38 ±4.91 / 281.85 ms │     no change │
│ QQuery 6  │            1.21 / 1.37 ±0.23 / 1.81 ms │                  1.25 / 1.40 ±0.23 / 1.85 ms │     no change │
│ QQuery 7  │         12.76 / 14.21 ±2.28 / 18.72 ms │               12.97 / 13.12 ±0.12 / 13.28 ms │ +1.08x faster │
│ QQuery 8  │      332.00 / 338.42 ±4.64 / 343.95 ms │            329.67 / 334.54 ±4.21 / 342.07 ms │     no change │
│ QQuery 9  │      468.25 / 482.45 ±9.79 / 498.73 ms │           458.25 / 473.49 ±10.47 / 486.40 ms │     no change │
│ QQuery 10 │         64.49 / 65.66 ±1.28 / 67.25 ms │               64.04 / 69.84 ±9.74 / 89.26 ms │  1.06x slower │
│ QQuery 11 │         74.29 / 75.94 ±1.65 / 79.12 ms │               75.00 / 75.82 ±0.77 / 76.97 ms │     no change │
│ QQuery 12 │      265.75 / 273.07 ±5.81 / 280.54 ms │            264.41 / 273.72 ±8.27 / 287.35 ms │     no change │
│ QQuery 13 │      374.05 / 388.90 ±8.56 / 398.96 ms │            366.72 / 375.37 ±9.49 / 392.84 ms │     no change │
│ QQuery 14 │      286.16 / 291.61 ±3.77 / 297.58 ms │            277.85 / 284.50 ±5.30 / 291.46 ms │     no change │
│ QQuery 15 │      293.00 / 296.46 ±3.05 / 300.44 ms │           283.87 / 302.15 ±26.29 / 354.33 ms │     no change │
│ QQuery 16 │     621.47 / 632.16 ±11.34 / 648.44 ms │            626.16 / 636.64 ±8.37 / 650.75 ms │     no change │
│ QQuery 17 │     625.71 / 639.30 ±11.14 / 651.02 ms │           624.09 / 643.46 ±16.12 / 664.48 ms │     no change │
│ QQuery 18 │  1226.49 / 1258.13 ±31.22 / 1311.40 ms │         1267.04 / 1278.82 ±8.60 / 1290.46 ms │     no change │
│ QQuery 19 │         28.15 / 28.50 ±0.27 / 28.89 ms │               27.77 / 28.25 ±0.34 / 28.81 ms │     no change │
│ QQuery 20 │     523.46 / 538.76 ±15.05 / 563.88 ms │            526.77 / 531.68 ±5.07 / 540.26 ms │     no change │
│ QQuery 21 │      515.65 / 528.06 ±9.90 / 542.34 ms │           521.83 / 540.17 ±19.30 / 574.80 ms │     no change │
│ QQuery 22 │   1018.66 / 1028.67 ±8.16 / 1038.18 ms │        1009.12 / 1034.71 ±15.98 / 1051.03 ms │     no change │
│ QQuery 23 │ 3029.80 / 3308.17 ±161.10 / 3495.29 ms │       3129.60 / 3359.98 ±129.76 / 3483.51 ms │     no change │
│ QQuery 24 │       41.14 / 59.18 ±35.67 / 130.52 ms │           40.77 / 161.83 ±237.95 / 637.72 ms │  2.73x slower │
│ QQuery 25 │    104.82 / 165.87 ±104.33 / 374.03 ms │            106.44 / 107.81 ±1.37 / 110.17 ms │ +1.54x faster │
│ QQuery 26 │         40.91 / 42.34 ±2.44 / 47.21 ms │               41.26 / 41.56 ±0.33 / 42.16 ms │     no change │
│ QQuery 27 │      511.48 / 521.41 ±9.51 / 537.12 ms │            514.62 / 523.13 ±6.43 / 533.24 ms │     no change │
│ QQuery 28 │  2850.19 / 2881.33 ±23.10 / 2917.05 ms │        2837.05 / 2873.98 ±44.39 / 2957.51 ms │     no change │
│ QQuery 29 │         38.79 / 45.29 ±8.95 / 62.59 ms │               38.82 / 39.32 ±0.56 / 40.38 ms │ +1.15x faster │
│ QQuery 30 │     304.47 / 321.12 ±23.61 / 367.79 ms │            305.28 / 315.09 ±5.25 / 319.37 ms │     no change │
│ QQuery 31 │     277.41 / 294.75 ±14.99 / 314.88 ms │           282.25 / 301.58 ±13.14 / 322.37 ms │     no change │
│ QQuery 32 │ 1127.76 / 1233.12 ±114.89 / 1444.55 ms │       1174.05 / 1298.97 ±109.02 / 1440.06 ms │  1.05x slower │
│ QQuery 33 │  1590.51 / 1633.52 ±40.26 / 1701.42 ms │        1524.83 / 1619.28 ±71.43 / 1726.82 ms │     no change │
│ QQuery 34 │  1541.58 / 1662.51 ±83.06 / 1792.68 ms │        1570.64 / 1602.11 ±25.05 / 1635.64 ms │     no change │
│ QQuery 35 │     305.39 / 337.17 ±32.40 / 380.17 ms │          289.56 / 384.99 ±142.87 / 662.87 ms │  1.14x slower │
│ QQuery 36 │         64.61 / 70.25 ±5.15 / 79.28 ms │              65.41 / 81.12 ±13.72 / 98.95 ms │  1.15x slower │
│ QQuery 37 │         34.90 / 37.18 ±2.45 / 41.48 ms │               34.96 / 41.62 ±7.80 / 52.88 ms │  1.12x slower │
│ QQuery 38 │         41.31 / 46.28 ±6.32 / 58.70 ms │              43.47 / 50.63 ±11.61 / 73.75 ms │  1.09x slower │
│ QQuery 39 │      145.64 / 153.84 ±8.69 / 170.36 ms │           146.58 / 160.26 ±10.73 / 179.01 ms │     no change │
│ QQuery 40 │         13.85 / 15.29 ±1.58 / 18.18 ms │               14.15 / 17.08 ±3.65 / 23.51 ms │  1.12x slower │
│ QQuery 41 │         13.38 / 14.72 ±2.37 / 19.46 ms │               13.30 / 13.80 ±0.37 / 14.44 ms │ +1.07x faster │
│ QQuery 42 │         12.74 / 15.68 ±5.18 / 26.02 ms │               12.86 / 13.05 ±0.15 / 13.27 ms │ +1.20x faster │
└───────────┴────────────────────────────────────────┴──────────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                                           ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                                           │ 20356.09ms │
│ Total Time (rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2)   │ 20499.70ms │
│ Average Time (HEAD)                                         │   473.40ms │
│ Average Time (rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2) │   476.74ms │
│ Queries Faster                                              │          5 │
│ Queries Slower                                              │          8 │
│ Queries with No Change                                      │         30 │
│ Queries with Failure                                        │          0 │
└─────────────────────────────────────────────────────────────┴────────────┘

Memory Pool Peaks

Peak MemoryPool reservation per query — what DataFusion's accounting believes it reserved. Recorded only for benchmarks that write a results JSON (the dfbench suites, and the suites bench.sh runs through the Criterion SQL harness since #25644), and only under a memory limit: DATAFUSION_RUNTIME_MEMORY_LIMIT, or one the suite sets itself.

Base: 7cedf5427d7b021a4c28bf81a45277551691fa36 | Changed: 03efa3d40fd31668361c3fa78b730d620af8d89d

clickbench_partitioned

Query Base Changed Change
Query 0 0 B 0 B 0.0%
Query 1 104 B 104 B +0.0%
Query 2 936 B 936 B +0.0%
Query 3 312 B 312 B +0.0%
Query 4 742.3 MiB 779.4 MiB +5.0%
Query 5 1.2 GiB 1.2 GiB -2.5%
Query 6 0 B 0 B 0.0%
Query 7 60.0 MiB 50.0 MiB -16.6%
Query 8 946.8 MiB 945.8 MiB -0.1%
Query 9 635.2 MiB 551.9 MiB -13.1%
Query 10 114.1 MiB 115.8 MiB +1.5%
Query 11 117.1 MiB 109.6 MiB -6.4%
Query 12 1.3 GiB 1.3 GiB -1.1%
Query 13 1.6 GiB 1.6 GiB +3.3%
Query 14 1.3 GiB 1.3 GiB +0.6%
Query 15 1.2 GiB 1.1 GiB -5.0%
Query 16 3.4 GiB 3.3 GiB -2.4%
Query 17 3.3 GiB 3.4 GiB +0.7%
Query 18 8.3 GiB 8.1 GiB -2.0%
Query 19 0 B 0 B 0.0%
Query 20 104 B 104 B +0.0%
Query 21 4.0 MiB 4.0 MiB +0.0%
Query 22 3.6 MiB 3.5 MiB -2.9%
Query 23 3.8 GiB 3.1 GiB -17.0%
Query 24 57.9 MiB 59.9 MiB +3.5%
Query 25 167.5 MiB 154.0 MiB -8.1%
Query 26 61.6 MiB 58.7 MiB -4.7%
Query 27 2.5 MiB 2.6 MiB +6.2%
Query 28 1.7 GiB 1.7 GiB -1.6%
Query 29 624 B 624 B +0.0%
Query 30 709.0 MiB 682.1 MiB -3.8%
Query 31 1.5 GiB 1.6 GiB +7.7%
Query 32 7.2 GiB 7.1 GiB -0.6%
Query 33 7.7 GiB 7.9 GiB +2.8%
Query 34 7.9 GiB 7.9 GiB -0.3%
Query 35 620.4 MiB 613.0 MiB -1.2%
Query 36 124.2 MiB 116.7 MiB -6.1%
Query 37 7.3 MiB 6.9 MiB -5.5%
Query 38 6.0 MiB 5.3 MiB -11.9%
Query 39 297.9 MiB 297.8 MiB -0.0%
Query 40 2.3 MiB 2.3 MiB +0.0%
Query 41 3.1 MiB 3.1 MiB -0.0%
Query 42 1.7 MiB 1.5 MiB -8.0%

Pool accounting vs. process RSS

Max pool peak is the largest reservation any single query in the run reached; peak RSS covers the whole invocation, including data loading and allocator retention, and the two high-water marks need not coincide in time. The gap is therefore an upper bound on what the pool did not account for, not a measurement of it.

Benchmark Side Max pool peak Peak RSS Gap RSS / pool
clickbench_partitioned base (7cedf5427d7b021a4c28bf81a45277551691fa36) 8.3 GiB 18.4 GiB 10.0 GiB 2.2×
clickbench_partitioned changed (03efa3d40fd31668361c3fa78b730d620af8d89d) 8.1 GiB 17.3 GiB 9.2 GiB 2.1×
Resource Usage

clickbench_partitioned — base (merge-base)

Metric Value
Wall time 105.0s
Peak memory 18.4 GiB
Avg memory 6.0 GiB
CPU user 996.0s
CPU sys 103.0s
Peak spill 0 B

clickbench_partitioned — branch

Metric Value
Wall time 105.0s
Peak memory 17.3 GiB
Avg memory 5.7 GiB
CPU user 990.7s
CPU sys 105.3s
Peak spill 0 B

File an issue against this benchmark runner

Update the FixedSizeList offset call required by the Arrow revision.
@Rich-T-kid
Rich-T-kid force-pushed the rich-T-kid/bench-ndv-cap-arrow-rle-reader-v2 branch from 03efa3d to 822b9c2 Compare October 15, 2026 03:36
@Rich-T-kid

Copy link
Copy Markdown
Contributor Author

The first benchmark command is superseded. Its baseline used the current Arrow main tip rather than the parent of #11462, so it included unrelated Arrow changes.

The corrected run below compares the PR's actual parent (c7f60c61) with its head (55d9957a) on otherwise identical DataFusion commits.

@Rich-T-kid

Copy link
Copy Markdown
Contributor Author

run benchmark tpch tpcds clickbench_partitioned wide_schema

env:
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
  DATAFUSION_EXECUTION_PARQUET_RLE_TO_DICTIONARY_MAX_DISTINCT_VALUES: "2000"
baseline:
  ref: "24bbea6d48b49bdab43272c09964091179814a6f"
changed:
  ref: "822b9c2a07f95a38430845b4d4aa7fbba5da1d72"

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c6183822993-3427-7hjq9 6.12.94+ #1 SMP Fri Aug 21 08:00:16 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 822b9c2 (822b9c2) to 24bbea6 diff

Run configuration
run benchmark clickbench_partitioned
env:
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
  DATAFUSION_EXECUTION_PARQUET_RLE_TO_DICTIONARY_MAX_DISTINCT_VALUES: "2000"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "24bbea6d48b49bdab43272c09964091179814a6f"
changed:
  ref: "822b9c2a07f95a38430845b4d4aa7fbba5da1d72"

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-c6183822993-3428-vjp4j 6.12.94+ #1 SMP Fri Aug 21 08:00:16 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 822b9c2 (822b9c2) to 24bbea6 diff

Run configuration
run benchmark wide_schema
env:
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
  DATAFUSION_EXECUTION_PARQUET_RLE_TO_DICTIONARY_MAX_DISTINCT_VALUES: "2000"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "24bbea6d48b49bdab43272c09964091179814a6f"
changed:
  ref: "822b9c2a07f95a38430845b4d4aa7fbba5da1d72"

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-c6183822993-3425-tfww4 6.12.94+ #1 SMP Fri Aug 21 08:00:16 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 822b9c2 (822b9c2) to 24bbea6 diff

Run configuration
run benchmark tpch
env:
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
  DATAFUSION_EXECUTION_PARQUET_RLE_TO_DICTIONARY_MAX_DISTINCT_VALUES: "2000"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "24bbea6d48b49bdab43272c09964091179814a6f"
changed:
  ref: "822b9c2a07f95a38430845b4d4aa7fbba5da1d72"

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-c6183822993-3426-cx84f 6.12.94+ #1 SMP Fri Aug 21 08:00:16 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 822b9c2 (822b9c2) to 24bbea6 diff

Run configuration
run benchmark tpcds
env:
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
  DATAFUSION_EXECUTION_PARQUET_RLE_TO_DICTIONARY_MAX_DISTINCT_VALUES: "2000"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "24bbea6d48b49bdab43272c09964091179814a6f"
changed:
  ref: "822b9c2a07f95a38430845b4d4aa7fbba5da1d72"

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 03efa3d (03efa3d) to 7cedf54 diff

Run configuration
run benchmark wide_schema
env:
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
  DATAFUSION_EXECUTION_PARQUET_RLE_TO_DICTIONARY_MAX_DISTINCT_VALUES: "2000"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "7cedf5427d7b021a4c28bf81a45277551691fa36"
changed:
  ref: "03efa3d40fd31668361c3fa78b730d620af8d89d"
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

group                     HEAD                                   rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2
-----                     ----                                   --------------------------------------------
wide_schema/Q01_narrow    1.01     70.5±0.84ms        ? ?/sec    1.00     69.6±0.96ms        ? ?/sec
wide_schema/Q01_wide      1.01  1088.9±14.26ms        ? ?/sec    1.00  1073.5±10.38ms        ? ?/sec
wide_schema/Q02_narrow    1.01      5.9±0.05ms        ? ?/sec    1.00      5.8±0.08ms        ? ?/sec
wide_schema/Q02_wide      1.02    907.6±3.42ms        ? ?/sec    1.00    892.4±6.36ms        ? ?/sec
wide_schema/Q03_narrow    1.02     15.2±0.16ms        ? ?/sec    1.00     14.8±0.11ms        ? ?/sec
wide_schema/Q03_wide      1.02    913.3±5.24ms        ? ?/sec    1.00    896.2±9.61ms        ? ?/sec
wide_schema/Q04_narrow    1.01     32.2±0.20ms        ? ?/sec    1.00     31.7±0.32ms        ? ?/sec
wide_schema/Q04_wide      1.03   1026.7±5.09ms        ? ?/sec    1.00    999.5±2.96ms        ? ?/sec

Memory Pool Peaks

Peak MemoryPool reservation per query — what DataFusion's accounting believes it reserved. Recorded only for benchmarks that write a results JSON (the dfbench suites, and the suites bench.sh runs through the Criterion SQL harness since #25644), and only under a memory limit: DATAFUSION_RUNTIME_MEMORY_LIMIT, or one the suite sets itself.

Base: 7cedf5427d7b021a4c28bf81a45277551691fa36 | Changed: 03efa3d40fd31668361c3fa78b730d620af8d89d

wide_schema — wide_schema_narrow

Query Base Changed Change
wide_schema/Q01_narrow 566.6 MiB 566.6 MiB +0.0%
wide_schema/Q02_narrow 0 B 0 B 0.0%
wide_schema/Q03_narrow 0 B 0 B 0.0%
wide_schema/Q04_narrow 0 B 0 B 0.0%

wide_schema — wide_schema_wide

Query Base Changed Change
wide_schema/Q01_wide 566.3 MiB 566.4 MiB +0.0%
wide_schema/Q02_wide 0 B 0 B 0.0%
wide_schema/Q03_wide 0 B 0 B 0.0%
wide_schema/Q04_wide 0 B 0 B 0.0%

Pool accounting vs. process RSS

Max pool peak is the largest reservation any single query in the run reached; peak RSS covers the whole invocation, including data loading and allocator retention, and the two high-water marks need not coincide in time. The gap is therefore an upper bound on what the pool did not account for, not a measurement of it.

Benchmark Side Max pool peak Peak RSS Gap RSS / pool
wide_schema base (7cedf5427d7b021a4c28bf81a45277551691fa36) 566.6 MiB 1.4 GiB 887.8 MiB 2.6×
wide_schema changed (03efa3d40fd31668361c3fa78b730d620af8d89d) 566.6 MiB 1.4 GiB 876.0 MiB 2.5×
Resource Usage

wide_schema — base (merge-base)

Metric Value
Wall time 720.3s
Peak memory 1.4 GiB
Avg memory 131.5 MiB
CPU user 374.6s
CPU sys 62.8s
Peak spill 0 B

wide_schema — branch

Metric Value
Wall time 735.3s
Peak memory 1.4 GiB
Avg memory 128.2 MiB
CPU user 379.1s
CPU sys 62.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 822b9c2 (822b9c2) to 24bbea6 diff

Run configuration
run benchmark tpch
env:
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
  DATAFUSION_EXECUTION_PARQUET_RLE_TO_DICTIONARY_MAX_DISTINCT_VALUES: "2000"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "24bbea6d48b49bdab43272c09964091179814a6f"
changed:
  ref: "822b9c2a07f95a38430845b4d4aa7fbba5da1d72"
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 rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2
--------------------
Benchmark tpch_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃     HEAD ┃ rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2 ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │ 41.05 ms │                                     41.16 ms │     no change │
│ QQuery 2  │ 18.85 ms │                                     18.76 ms │     no change │
│ QQuery 3  │ 29.45 ms │                                     28.74 ms │     no change │
│ QQuery 4  │ 18.10 ms │                                     17.86 ms │     no change │
│ QQuery 5  │ 36.87 ms │                                     36.25 ms │     no change │
│ QQuery 6  │ 14.06 ms │                                     13.91 ms │     no change │
│ QQuery 7  │ 42.92 ms │                                     44.03 ms │     no change │
│ QQuery 8  │ 42.04 ms │                                     41.29 ms │     no change │
│ QQuery 9  │ 52.02 ms │                                     51.22 ms │     no change │
│ QQuery 10 │ 41.93 ms │                                     41.51 ms │     no change │
│ QQuery 11 │ 14.16 ms │                                     13.75 ms │     no change │
│ QQuery 12 │ 18.62 ms │                                     17.64 ms │ +1.06x faster │
│ QQuery 13 │ 43.55 ms │                                     40.74 ms │ +1.07x faster │
│ QQuery 14 │ 25.77 ms │                                     24.91 ms │     no change │
│ QQuery 15 │ 32.16 ms │                                     31.50 ms │     no change │
│ QQuery 16 │ 14.04 ms │                                     13.87 ms │     no change │
│ QQuery 17 │ 78.00 ms │                                     78.38 ms │     no change │
│ QQuery 18 │ 47.23 ms │                                     46.55 ms │     no change │
│ QQuery 19 │ 32.41 ms │                                     32.65 ms │     no change │
│ QQuery 20 │ 32.41 ms │                                     32.59 ms │     no change │
│ QQuery 21 │ 57.26 ms │                                     56.19 ms │     no change │
│ QQuery 22 │ 14.83 ms │                                     14.38 ms │     no change │
└───────────┴──────────┴──────────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┓
┃ Benchmark Summary                                           ┃          ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━┩
│ Total Time (HEAD)                                           │ 747.74ms │
│ Total Time (rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2)   │ 737.87ms │
│ Average Time (HEAD)                                         │  33.99ms │
│ Average Time (rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2) │  33.54ms │
│ Queries Faster                                              │        2 │
│ Queries Slower                                              │        0 │
│ Queries with No Change                                      │       20 │
│ Queries with Failure                                        │        0 │
└─────────────────────────────────────────────────────────────┴──────────┘

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

Comparing HEAD and rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2
--------------------
Benchmark tpch_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                           HEAD ┃ rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2 ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │ 41.05 / 42.54 ±1.13 / 43.95 ms │               41.16 / 42.01 ±1.01 / 43.95 ms │     no change │
│ QQuery 2  │ 18.85 / 19.14 ±0.38 / 19.89 ms │               18.76 / 19.65 ±0.99 / 21.39 ms │     no change │
│ QQuery 3  │ 29.45 / 30.23 ±1.27 / 32.76 ms │               28.74 / 29.54 ±0.42 / 29.90 ms │     no change │
│ QQuery 4  │ 18.10 / 18.59 ±0.73 / 20.04 ms │               17.86 / 18.38 ±0.69 / 19.74 ms │     no change │
│ QQuery 5  │ 36.87 / 37.14 ±0.27 / 37.55 ms │               36.25 / 37.10 ±0.90 / 38.81 ms │     no change │
│ QQuery 6  │ 14.06 / 14.12 ±0.05 / 14.20 ms │               13.91 / 14.10 ±0.10 / 14.19 ms │     no change │
│ QQuery 7  │ 42.92 / 45.96 ±2.77 / 50.88 ms │               44.03 / 45.16 ±1.62 / 48.35 ms │     no change │
│ QQuery 8  │ 42.04 / 43.14 ±1.58 / 46.25 ms │               41.29 / 42.02 ±0.59 / 42.95 ms │     no change │
│ QQuery 9  │ 52.02 / 52.87 ±0.59 / 53.69 ms │               51.22 / 52.04 ±0.61 / 52.98 ms │     no change │
│ QQuery 10 │ 41.93 / 42.83 ±0.95 / 44.62 ms │               41.51 / 41.63 ±0.21 / 42.05 ms │     no change │
│ QQuery 11 │ 14.16 / 14.37 ±0.15 / 14.61 ms │               13.75 / 14.10 ±0.47 / 15.02 ms │     no change │
│ QQuery 12 │ 18.62 / 19.06 ±0.27 / 19.40 ms │               17.64 / 18.39 ±0.40 / 18.77 ms │     no change │
│ QQuery 13 │ 43.55 / 44.50 ±1.85 / 48.21 ms │               40.74 / 41.23 ±0.36 / 41.86 ms │ +1.08x faster │
│ QQuery 14 │ 25.77 / 26.00 ±0.15 / 26.20 ms │               24.91 / 25.76 ±1.17 / 28.06 ms │     no change │
│ QQuery 15 │ 32.16 / 32.48 ±0.25 / 32.77 ms │               31.50 / 32.39 ±0.91 / 33.77 ms │     no change │
│ QQuery 16 │ 14.04 / 14.35 ±0.18 / 14.49 ms │               13.87 / 14.23 ±0.24 / 14.49 ms │     no change │
│ QQuery 17 │ 78.00 / 79.99 ±2.43 / 84.38 ms │               78.38 / 79.97 ±2.09 / 84.08 ms │     no change │
│ QQuery 18 │ 47.23 / 48.23 ±1.00 / 50.09 ms │               46.55 / 48.53 ±1.36 / 50.46 ms │     no change │
│ QQuery 19 │ 32.41 / 33.04 ±1.00 / 35.03 ms │               32.65 / 33.75 ±1.27 / 36.16 ms │     no change │
│ QQuery 20 │ 32.41 / 32.95 ±0.41 / 33.67 ms │               32.59 / 32.85 ±0.23 / 33.15 ms │     no change │
│ QQuery 21 │ 57.26 / 58.33 ±0.98 / 60.17 ms │               56.19 / 57.78 ±1.84 / 60.96 ms │     no change │
│ QQuery 22 │ 14.83 / 15.40 ±0.55 / 16.33 ms │               14.38 / 14.65 ±0.14 / 14.77 ms │     no change │
└───────────┴────────────────────────────────┴──────────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┓
┃ Benchmark Summary                                           ┃          ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━┩
│ Total Time (HEAD)                                           │ 765.26ms │
│ Total Time (rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2)   │ 755.23ms │
│ Average Time (HEAD)                                         │  34.78ms │
│ Average Time (rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2) │  34.33ms │
│ Queries Faster                                              │        1 │
│ Queries Slower                                              │        0 │
│ Queries with No Change                                      │       21 │
│ Queries with Failure                                        │        0 │
└─────────────────────────────────────────────────────────────┴──────────┘

Memory Pool Peaks

Peak MemoryPool reservation per query — what DataFusion's accounting believes it reserved. Recorded only for benchmarks that write a results JSON (the dfbench suites, and the suites bench.sh runs through the Criterion SQL harness since #25644), and only under a memory limit: DATAFUSION_RUNTIME_MEMORY_LIMIT, or one the suite sets itself.

Base: 24bbea6d48b49bdab43272c09964091179814a6f | Changed: 822b9c2a07f95a38430845b4d4aa7fbba5da1d72

tpch — tpch_sf1

Query Base Changed Change
Query 1 30.0 MiB 30.0 MiB +0.0%
Query 2 15.9 MiB 15.9 MiB +0.0%
Query 3 11.5 MiB 11.5 MiB +0.0%
Query 4 23.4 MiB 23.4 MiB -0.1%
Query 5 33.7 MiB 43.2 MiB +28.2%
Query 6 832 B 832 B +0.0%
Query 7 107.4 MiB 107.4 MiB +0.0%
Query 8 35.4 MiB 34.0 MiB -4.0%
Query 9 155.4 MiB 155.4 MiB +0.0%
Query 10 37.1 MiB 37.8 MiB +1.9%
Query 11 51.5 MiB 41.5 MiB -19.5%
Query 12 20.9 MiB 20.3 MiB -2.7%
Query 13 62.3 MiB 62.3 MiB +0.0%
Query 14 7.7 MiB 7.7 MiB +0.0%
Query 15 12.6 MiB 12.7 MiB +0.9%
Query 16 44.5 MiB 54.3 MiB +22.1%
Query 17 141.3 MiB 141.3 MiB +0.0%
Query 18 189.1 MiB 189.1 MiB +0.0%
Query 19 746.1 KiB 746.1 KiB +0.0%
Query 20 60.2 MiB 61.0 MiB +1.5%
Query 21 42.6 MiB 42.6 MiB +0.0%
Query 22 23.0 MiB 32.6 MiB +41.6%

Pool accounting vs. process RSS

Max pool peak is the largest reservation any single query in the run reached; peak RSS covers the whole invocation, including data loading and allocator retention, and the two high-water marks need not coincide in time. The gap is therefore an upper bound on what the pool did not account for, not a measurement of it.

Benchmark Side Max pool peak Peak RSS Gap RSS / pool
tpch base (24bbea6d48b49bdab43272c09964091179814a6f) 189.1 MiB 1.2 GiB 1.0 GiB 6.5×
tpch changed (822b9c2a07f95a38430845b4d4aa7fbba5da1d72) 189.1 MiB 1.1 GiB 952.1 MiB 6.0×
Resource Usage

tpch — base (merge-base)

Metric Value
Wall time 5.0s
Peak memory 1.2 GiB
Avg memory 522.4 MiB
CPU user 21.1s
CPU sys 1.9s
Peak spill 0 B

tpch — branch

Metric Value
Wall time 5.0s
Peak memory 1.1 GiB
Avg memory 480.2 MiB
CPU user 20.9s
CPU sys 1.8s
Peak spill 0 B

File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark completed (GKE) | trigger

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

Comparing 822b9c2 (822b9c2) to 24bbea6 diff

Run configuration
run benchmark tpcds
env:
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
  DATAFUSION_EXECUTION_PARQUET_RLE_TO_DICTIONARY_MAX_DISTINCT_VALUES: "2000"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "24bbea6d48b49bdab43272c09964091179814a6f"
changed:
  ref: "822b9c2a07f95a38430845b4d4aa7fbba5da1d72"
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 rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2
--------------------
Benchmark tpcds_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃       HEAD ┃ rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2 ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │    5.18 ms │                                      5.14 ms │     no change │
│ QQuery 2  │   79.54 ms │                                     79.21 ms │     no change │
│ QQuery 3  │   27.96 ms │                                     27.84 ms │     no change │
│ QQuery 4  │  415.38 ms │                                    416.47 ms │     no change │
│ QQuery 5  │   48.37 ms │                                     48.76 ms │     no change │
│ QQuery 6  │   34.31 ms │                                     33.74 ms │     no change │
│ QQuery 7  │   70.61 ms │                                     70.04 ms │     no change │
│ QQuery 8  │   35.15 ms │                                     35.20 ms │     no change │
│ QQuery 9  │   50.58 ms │                                     49.75 ms │     no change │
│ QQuery 10 │   59.33 ms │                                     59.68 ms │     no change │
│ QQuery 11 │  256.31 ms │                                    251.96 ms │     no change │
│ QQuery 12 │   28.06 ms │                                     27.77 ms │     no change │
│ QQuery 13 │  110.61 ms │                                    110.89 ms │     no change │
│ QQuery 14 │  374.06 ms │                                    373.57 ms │     no change │
│ QQuery 15 │   51.42 ms │                                     51.76 ms │     no change │
│ QQuery 16 │    5.90 ms │                                      5.91 ms │     no change │
│ QQuery 17 │   77.80 ms │                                     78.10 ms │     no change │
│ QQuery 18 │  102.36 ms │                                    101.50 ms │     no change │
│ QQuery 19 │   39.92 ms │                                     40.22 ms │     no change │
│ QQuery 20 │   34.91 ms │                                     35.39 ms │     no change │
│ QQuery 21 │   16.22 ms │                                     16.32 ms │     no change │
│ QQuery 22 │   61.56 ms │                                     61.23 ms │     no change │
│ QQuery 23 │  286.52 ms │                                    284.78 ms │     no change │
│ QQuery 24 │  185.16 ms │                                    185.61 ms │     no change │
│ QQuery 25 │  106.97 ms │                                    107.07 ms │     no change │
│ QQuery 26 │   44.85 ms │                                     44.57 ms │     no change │
│ QQuery 27 │    5.65 ms │                                      5.67 ms │     no change │
│ QQuery 28 │   58.60 ms │                                     55.53 ms │ +1.06x faster │
│ QQuery 29 │   93.68 ms │                                     94.47 ms │     no change │
│ QQuery 30 │   31.08 ms │                                     31.43 ms │     no change │
│ QQuery 31 │  105.72 ms │                                    106.40 ms │     no change │
│ QQuery 32 │   19.26 ms │                                     19.19 ms │     no change │
│ QQuery 33 │   35.69 ms │                                     35.89 ms │     no change │
│ QQuery 34 │    9.64 ms │                                      9.63 ms │     no change │
│ QQuery 35 │   69.95 ms │                                     70.17 ms │     no change │
│ QQuery 36 │    5.48 ms │                                      5.49 ms │     no change │
│ QQuery 37 │    6.51 ms │                                      6.48 ms │     no change │
│ QQuery 38 │   59.24 ms │                                     59.11 ms │     no change │
│ QQuery 39 │   71.02 ms │                                     70.93 ms │     no change │
│ QQuery 40 │   22.32 ms │                                     22.53 ms │     no change │
│ QQuery 41 │   10.97 ms │                                     10.98 ms │     no change │
│ QQuery 42 │   22.79 ms │                                     22.86 ms │     no change │
│ QQuery 43 │    4.74 ms │                                      4.70 ms │     no change │
│ QQuery 44 │    8.55 ms │                                      8.47 ms │     no change │
│ QQuery 45 │   34.99 ms │                                     35.50 ms │     no change │
│ QQuery 46 │   11.34 ms │                                     11.39 ms │     no change │
│ QQuery 47 │  212.98 ms │                                    213.10 ms │     no change │
│ QQuery 48 │   88.78 ms │                                     88.97 ms │     no change │
│ QQuery 49 │   67.79 ms │                                     68.84 ms │     no change │
│ QQuery 50 │   57.51 ms │                                     57.50 ms │     no change │
│ QQuery 51 │   92.04 ms │                                     90.72 ms │     no change │
│ QQuery 52 │   23.21 ms │                                     23.32 ms │     no change │
│ QQuery 53 │   28.08 ms │                                     28.20 ms │     no change │
│ QQuery 54 │   52.20 ms │                                     51.83 ms │     no change │
│ QQuery 55 │   22.48 ms │                                     23.06 ms │     no change │
│ QQuery 56 │   36.42 ms │                                     36.60 ms │     no change │
│ QQuery 57 │  165.29 ms │                                    165.53 ms │     no change │
│ QQuery 58 │  105.19 ms │                                    106.21 ms │     no change │
│ QQuery 59 │  113.63 ms │                                    113.68 ms │     no change │
│ QQuery 60 │   36.99 ms │                                     37.15 ms │     no change │
│ QQuery 61 │   10.54 ms │                                     10.47 ms │     no change │
│ QQuery 62 │   43.21 ms │                                     43.64 ms │     no change │
│ QQuery 63 │   28.35 ms │                                     28.47 ms │     no change │
│ QQuery 64 │  350.94 ms │                                    351.80 ms │     no change │
│ QQuery 65 │  130.20 ms │                                    128.16 ms │     no change │
│ QQuery 66 │   75.50 ms │                                     75.06 ms │     no change │
│ QQuery 67 │  238.56 ms │                                    232.89 ms │     no change │
│ QQuery 68 │   11.61 ms │                                     11.22 ms │     no change │
│ QQuery 69 │   54.64 ms │                                     54.30 ms │     no change │
│ QQuery 70 │  101.24 ms │                                    101.45 ms │     no change │
│ QQuery 71 │   33.86 ms │                                     34.22 ms │     no change │
│ QQuery 72 │ 1598.87 ms │                                   1650.67 ms │     no change │
│ QQuery 73 │    9.88 ms │                                      9.42 ms │     no change │
│ QQuery 74 │  147.84 ms │                                    152.90 ms │     no change │
│ QQuery 75 │  136.54 ms │                                    138.81 ms │     no change │
│ QQuery 76 │   33.31 ms │                                     33.49 ms │     no change │
│ QQuery 77 │   58.01 ms │                                     58.86 ms │     no change │
│ QQuery 78 │  164.53 ms │                                    166.51 ms │     no change │
│ QQuery 79 │   64.80 ms │                                     65.68 ms │     no change │
│ QQuery 80 │   93.62 ms │                                     94.31 ms │     no change │
│ QQuery 81 │   24.65 ms │                                     24.77 ms │     no change │
│ QQuery 82 │   15.68 ms │                                     15.88 ms │     no change │
│ QQuery 83 │   31.87 ms │                                     32.35 ms │     no change │
│ QQuery 84 │   28.72 ms │                                     28.99 ms │     no change │
│ QQuery 85 │   96.93 ms │                                     97.02 ms │     no change │
│ QQuery 86 │   24.40 ms │                                     24.64 ms │     no change │
│ QQuery 87 │   59.03 ms │                                     60.34 ms │     no change │
│ QQuery 88 │   57.38 ms │                                     57.58 ms │     no change │
│ QQuery 89 │   34.42 ms │                                     34.73 ms │     no change │
│ QQuery 90 │   15.77 ms │                                     15.82 ms │     no change │
│ QQuery 91 │   39.81 ms │                                     40.44 ms │     no change │
│ QQuery 92 │   27.91 ms │                                     28.46 ms │     no change │
│ QQuery 93 │   48.43 ms │                                     48.60 ms │     no change │
│ QQuery 94 │   37.14 ms │                                     37.25 ms │     no change │
│ QQuery 95 │   77.73 ms │                                     79.40 ms │     no change │
│ QQuery 96 │   22.86 ms │                                     23.11 ms │     no change │
│ QQuery 97 │   49.88 ms │                                     51.00 ms │     no change │
│ QQuery 98 │   41.89 ms │                                     42.76 ms │     no change │
│ QQuery 99 │   63.84 ms │                                     64.89 ms │     no change │
└───────────┴────────────┴──────────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Benchmark Summary                                           ┃           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ Total Time (HEAD)                                           │ 8583.22ms │
│ Total Time (rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2)   │ 8644.39ms │
│ Average Time (HEAD)                                         │   86.70ms │
│ Average Time (rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2) │   87.32ms │
│ Queries Faster                                              │         1 │
│ Queries Slower                                              │         0 │
│ Queries with No Change                                      │        98 │
│ Queries with Failure                                        │         0 │
└─────────────────────────────────────────────────────────────┴───────────┘

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

Comparing HEAD and rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2
--------------------
Benchmark tpcds_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                  HEAD ┃ rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2 ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │           5.18 / 5.77 ±1.04 / 7.84 ms │                  5.14 / 5.76 ±1.01 / 7.78 ms │     no change │
│ QQuery 2  │        79.54 / 79.78 ±0.18 / 80.06 ms │               79.21 / 79.66 ±0.36 / 80.28 ms │     no change │
│ QQuery 3  │        27.96 / 28.24 ±0.31 / 28.74 ms │               27.84 / 28.06 ±0.23 / 28.47 ms │     no change │
│ QQuery 4  │     415.38 / 426.34 ±7.01 / 437.28 ms │            416.47 / 422.11 ±4.70 / 429.98 ms │     no change │
│ QQuery 5  │        48.37 / 49.04 ±0.43 / 49.73 ms │               48.76 / 49.22 ±0.34 / 49.83 ms │     no change │
│ QQuery 6  │        34.31 / 35.22 ±1.28 / 37.76 ms │               33.74 / 36.25 ±2.89 / 41.90 ms │     no change │
│ QQuery 7  │        70.61 / 71.06 ±0.65 / 72.30 ms │               70.04 / 71.11 ±0.83 / 72.54 ms │     no change │
│ QQuery 8  │        35.15 / 35.89 ±0.48 / 36.64 ms │               35.20 / 35.38 ±0.16 / 35.65 ms │     no change │
│ QQuery 9  │        50.58 / 51.96 ±1.12 / 53.40 ms │               49.75 / 52.50 ±1.50 / 54.26 ms │     no change │
│ QQuery 10 │        59.33 / 61.74 ±3.42 / 68.54 ms │               59.68 / 61.32 ±2.15 / 65.55 ms │     no change │
│ QQuery 11 │     256.31 / 263.89 ±7.94 / 276.80 ms │            251.96 / 255.64 ±2.94 / 260.38 ms │     no change │
│ QQuery 12 │        28.06 / 28.51 ±0.45 / 29.26 ms │               27.77 / 28.37 ±0.53 / 29.22 ms │     no change │
│ QQuery 13 │     110.61 / 113.58 ±4.30 / 122.06 ms │            110.89 / 111.65 ±0.51 / 112.47 ms │     no change │
│ QQuery 14 │     374.06 / 379.02 ±6.94 / 392.33 ms │            373.57 / 379.88 ±6.82 / 392.89 ms │     no change │
│ QQuery 15 │        51.42 / 52.60 ±0.94 / 54.23 ms │               51.76 / 53.07 ±1.76 / 56.49 ms │     no change │
│ QQuery 16 │           5.90 / 6.04 ±0.12 / 6.24 ms │                  5.91 / 6.04 ±0.12 / 6.26 ms │     no change │
│ QQuery 17 │        77.80 / 78.08 ±0.30 / 78.54 ms │               78.10 / 79.15 ±0.81 / 80.33 ms │     no change │
│ QQuery 18 │     102.36 / 104.76 ±3.59 / 111.86 ms │            101.50 / 102.22 ±0.64 / 103.25 ms │     no change │
│ QQuery 19 │        39.92 / 40.46 ±0.49 / 41.30 ms │               40.22 / 41.13 ±1.06 / 43.15 ms │     no change │
│ QQuery 20 │        34.91 / 35.11 ±0.21 / 35.51 ms │               35.39 / 35.76 ±0.42 / 36.58 ms │     no change │
│ QQuery 21 │        16.22 / 16.51 ±0.18 / 16.74 ms │               16.32 / 16.49 ±0.11 / 16.61 ms │     no change │
│ QQuery 22 │        61.56 / 62.13 ±0.38 / 62.67 ms │               61.23 / 61.94 ±0.49 / 62.57 ms │     no change │
│ QQuery 23 │     286.52 / 290.59 ±3.47 / 296.11 ms │            284.78 / 291.80 ±3.77 / 295.25 ms │     no change │
│ QQuery 24 │     185.16 / 188.31 ±4.44 / 196.99 ms │            185.61 / 188.82 ±4.88 / 198.51 ms │     no change │
│ QQuery 25 │     106.97 / 108.32 ±1.41 / 110.81 ms │            107.07 / 107.92 ±1.15 / 110.11 ms │     no change │
│ QQuery 26 │        44.85 / 45.33 ±0.41 / 45.86 ms │               44.57 / 45.18 ±0.48 / 45.84 ms │     no change │
│ QQuery 27 │           5.65 / 5.84 ±0.18 / 6.07 ms │                  5.67 / 5.86 ±0.14 / 6.12 ms │     no change │
│ QQuery 28 │        58.60 / 59.76 ±0.86 / 61.08 ms │               55.53 / 60.70 ±4.24 / 68.44 ms │     no change │
│ QQuery 29 │        93.68 / 94.58 ±0.76 / 95.91 ms │               94.47 / 96.19 ±1.54 / 98.95 ms │     no change │
│ QQuery 30 │        31.08 / 31.70 ±0.55 / 32.65 ms │               31.43 / 32.50 ±1.23 / 34.75 ms │     no change │
│ QQuery 31 │     105.72 / 106.52 ±0.64 / 107.58 ms │            106.40 / 106.71 ±0.40 / 107.48 ms │     no change │
│ QQuery 32 │        19.26 / 19.75 ±0.47 / 20.63 ms │               19.19 / 19.61 ±0.41 / 20.39 ms │     no change │
│ QQuery 33 │        35.69 / 35.88 ±0.21 / 36.28 ms │               35.89 / 36.03 ±0.13 / 36.26 ms │     no change │
│ QQuery 34 │         9.64 / 11.16 ±2.48 / 16.05 ms │                 9.63 / 9.98 ±0.29 / 10.43 ms │ +1.12x faster │
│ QQuery 35 │        69.95 / 71.23 ±0.96 / 72.76 ms │               70.17 / 71.50 ±1.68 / 74.80 ms │     no change │
│ QQuery 36 │           5.48 / 5.66 ±0.21 / 6.05 ms │                  5.49 / 5.64 ±0.22 / 6.07 ms │     no change │
│ QQuery 37 │           6.51 / 6.66 ±0.12 / 6.82 ms │                  6.48 / 6.70 ±0.13 / 6.86 ms │     no change │
│ QQuery 38 │        59.24 / 59.72 ±0.40 / 60.26 ms │               59.11 / 59.70 ±0.54 / 60.59 ms │     no change │
│ QQuery 39 │        71.02 / 72.36 ±1.36 / 74.98 ms │               70.93 / 72.42 ±1.53 / 75.20 ms │     no change │
│ QQuery 40 │        22.32 / 22.72 ±0.47 / 23.64 ms │               22.53 / 23.03 ±0.33 / 23.50 ms │     no change │
│ QQuery 41 │        10.97 / 11.08 ±0.11 / 11.30 ms │               10.98 / 11.20 ±0.21 / 11.58 ms │     no change │
│ QQuery 42 │        22.79 / 23.84 ±1.80 / 27.43 ms │               22.86 / 23.85 ±0.72 / 24.70 ms │     no change │
│ QQuery 43 │           4.74 / 4.85 ±0.11 / 5.07 ms │                  4.70 / 4.82 ±0.14 / 5.09 ms │     no change │
│ QQuery 44 │           8.55 / 8.75 ±0.23 / 9.19 ms │                  8.47 / 8.67 ±0.16 / 8.96 ms │     no change │
│ QQuery 45 │        34.99 / 35.58 ±0.38 / 36.13 ms │               35.50 / 36.04 ±0.44 / 36.57 ms │     no change │
│ QQuery 46 │        11.34 / 11.47 ±0.24 / 11.94 ms │               11.39 / 11.68 ±0.33 / 12.21 ms │     no change │
│ QQuery 47 │     212.98 / 215.35 ±1.78 / 218.13 ms │            213.10 / 215.97 ±2.08 / 219.39 ms │     no change │
│ QQuery 48 │        88.78 / 89.95 ±1.30 / 92.33 ms │               88.97 / 89.48 ±0.35 / 90.00 ms │     no change │
│ QQuery 49 │        67.79 / 68.94 ±1.06 / 70.24 ms │               68.84 / 72.01 ±3.95 / 79.77 ms │     no change │
│ QQuery 50 │        57.51 / 57.70 ±0.17 / 57.93 ms │               57.50 / 58.17 ±0.41 / 58.79 ms │     no change │
│ QQuery 51 │        92.04 / 94.91 ±2.71 / 98.88 ms │               90.72 / 92.56 ±2.10 / 96.62 ms │     no change │
│ QQuery 52 │        23.21 / 23.65 ±0.36 / 24.23 ms │               23.32 / 23.75 ±0.44 / 24.32 ms │     no change │
│ QQuery 53 │        28.08 / 28.28 ±0.18 / 28.51 ms │               28.20 / 28.60 ±0.31 / 29.03 ms │     no change │
│ QQuery 54 │        52.20 / 52.60 ±0.36 / 53.17 ms │               51.83 / 52.19 ±0.25 / 52.47 ms │     no change │
│ QQuery 55 │        22.48 / 22.84 ±0.32 / 23.35 ms │               23.06 / 23.11 ±0.04 / 23.18 ms │     no change │
│ QQuery 56 │        36.42 / 36.87 ±0.31 / 37.37 ms │               36.60 / 37.02 ±0.36 / 37.55 ms │     no change │
│ QQuery 57 │     165.29 / 167.32 ±2.52 / 172.10 ms │            165.53 / 167.94 ±2.66 / 171.44 ms │     no change │
│ QQuery 58 │     105.19 / 107.08 ±1.83 / 110.03 ms │            106.21 / 108.66 ±3.02 / 114.10 ms │     no change │
│ QQuery 59 │     113.63 / 114.95 ±2.27 / 119.48 ms │            113.68 / 114.33 ±0.65 / 115.44 ms │     no change │
│ QQuery 60 │        36.99 / 37.60 ±0.65 / 38.83 ms │               37.15 / 37.59 ±0.39 / 38.18 ms │     no change │
│ QQuery 61 │        10.54 / 10.72 ±0.16 / 10.99 ms │               10.47 / 11.97 ±2.63 / 17.20 ms │  1.12x slower │
│ QQuery 62 │        43.21 / 44.21 ±1.23 / 46.59 ms │               43.64 / 43.82 ±0.15 / 44.06 ms │     no change │
│ QQuery 63 │        28.35 / 28.51 ±0.21 / 28.91 ms │               28.47 / 28.80 ±0.32 / 29.29 ms │     no change │
│ QQuery 64 │     350.94 / 353.76 ±1.65 / 355.81 ms │            351.80 / 355.91 ±2.20 / 357.84 ms │     no change │
│ QQuery 65 │     130.20 / 133.89 ±2.26 / 136.52 ms │            128.16 / 130.67 ±2.08 / 133.53 ms │     no change │
│ QQuery 66 │        75.50 / 76.71 ±1.56 / 79.75 ms │               75.06 / 77.09 ±2.70 / 82.41 ms │     no change │
│ QQuery 67 │     238.56 / 242.25 ±3.12 / 245.66 ms │            232.89 / 238.90 ±4.55 / 246.66 ms │     no change │
│ QQuery 68 │        11.61 / 12.34 ±0.75 / 13.75 ms │               11.22 / 11.41 ±0.21 / 11.83 ms │ +1.08x faster │
│ QQuery 69 │        54.64 / 54.88 ±0.28 / 55.41 ms │               54.30 / 54.90 ±0.36 / 55.26 ms │     no change │
│ QQuery 70 │     101.24 / 107.06 ±5.99 / 117.43 ms │            101.45 / 106.24 ±4.23 / 113.97 ms │     no change │
│ QQuery 71 │        33.86 / 34.48 ±0.48 / 35.11 ms │               34.22 / 34.54 ±0.25 / 34.96 ms │     no change │
│ QQuery 72 │ 1598.87 / 1666.87 ±48.54 / 1730.82 ms │        1650.67 / 1674.71 ±41.02 / 1756.62 ms │     no change │
│ QQuery 73 │         9.88 / 10.35 ±0.36 / 10.94 ms │                 9.42 / 9.96 ±0.45 / 10.62 ms │     no change │
│ QQuery 74 │     147.84 / 151.67 ±2.89 / 155.12 ms │            152.90 / 153.80 ±0.76 / 154.79 ms │     no change │
│ QQuery 75 │     136.54 / 137.13 ±0.52 / 137.90 ms │            138.81 / 142.50 ±6.21 / 154.87 ms │     no change │
│ QQuery 76 │        33.31 / 33.86 ±0.49 / 34.54 ms │               33.49 / 33.76 ±0.17 / 33.94 ms │     no change │
│ QQuery 77 │        58.01 / 59.81 ±3.01 / 65.81 ms │               58.86 / 59.25 ±0.37 / 59.94 ms │     no change │
│ QQuery 78 │     164.53 / 169.69 ±4.32 / 175.31 ms │            166.51 / 172.36 ±5.35 / 178.78 ms │     no change │
│ QQuery 79 │        64.80 / 65.85 ±1.02 / 67.72 ms │               65.68 / 66.01 ±0.25 / 66.40 ms │     no change │
│ QQuery 80 │        93.62 / 94.59 ±1.18 / 96.84 ms │              94.31 / 97.50 ±4.45 / 105.88 ms │     no change │
│ QQuery 81 │        24.65 / 24.96 ±0.22 / 25.31 ms │               24.77 / 25.27 ±0.34 / 25.73 ms │     no change │
│ QQuery 82 │        15.68 / 15.90 ±0.17 / 16.19 ms │               15.88 / 16.06 ±0.17 / 16.34 ms │     no change │
│ QQuery 83 │        31.87 / 32.84 ±1.72 / 36.28 ms │               32.35 / 33.01 ±0.74 / 34.45 ms │     no change │
│ QQuery 84 │        28.72 / 28.85 ±0.10 / 28.96 ms │               28.99 / 29.22 ±0.24 / 29.65 ms │     no change │
│ QQuery 85 │       96.93 / 99.29 ±2.80 / 104.79 ms │             97.02 / 101.76 ±5.27 / 112.03 ms │     no change │
│ QQuery 86 │        24.40 / 24.71 ±0.24 / 25.14 ms │               24.64 / 24.82 ±0.22 / 25.24 ms │     no change │
│ QQuery 87 │        59.03 / 60.70 ±1.15 / 62.35 ms │               60.34 / 61.13 ±0.63 / 61.99 ms │     no change │
│ QQuery 88 │        57.38 / 58.73 ±2.00 / 62.64 ms │               57.58 / 61.14 ±5.71 / 72.51 ms │     no change │
│ QQuery 89 │        34.42 / 34.89 ±0.41 / 35.49 ms │               34.73 / 35.46 ±0.48 / 36.18 ms │     no change │
│ QQuery 90 │        15.77 / 15.87 ±0.13 / 16.11 ms │               15.82 / 16.05 ±0.19 / 16.40 ms │     no change │
│ QQuery 91 │        39.81 / 40.13 ±0.25 / 40.58 ms │               40.44 / 40.75 ±0.20 / 40.96 ms │     no change │
│ QQuery 92 │        27.91 / 29.34 ±1.87 / 33.01 ms │               28.46 / 29.13 ±0.84 / 30.66 ms │     no change │
│ QQuery 93 │        48.43 / 49.44 ±0.95 / 50.92 ms │               48.60 / 49.40 ±0.77 / 50.75 ms │     no change │
│ QQuery 94 │        37.14 / 38.61 ±1.62 / 41.63 ms │               37.25 / 38.63 ±1.95 / 42.35 ms │     no change │
│ QQuery 95 │        77.73 / 78.74 ±0.59 / 79.47 ms │               79.40 / 80.53 ±1.13 / 82.59 ms │     no change │
│ QQuery 96 │        22.86 / 23.06 ±0.26 / 23.58 ms │               23.11 / 23.40 ±0.34 / 24.03 ms │     no change │
│ QQuery 97 │        49.88 / 52.07 ±1.75 / 55.13 ms │               51.00 / 52.53 ±1.00 / 53.44 ms │     no change │
│ QQuery 98 │        41.89 / 43.25 ±1.34 / 45.81 ms │               42.76 / 43.94 ±1.77 / 47.45 ms │     no change │
│ QQuery 99 │        63.84 / 64.39 ±0.39 / 64.93 ms │               64.89 / 65.55 ±0.58 / 66.38 ms │     no change │
└───────────┴───────────────────────────────────────┴──────────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Benchmark Summary                                           ┃           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ Total Time (HEAD)                                           │ 8779.81ms │
│ Total Time (rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2)   │ 8802.51ms │
│ Average Time (HEAD)                                         │   88.68ms │
│ Average Time (rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2) │   88.91ms │
│ Queries Faster                                              │         2 │
│ Queries Slower                                              │         1 │
│ Queries with No Change                                      │        96 │
│ Queries with Failure                                        │         0 │
└─────────────────────────────────────────────────────────────┴───────────┘

Memory Pool Peaks

Peak MemoryPool reservation per query — what DataFusion's accounting believes it reserved. Recorded only for benchmarks that write a results JSON (the dfbench suites, and the suites bench.sh runs through the Criterion SQL harness since #25644), and only under a memory limit: DATAFUSION_RUNTIME_MEMORY_LIMIT, or one the suite sets itself.

Base: 24bbea6d48b49bdab43272c09964091179814a6f | Changed: 822b9c2a07f95a38430845b4d4aa7fbba5da1d72

tpcds — tpcds_sf1

Query Base Changed Change
Query 1 138.7 KiB 138.7 KiB +0.0%
Query 2 82.2 MiB 63.3 MiB -23.1%
Query 3 3.8 MiB 3.8 MiB +0.0%
Query 4 120.3 MiB 120.3 MiB +0.0%
Query 5 14.7 MiB 14.7 MiB +0.0%
Query 6 7.6 MiB 7.6 MiB +0.0%
Query 7 9.6 MiB 9.6 MiB +0.0%
Query 8 3.6 MiB 3.6 MiB +0.0%
Query 9 32.1 KiB 32.1 KiB +0.0%
Query 10 3.1 MiB 3.1 MiB +0.0%
Query 11 83.7 MiB 83.7 MiB +0.0%
Query 12 131.1 MiB 129.5 MiB -1.3%
Query 13 18.2 MiB 17.6 MiB -3.6%
Query 14 170.9 MiB 170.9 MiB +0.0%
Query 15 6.8 MiB 7.1 MiB +3.6%
Query 16 161.7 KiB 161.7 KiB +0.0%
Query 17 40.9 MiB 40.0 MiB -2.3%
Query 18 23.6 MiB 21.0 MiB -11.1%
Query 19 5.0 MiB 5.0 MiB -0.0%
Query 20 121.2 MiB 131.3 MiB +8.3%
Query 21 4.6 MiB 4.2 MiB -9.3%
Query 22 93.4 MiB 93.4 MiB +0.0%
Query 23 216.1 MiB 215.5 MiB -0.3%
Query 24 48.1 MiB 48.1 MiB +0.0%
Query 25 99.1 MiB 99.1 MiB +0.0%
Query 26 10.2 MiB 10.2 MiB +0.0%
Query 27 1.7 MiB 1.7 MiB -3.6%
Query 28 1.2 MiB 1.5 MiB +22.1%
Query 29 104.4 MiB 102.6 MiB -1.8%
Query 30 7.2 MiB 7.2 MiB +0.0%
Query 31 17.9 MiB 17.9 MiB +0.0%
Query 32 2.7 MiB 2.5 MiB -8.2%
Query 33 4.0 MiB 4.0 MiB -0.0%
Query 34 14.3 MiB 14.3 MiB +0.0%
Query 35 25.5 MiB 25.5 MiB +0.0%
Query 36 10.6 MiB 10.6 MiB +0.0%
Query 37 3.8 MiB 3.8 MiB +0.0%
Query 38 20.2 MiB 20.2 MiB +0.0%
Query 39 32.4 MiB 53.0 MiB +63.5%
Query 40 14.0 MiB 14.0 MiB +0.0%
Query 41 2.6 MiB 2.6 MiB +0.0%
Query 42 1.7 MiB 2.0 MiB +18.8%
Query 43 192.4 KiB 192.4 KiB +0.0%
Query 44 196.9 KiB 196.9 KiB +0.0%
Query 45 8.1 MiB 8.1 MiB -0.0%
Query 46 10.1 MiB 10.1 MiB +0.0%
Query 47 157.3 MiB 157.3 MiB +0.0%
Query 48 16.0 MiB 15.6 MiB -2.4%
Query 49 51.5 MiB 51.9 MiB +0.8%
Query 50 15.6 MiB 15.2 MiB -2.3%
Query 51 178.6 MiB 178.6 MiB -0.0%
Query 52 3.3 MiB 3.6 MiB +9.6%
Query 53 20.6 MiB 30.6 MiB +48.6%
Query 54 4.5 MiB 4.5 MiB +0.0%
Query 55 3.2 MiB 3.0 MiB -8.9%
Query 56 5.5 MiB 5.5 MiB +0.9%
Query 57 141.9 MiB 141.0 MiB -0.6%
Query 58 6.3 MiB 6.6 MiB +4.1%
Query 59 15.0 MiB 15.0 MiB +0.0%
Query 60 7.2 MiB 7.0 MiB -3.5%
Query 61 1.1 MiB 1.1 MiB +0.2%
Query 62 7.7 MiB 7.0 MiB -9.0%
Query 63 30.6 MiB 30.6 MiB +0.0%
Query 64 85.4 MiB 83.1 MiB -2.7%
Query 65 29.4 MiB 29.3 MiB -0.1%
Query 66 12.3 MiB 16.0 MiB +30.3%
Query 67 515.1 MiB 517.1 MiB +0.4%
Query 68 10.1 MiB 10.1 MiB +0.0%
Query 69 46.7 MiB 46.7 MiB -0.0%
Query 70 68.7 MiB 68.7 MiB -0.0%
Query 71 70.5 MiB 60.4 MiB -14.2%
Query 72 97.1 MiB 97.1 MiB +0.0%
Query 73 14.3 MiB 14.3 MiB +0.0%
Query 74 41.6 MiB 41.1 MiB -1.3%
Query 75 19.7 MiB 19.4 MiB -1.5%
Query 76 7.8 MiB 8.5 MiB +8.4%
Query 77 4.0 MiB 4.0 MiB +0.0%
Query 78 110.7 MiB 110.3 MiB -0.4%
Query 79 10.8 MiB 11.6 MiB +7.3%
Query 80 43.6 MiB 42.9 MiB -1.6%
Query 81 11.5 MiB 11.5 MiB +0.0%
Query 82 3.8 MiB 3.8 MiB +0.0%
Query 83 12.3 MiB 11.9 MiB -3.8%
Query 84 12.0 MiB 12.0 MiB +0.0%
Query 85 20.3 MiB 20.6 MiB +1.4%
Query 86 105.2 MiB 105.2 MiB +0.0%
Query 87 20.6 MiB 20.6 MiB +0.0%
Query 88 1.6 MiB 1.8 MiB +8.1%
Query 89 130.0 MiB 120.0 MiB -7.7%
Query 90 564.1 KiB 564.1 KiB +0.0%
Query 91 22.9 MiB 22.9 MiB +0.0%
Query 92 2.7 MiB 2.7 MiB +0.0%
Query 93 15.4 MiB 15.4 MiB +0.0%
Query 94 3.7 MiB 3.7 MiB +0.0%
Query 95 17.3 MiB 17.3 MiB +0.1%
Query 96 224.7 KiB 224.7 KiB +0.0%
Query 97 33.1 MiB 33.1 MiB -0.2%
Query 98 131.5 MiB 131.5 MiB +0.0%
Query 99 7.1 MiB 7.8 MiB +9.9%

Pool accounting vs. process RSS

Max pool peak is the largest reservation any single query in the run reached; peak RSS covers the whole invocation, including data loading and allocator retention, and the two high-water marks need not coincide in time. The gap is therefore an upper bound on what the pool did not account for, not a measurement of it.

Benchmark Side Max pool peak Peak RSS Gap RSS / pool
tpcds base (24bbea6d48b49bdab43272c09964091179814a6f) 515.1 MiB 1.9 GiB 1.4 GiB 3.9×
tpcds changed (822b9c2a07f95a38430845b4d4aa7fbba5da1d72) 517.1 MiB 1.9 GiB 1.4 GiB 3.8×
Resource Usage

tpcds — base (merge-base)

Metric Value
Wall time 45.0s
Peak memory 1.9 GiB
Avg memory 1.3 GiB
CPU user 190.5s
CPU sys 5.3s
Peak spill 0 B

tpcds — branch

Metric Value
Wall time 45.0s
Peak memory 1.9 GiB
Avg memory 1.4 GiB
CPU user 192.3s
CPU sys 5.3s
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-c6217702462-3505-22kjs 6.12.94+ #1 SMP Fri Aug 21 08:00:16 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 875bc88 (875bc88) to 875bc88 diff

Run configuration
run benchmark tpch
env:
  BENCHMARK_PARQUET_WITH_NDV: "true"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "875bc88709778d30dc2876bea63741ef4606fd9f"
changed:
  ref: "875bc88709778d30dc2876bea63741ef4606fd9f"
  env:
    DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
    DATAFUSION_EXECUTION_PARQUET_RLE_TO_DICTIONARY_MAX_DISTINCT_VALUES: "250"

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 875bc88 (875bc88) to 875bc88 diff

Run configuration
run benchmark tpch
env:
  BENCHMARK_PARQUET_WITH_NDV: "true"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "875bc88709778d30dc2876bea63741ef4606fd9f"
changed:
  ref: "875bc88709778d30dc2876bea63741ef4606fd9f"
  env:
    DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
    DATAFUSION_EXECUTION_PARQUET_RLE_TO_DICTIONARY_MAX_DISTINCT_VALUES: "250"
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 rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2
--------------------
Benchmark tpch_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Query     ┃     HEAD ┃ rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2 ┃    Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ QQuery 1  │ 42.26 ms │                                     42.10 ms │ no change │
│ QQuery 2  │ 19.49 ms │                                     19.46 ms │ no change │
│ QQuery 3  │ 30.33 ms │                                     29.82 ms │ no change │
│ QQuery 4  │ 18.66 ms │                                     18.10 ms │ no change │
│ QQuery 5  │ 38.05 ms │                                     37.38 ms │ no change │
│ QQuery 6  │ 14.30 ms │                                     14.28 ms │ no change │
│ QQuery 7  │ 45.62 ms │                                     45.66 ms │ no change │
│ QQuery 8  │ 42.85 ms │                                     42.50 ms │ no change │
│ QQuery 9  │ 54.16 ms │                                     53.09 ms │ no change │
│ QQuery 10 │ 43.86 ms │                                     42.83 ms │ no change │
│ QQuery 11 │ 14.59 ms │                                     14.33 ms │ no change │
│ QQuery 12 │ 18.60 ms │                                     18.72 ms │ no change │
│ QQuery 13 │ 44.77 ms │                                     43.88 ms │ no change │
│ QQuery 14 │ 25.90 ms │                                     25.95 ms │ no change │
│ QQuery 15 │ 33.32 ms │                                     32.46 ms │ no change │
│ QQuery 16 │ 14.75 ms │                                     14.58 ms │ no change │
│ QQuery 17 │ 83.87 ms │                                     82.75 ms │ no change │
│ QQuery 18 │ 47.71 ms │                                     48.21 ms │ no change │
│ QQuery 19 │ 33.35 ms │                                     33.10 ms │ no change │
│ QQuery 20 │ 34.04 ms │                                     33.97 ms │ no change │
│ QQuery 21 │ 60.67 ms │                                     60.06 ms │ no change │
│ QQuery 22 │ 14.96 ms │                                     14.89 ms │ no change │
└───────────┴──────────┴──────────────────────────────────────────────┴───────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┓
┃ Benchmark Summary                                           ┃          ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━┩
│ Total Time (HEAD)                                           │ 776.10ms │
│ Total Time (rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2)   │ 768.12ms │
│ Average Time (HEAD)                                         │  35.28ms │
│ Average Time (rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2) │  34.91ms │
│ Queries Faster                                              │        0 │
│ Queries Slower                                              │        0 │
│ Queries with No Change                                      │       22 │
│ Queries with Failure                                        │        0 │
└─────────────────────────────────────────────────────────────┴──────────┘

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

Comparing HEAD and rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2
--------------------
Benchmark tpch_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Query     ┃                           HEAD ┃ rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2 ┃    Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ QQuery 1  │ 42.26 / 43.56 ±2.16 / 47.87 ms │               42.10 / 44.64 ±2.28 / 48.21 ms │ no change │
│ QQuery 2  │ 19.49 / 19.65 ±0.18 / 19.99 ms │               19.46 / 20.01 ±0.63 / 20.86 ms │ no change │
│ QQuery 3  │ 30.33 / 30.64 ±0.32 / 31.09 ms │               29.82 / 30.10 ±0.26 / 30.56 ms │ no change │
│ QQuery 4  │ 18.66 / 19.18 ±0.58 / 20.23 ms │               18.10 / 18.75 ±0.75 / 20.21 ms │ no change │
│ QQuery 5  │ 38.05 / 38.39 ±0.31 / 38.76 ms │               37.38 / 38.31 ±0.65 / 39.39 ms │ no change │
│ QQuery 6  │ 14.30 / 14.79 ±0.74 / 16.27 ms │               14.28 / 15.07 ±0.80 / 16.51 ms │ no change │
│ QQuery 7  │ 45.62 / 47.53 ±1.33 / 49.24 ms │               45.66 / 46.57 ±0.53 / 47.31 ms │ no change │
│ QQuery 8  │ 42.85 / 43.61 ±1.19 / 45.95 ms │               42.50 / 42.95 ±0.23 / 43.10 ms │ no change │
│ QQuery 9  │ 54.16 / 54.96 ±0.91 / 56.71 ms │               53.09 / 54.24 ±0.69 / 55.16 ms │ no change │
│ QQuery 10 │ 43.86 / 44.61 ±1.13 / 46.86 ms │               42.83 / 43.97 ±0.79 / 45.26 ms │ no change │
│ QQuery 11 │ 14.59 / 14.78 ±0.12 / 14.89 ms │               14.33 / 14.74 ±0.52 / 15.76 ms │ no change │
│ QQuery 12 │ 18.60 / 19.44 ±0.78 / 20.69 ms │               18.72 / 18.89 ±0.15 / 19.11 ms │ no change │
│ QQuery 13 │ 44.77 / 46.37 ±1.71 / 49.15 ms │               43.88 / 45.12 ±1.12 / 47.18 ms │ no change │
│ QQuery 14 │ 25.90 / 26.00 ±0.10 / 26.19 ms │               25.95 / 26.14 ±0.21 / 26.55 ms │ no change │
│ QQuery 15 │ 33.32 / 34.44 ±0.58 / 34.91 ms │               32.46 / 33.18 ±0.67 / 34.18 ms │ no change │
│ QQuery 16 │ 14.75 / 14.91 ±0.12 / 15.09 ms │               14.58 / 14.68 ±0.08 / 14.79 ms │ no change │
│ QQuery 17 │ 83.87 / 86.40 ±1.45 / 87.91 ms │               82.75 / 84.46 ±1.78 / 87.45 ms │ no change │
│ QQuery 18 │ 47.71 / 51.22 ±3.84 / 58.68 ms │               48.21 / 50.24 ±2.87 / 55.86 ms │ no change │
│ QQuery 19 │ 33.35 / 33.76 ±0.60 / 34.93 ms │               33.10 / 34.04 ±1.12 / 36.19 ms │ no change │
│ QQuery 20 │ 34.04 / 34.72 ±0.56 / 35.61 ms │               33.97 / 34.42 ±0.49 / 35.32 ms │ no change │
│ QQuery 21 │ 60.67 / 62.16 ±0.99 / 63.44 ms │               60.06 / 60.85 ±0.76 / 61.85 ms │ no change │
│ QQuery 22 │ 14.96 / 15.18 ±0.15 / 15.42 ms │               14.89 / 15.20 ±0.23 / 15.60 ms │ no change │
└───────────┴────────────────────────────────┴──────────────────────────────────────────────┴───────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┓
┃ Benchmark Summary                                           ┃          ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━┩
│ Total Time (HEAD)                                           │ 796.30ms │
│ Total Time (rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2)   │ 786.57ms │
│ Average Time (HEAD)                                         │  36.20ms │
│ Average Time (rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2) │  35.75ms │
│ Queries Faster                                              │        0 │
│ Queries Slower                                              │        0 │
│ Queries with No Change                                      │       22 │
│ Queries with Failure                                        │        0 │
└─────────────────────────────────────────────────────────────┴──────────┘

Memory Pool Peaks

Peak MemoryPool reservation per query — what DataFusion's accounting believes it reserved. Recorded only for benchmarks that write a results JSON (the dfbench suites, and the suites bench.sh runs through the Criterion SQL harness since #25644), and only under a memory limit: DATAFUSION_RUNTIME_MEMORY_LIMIT, or one the suite sets itself.

Base: 875bc88709778d30dc2876bea63741ef4606fd9f | Changed: 875bc88709778d30dc2876bea63741ef4606fd9f

tpch — tpch_sf1

Query Base Changed Change
Query 1 40.0 MiB 31.4 MiB -21.6%
Query 2 15.9 MiB 15.9 MiB +0.0%
Query 3 11.5 MiB 11.5 MiB +0.0%
Query 4 33.0 MiB 23.5 MiB -28.6%
Query 5 43.4 MiB 43.2 MiB -0.5%
Query 6 832 B 832 B +0.0%
Query 7 107.4 MiB 107.4 MiB +0.0%
Query 8 34.7 MiB 34.7 MiB +0.2%
Query 9 155.4 MiB 155.4 MiB +0.0%
Query 10 36.8 MiB 36.8 MiB +0.0%
Query 11 61.5 MiB 51.9 MiB -15.7%
Query 12 20.2 MiB 20.1 MiB -0.4%
Query 13 62.6 MiB 62.3 MiB -0.4%
Query 14 7.7 MiB 7.7 MiB +0.0%
Query 15 12.2 MiB 12.3 MiB +0.8%
Query 16 44.5 MiB 44.3 MiB -0.3%
Query 17 142.4 MiB 141.3 MiB -0.8%
Query 18 189.1 MiB 189.1 MiB +0.0%
Query 19 746.1 KiB 746.1 KiB +0.0%
Query 20 59.7 MiB 57.1 MiB -4.4%
Query 21 42.6 MiB 42.6 MiB +0.0%
Query 22 42.3 MiB 32.9 MiB -22.1%

Pool accounting vs. process RSS

Max pool peak is the largest reservation any single query in the run reached; peak RSS covers the whole invocation, including data loading and allocator retention, and the two high-water marks need not coincide in time. The gap is therefore an upper bound on what the pool did not account for, not a measurement of it.

Benchmark Side Max pool peak Peak RSS Gap RSS / pool
tpch base (875bc88709778d30dc2876bea63741ef4606fd9f) 189.1 MiB 1.1 GiB 904.8 MiB 5.8×
tpch changed (875bc88709778d30dc2876bea63741ef4606fd9f) 189.1 MiB 1.1 GiB 970.6 MiB 6.1×
Resource Usage

tpch — base (merge-base)

Metric Value
Wall time 5.0s
Peak memory 1.1 GiB
Avg memory 544.2 MiB
CPU user 22.3s
CPU sys 1.9s
Peak spill 0 B

tpch — branch

Metric Value
Wall time 5.0s
Peak memory 1.1 GiB
Avg memory 468.4 MiB
CPU user 21.9s
CPU sys 2.0s
Peak spill 0 B

File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark completed (GKE) | trigger

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

Comparing 875bc88 (875bc88) to 875bc88 diff

Run configuration
run benchmark clickbench_partitioned
env:
  BENCHMARK_PARQUET_WITH_NDV: "true"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "875bc88709778d30dc2876bea63741ef4606fd9f"
changed:
  ref: "875bc88709778d30dc2876bea63741ef4606fd9f"
  env:
    DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
    DATAFUSION_EXECUTION_PARQUET_RLE_TO_DICTIONARY_MAX_DISTINCT_VALUES: "250"
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 rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓
┃ Query     ┃       HEAD ┃ rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2 ┃       Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━┩
│ QQuery 0  │    1.17 ms │                                      1.18 ms │    no change │
│ QQuery 1  │   11.59 ms │                                     11.49 ms │    no change │
│ QQuery 2  │   35.13 ms │                                     35.03 ms │    no change │
│ QQuery 3  │   31.02 ms │                                     30.86 ms │    no change │
│ QQuery 4  │  238.36 ms │                                    233.31 ms │    no change │
│ QQuery 5  │  272.40 ms │                                    269.68 ms │    no change │
│ QQuery 6  │    1.21 ms │                                      1.24 ms │    no change │
│ QQuery 7  │   12.82 ms │                                     12.55 ms │    no change │
│ QQuery 8  │  331.20 ms │                                    328.02 ms │    no change │
│ QQuery 9  │  466.41 ms │                                    456.73 ms │    no change │
│ QQuery 10 │   64.59 ms │                                     63.45 ms │    no change │
│ QQuery 11 │   74.05 ms │                                     74.57 ms │    no change │
│ QQuery 12 │  257.21 ms │                                    257.21 ms │    no change │
│ QQuery 13 │  359.27 ms │                                    361.63 ms │    no change │
│ QQuery 14 │  277.33 ms │                                    274.62 ms │    no change │
│ QQuery 15 │  286.44 ms │                                    280.10 ms │    no change │
│ QQuery 16 │  623.50 ms │                                    617.75 ms │    no change │
│ QQuery 17 │  615.80 ms │                                    618.01 ms │    no change │
│ QQuery 18 │ 1219.61 ms │                                   1203.81 ms │    no change │
│ QQuery 19 │   27.22 ms │                                     27.23 ms │    no change │
│ QQuery 20 │  522.27 ms │                                    516.19 ms │    no change │
│ QQuery 21 │  508.68 ms │                                    516.56 ms │    no change │
│ QQuery 22 │  993.04 ms │                                    987.30 ms │    no change │
│ QQuery 23 │ 3094.97 ms │                                   3155.71 ms │    no change │
│ QQuery 24 │   41.89 ms │                                     40.61 ms │    no change │
│ QQuery 25 │  104.64 ms │                                    105.06 ms │    no change │
│ QQuery 26 │   41.10 ms │                                     40.70 ms │    no change │
│ QQuery 27 │  515.65 ms │                                    508.53 ms │    no change │
│ QQuery 28 │ 2826.35 ms │                                   2832.24 ms │    no change │
│ QQuery 29 │   38.58 ms │                                     38.78 ms │    no change │
│ QQuery 30 │  304.52 ms │                                    298.46 ms │    no change │
│ QQuery 31 │  286.15 ms │                                    279.70 ms │    no change │
│ QQuery 32 │ 1086.63 ms │                                   1107.55 ms │    no change │
│ QQuery 33 │ 1536.65 ms │                                   1572.46 ms │    no change │
│ QQuery 34 │ 1511.11 ms │                                   1577.18 ms │    no change │
│ QQuery 35 │  288.10 ms │                                    297.49 ms │    no change │
│ QQuery 36 │   66.55 ms │                                     64.66 ms │    no change │
│ QQuery 37 │   33.71 ms │                                     34.62 ms │    no change │
│ QQuery 38 │   41.43 ms │                                     40.45 ms │    no change │
│ QQuery 39 │  129.65 ms │                                    151.13 ms │ 1.17x slower │
│ QQuery 40 │   13.36 ms │                                     13.77 ms │    no change │
│ QQuery 41 │   12.95 ms │                                     12.96 ms │    no change │
│ QQuery 42 │   12.51 ms │                                     12.79 ms │    no change │
└───────────┴────────────┴──────────────────────────────────────────────┴──────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                                           ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                                           │ 19216.82ms │
│ Total Time (rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2)   │ 19363.35ms │
│ Average Time (HEAD)                                         │   446.90ms │
│ Average Time (rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2) │   450.31ms │
│ Queries Faster                                              │          0 │
│ Queries Slower                                              │          1 │
│ Queries with No Change                                      │         42 │
│ Queries with Failure                                        │          0 │
└─────────────────────────────────────────────────────────────┴────────────┘

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

Comparing HEAD and rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                  HEAD ┃ rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2 ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0  │          1.17 / 4.25 ±6.07 / 16.38 ms │                 1.18 / 4.23 ±6.06 / 16.35 ms │     no change │
│ QQuery 1  │        11.59 / 11.76 ±0.13 / 11.95 ms │               11.49 / 11.69 ±0.17 / 11.94 ms │     no change │
│ QQuery 2  │        35.13 / 35.49 ±0.37 / 36.15 ms │               35.03 / 35.27 ±0.28 / 35.81 ms │     no change │
│ QQuery 3  │        31.02 / 31.64 ±0.61 / 32.69 ms │               30.86 / 31.15 ±0.15 / 31.31 ms │     no change │
│ QQuery 4  │     238.36 / 240.45 ±1.73 / 242.39 ms │            233.31 / 234.80 ±1.02 / 236.14 ms │     no change │
│ QQuery 5  │     272.40 / 276.46 ±3.45 / 280.71 ms │            269.68 / 272.60 ±2.67 / 277.65 ms │     no change │
│ QQuery 6  │           1.21 / 1.39 ±0.27 / 1.91 ms │                  1.24 / 1.41 ±0.24 / 1.87 ms │     no change │
│ QQuery 7  │        12.82 / 12.89 ±0.08 / 13.00 ms │               12.55 / 12.74 ±0.14 / 12.97 ms │     no change │
│ QQuery 8  │     331.20 / 337.42 ±5.45 / 343.85 ms │            328.02 / 332.26 ±4.18 / 339.62 ms │     no change │
│ QQuery 9  │     466.41 / 472.07 ±4.61 / 477.75 ms │            456.73 / 470.17 ±9.09 / 483.40 ms │     no change │
│ QQuery 10 │        64.59 / 66.83 ±2.64 / 71.67 ms │               63.45 / 65.30 ±2.78 / 70.84 ms │     no change │
│ QQuery 11 │        74.05 / 74.92 ±0.59 / 75.62 ms │               74.57 / 75.13 ±0.65 / 76.35 ms │     no change │
│ QQuery 12 │     257.21 / 265.84 ±5.20 / 273.42 ms │            257.21 / 262.27 ±4.93 / 270.72 ms │     no change │
│ QQuery 13 │    359.27 / 370.37 ±10.36 / 388.93 ms │           361.63 / 383.12 ±15.23 / 401.03 ms │     no change │
│ QQuery 14 │     277.33 / 283.17 ±3.84 / 287.62 ms │            274.62 / 278.29 ±3.02 / 282.12 ms │     no change │
│ QQuery 15 │    286.44 / 300.02 ±19.72 / 339.06 ms │           280.10 / 294.07 ±14.20 / 321.31 ms │     no change │
│ QQuery 16 │     623.50 / 630.15 ±4.73 / 635.22 ms │            617.75 / 625.47 ±7.69 / 640.10 ms │     no change │
│ QQuery 17 │     615.80 / 633.33 ±9.15 / 642.70 ms │           618.01 / 635.09 ±11.32 / 650.57 ms │     no change │
│ QQuery 18 │ 1219.61 / 1239.44 ±22.08 / 1282.43 ms │        1203.81 / 1253.55 ±27.89 / 1286.01 ms │     no change │
│ QQuery 19 │       27.22 / 41.48 ±15.31 / 65.32 ms │              27.23 / 38.40 ±16.95 / 71.25 ms │ +1.08x faster │
│ QQuery 20 │     522.27 / 527.61 ±7.83 / 543.07 ms │            516.19 / 526.25 ±6.46 / 533.99 ms │     no change │
│ QQuery 21 │     508.68 / 518.29 ±6.62 / 524.96 ms │            516.56 / 527.31 ±6.51 / 533.80 ms │     no change │
│ QQuery 22 │  993.04 / 1009.70 ±14.62 / 1034.36 ms │         987.30 / 1005.79 ±17.65 / 1034.76 ms │     no change │
│ QQuery 23 │ 3094.97 / 3179.23 ±75.60 / 3312.57 ms │       3155.71 / 3265.85 ±133.77 / 3501.48 ms │     no change │
│ QQuery 24 │      41.89 / 95.17 ±38.09 / 153.66 ms │           40.61 / 206.74 ±215.59 / 574.18 ms │  2.17x slower │
│ QQuery 25 │    104.64 / 122.13 ±22.02 / 164.87 ms │            105.06 / 106.51 ±1.81 / 109.56 ms │ +1.15x faster │
│ QQuery 26 │        41.10 / 42.31 ±0.87 / 43.15 ms │               40.70 / 41.25 ±0.56 / 42.34 ms │     no change │
│ QQuery 27 │     515.65 / 519.61 ±2.09 / 521.73 ms │            508.53 / 519.45 ±9.38 / 536.54 ms │     no change │
│ QQuery 28 │ 2826.35 / 2844.18 ±12.19 / 2858.80 ms │        2832.24 / 2846.59 ±14.28 / 2873.03 ms │     no change │
│ QQuery 29 │       38.58 / 51.18 ±15.26 / 70.96 ms │               38.78 / 39.21 ±0.29 / 39.60 ms │ +1.31x faster │
│ QQuery 30 │     304.52 / 309.73 ±4.57 / 317.65 ms │           298.46 / 341.23 ±72.33 / 485.50 ms │  1.10x slower │
│ QQuery 31 │    286.15 / 300.20 ±12.03 / 317.74 ms │            279.70 / 288.76 ±5.25 / 294.32 ms │     no change │
│ QQuery 32 │ 1086.63 / 1132.94 ±32.02 / 1177.58 ms │       1107.55 / 1288.16 ±263.77 / 1806.39 ms │  1.14x slower │
│ QQuery 33 │ 1536.65 / 1585.99 ±29.10 / 1626.58 ms │        1572.46 / 1602.56 ±29.76 / 1649.33 ms │     no change │
│ QQuery 34 │ 1511.11 / 1601.08 ±46.95 / 1640.43 ms │        1577.18 / 1617.45 ±34.97 / 1674.06 ms │     no change │
│ QQuery 35 │   288.10 / 395.23 ±185.46 / 765.13 ms │           297.49 / 362.94 ±59.49 / 447.16 ms │ +1.09x faster │
│ QQuery 36 │        66.55 / 70.53 ±4.43 / 78.82 ms │               64.66 / 70.48 ±6.75 / 83.49 ms │     no change │
│ QQuery 37 │       33.71 / 45.25 ±22.47 / 90.18 ms │               34.62 / 39.66 ±5.25 / 46.38 ms │ +1.14x faster │
│ QQuery 38 │        41.43 / 45.74 ±4.29 / 53.98 ms │               40.45 / 42.58 ±2.54 / 47.41 ms │ +1.07x faster │
│ QQuery 39 │    129.65 / 146.72 ±13.48 / 170.46 ms │            151.13 / 160.24 ±6.54 / 170.71 ms │  1.09x slower │
│ QQuery 40 │       13.36 / 22.50 ±17.59 / 57.67 ms │               13.77 / 15.62 ±2.63 / 20.84 ms │ +1.44x faster │
│ QQuery 41 │        12.95 / 14.20 ±2.27 / 18.74 ms │               12.96 / 13.00 ±0.07 / 13.15 ms │ +1.09x faster │
│ QQuery 42 │        12.51 / 12.82 ±0.33 / 13.38 ms │               12.79 / 12.99 ±0.14 / 13.21 ms │     no change │
└───────────┴───────────────────────────────────────┴──────────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                                           ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                                           │ 19921.72ms │
│ Total Time (rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2)   │ 20257.66ms │
│ Average Time (HEAD)                                         │   463.30ms │
│ Average Time (rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2) │   471.11ms │
│ Queries Faster                                              │          8 │
│ Queries Slower                                              │          4 │
│ Queries with No Change                                      │         31 │
│ Queries with Failure                                        │          0 │
└─────────────────────────────────────────────────────────────┴────────────┘

Memory Pool Peaks

Peak MemoryPool reservation per query — what DataFusion's accounting believes it reserved. Recorded only for benchmarks that write a results JSON (the dfbench suites, and the suites bench.sh runs through the Criterion SQL harness since #25644), and only under a memory limit: DATAFUSION_RUNTIME_MEMORY_LIMIT, or one the suite sets itself.

Base: 875bc88709778d30dc2876bea63741ef4606fd9f | Changed: 875bc88709778d30dc2876bea63741ef4606fd9f

clickbench_partitioned

Query Base Changed Change
Query 0 0 B 0 B 0.0%
Query 1 104 B 104 B +0.0%
Query 2 936 B 936 B +0.0%
Query 3 312 B 312 B +0.0%
Query 4 761.1 MiB 756.6 MiB -0.6%
Query 5 1.2 GiB 1.2 GiB -3.8%
Query 6 0 B 0 B 0.0%
Query 7 50.0 MiB 50.3 MiB +0.5%
Query 8 941.5 MiB 968.3 MiB +2.8%
Query 9 593.7 MiB 593.8 MiB +0.0%
Query 10 117.0 MiB 122.8 MiB +5.0%
Query 11 122.6 MiB 119.8 MiB -2.3%
Query 12 1.3 GiB 1.4 GiB +1.7%
Query 13 1.6 GiB 1.7 GiB +5.8%
Query 14 1.3 GiB 1.3 GiB +1.0%
Query 15 1.1 GiB 1.2 GiB +0.6%
Query 16 3.4 GiB 3.4 GiB -0.8%
Query 17 3.4 GiB 3.3 GiB -1.1%
Query 18 8.2 GiB 8.1 GiB -1.3%
Query 19 0 B 0 B 0.0%
Query 20 104 B 104 B +0.0%
Query 21 4.0 MiB 4.0 MiB +0.5%
Query 22 3.5 MiB 4.0 MiB +15.9%
Query 23 3.6 GiB 3.7 GiB +1.7%
Query 24 59.4 MiB 58.2 MiB -2.1%
Query 25 172.8 MiB 162.2 MiB -6.1%
Query 26 60.9 MiB 59.5 MiB -2.3%
Query 27 2.2 MiB 2.4 MiB +8.0%
Query 28 1.7 GiB 1.7 GiB +1.2%
Query 29 624 B 624 B +0.0%
Query 30 696.6 MiB 698.2 MiB +0.2%
Query 31 1.5 GiB 1.5 GiB +1.6%
Query 32 7.2 GiB 7.2 GiB -0.3%
Query 33 8.1 GiB 8.0 GiB -1.4%
Query 34 8.1 GiB 8.3 GiB +2.8%
Query 35 606.6 MiB 598.0 MiB -1.4%
Query 36 127.0 MiB 112.5 MiB -11.4%
Query 37 7.3 MiB 7.3 MiB +0.0%
Query 38 5.0 MiB 5.3 MiB +6.2%
Query 39 297.3 MiB 297.8 MiB +0.2%
Query 40 2.3 MiB 2.3 MiB -0.3%
Query 41 3.1 MiB 3.1 MiB -0.2%
Query 42 1.7 MiB 1.6 MiB -6.5%

Pool accounting vs. process RSS

Max pool peak is the largest reservation any single query in the run reached; peak RSS covers the whole invocation, including data loading and allocator retention, and the two high-water marks need not coincide in time. The gap is therefore an upper bound on what the pool did not account for, not a measurement of it.

Benchmark Side Max pool peak Peak RSS Gap RSS / pool
clickbench_partitioned base (875bc88709778d30dc2876bea63741ef4606fd9f) 8.2 GiB 18.6 GiB 10.4 GiB 2.3×
clickbench_partitioned changed (875bc88709778d30dc2876bea63741ef4606fd9f) 8.3 GiB 18.3 GiB 10.0 GiB 2.2×
Resource Usage

clickbench_partitioned — base (merge-base)

Metric Value
Wall time 100.0s
Peak memory 18.6 GiB
Avg memory 6.4 GiB
CPU user 985.4s
CPU sys 97.0s
Peak spill 0 B

clickbench_partitioned — branch

Metric Value
Wall time 105.0s
Peak memory 18.3 GiB
Avg memory 6.1 GiB
CPU user 987.0s
CPU sys 99.8s
Peak spill 0 B

File an issue against this benchmark runner

@Rich-T-kid

Copy link
Copy Markdown
Contributor Author

run benchmark tpch clickbench_partitioned

env:
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
  BENCHMARK_PARQUET_WITH_NDV: "true"
baseline:
  ref: "875bc88709778d30dc2876bea63741ef4606fd9f"
changed:
  ref: "875bc88709778d30dc2876bea63741ef4606fd9f"
  env:
    DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
    DATAFUSION_EXECUTION_PARQUET_RLE_TO_DICTIONARY_MAX_DISTINCT_VALUES: "218"

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c6218018496-3507-bppwj 6.12.94+ #1 SMP Fri Aug 21 08:00:16 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 875bc88 (875bc88) to 875bc88 diff

Run configuration
run benchmark tpch
env:
  BENCHMARK_PARQUET_WITH_NDV: "true"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "875bc88709778d30dc2876bea63741ef4606fd9f"
changed:
  ref: "875bc88709778d30dc2876bea63741ef4606fd9f"
  env:
    DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
    DATAFUSION_EXECUTION_PARQUET_RLE_TO_DICTIONARY_MAX_DISTINCT_VALUES: "218"

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-c6218018496-3508-b7pzp 6.12.94+ #1 SMP Fri Aug 21 08:00:16 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 875bc88 (875bc88) to 875bc88 diff

Run configuration
run benchmark clickbench_partitioned
env:
  BENCHMARK_PARQUET_WITH_NDV: "true"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "875bc88709778d30dc2876bea63741ef4606fd9f"
changed:
  ref: "875bc88709778d30dc2876bea63741ef4606fd9f"
  env:
    DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
    DATAFUSION_EXECUTION_PARQUET_RLE_TO_DICTIONARY_MAX_DISTINCT_VALUES: "218"

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 875bc88 (875bc88) to 875bc88 diff

Run configuration
run benchmark tpch
env:
  BENCHMARK_PARQUET_WITH_NDV: "true"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "875bc88709778d30dc2876bea63741ef4606fd9f"
changed:
  ref: "875bc88709778d30dc2876bea63741ef4606fd9f"
  env:
    DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
    DATAFUSION_EXECUTION_PARQUET_RLE_TO_DICTIONARY_MAX_DISTINCT_VALUES: "218"
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 rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2
--------------------
Benchmark tpch_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Query     ┃     HEAD ┃ rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2 ┃    Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ QQuery 1  │ 40.87 ms │                                     41.01 ms │ no change │
│ QQuery 2  │ 18.71 ms │                                     19.25 ms │ no change │
│ QQuery 3  │ 29.03 ms │                                     29.09 ms │ no change │
│ QQuery 4  │ 17.99 ms │                                     17.83 ms │ no change │
│ QQuery 5  │ 36.09 ms │                                     36.11 ms │ no change │
│ QQuery 6  │ 13.76 ms │                                     13.98 ms │ no change │
│ QQuery 7  │ 42.16 ms │                                     41.33 ms │ no change │
│ QQuery 8  │ 41.21 ms │                                     41.35 ms │ no change │
│ QQuery 9  │ 51.08 ms │                                     51.70 ms │ no change │
│ QQuery 10 │ 41.50 ms │                                     41.30 ms │ no change │
│ QQuery 11 │ 13.89 ms │                                     14.07 ms │ no change │
│ QQuery 12 │ 17.89 ms │                                     18.23 ms │ no change │
│ QQuery 13 │ 40.92 ms │                                     41.14 ms │ no change │
│ QQuery 14 │ 24.94 ms │                                     25.01 ms │ no change │
│ QQuery 15 │ 31.31 ms │                                     31.33 ms │ no change │
│ QQuery 16 │ 14.07 ms │                                     14.09 ms │ no change │
│ QQuery 17 │ 77.69 ms │                                     77.12 ms │ no change │
│ QQuery 18 │ 45.68 ms │                                     46.37 ms │ no change │
│ QQuery 19 │ 32.06 ms │                                     32.21 ms │ no change │
│ QQuery 20 │ 32.27 ms │                                     32.30 ms │ no change │
│ QQuery 21 │ 56.40 ms │                                     56.53 ms │ no change │
│ QQuery 22 │ 14.25 ms │                                     14.28 ms │ no change │
└───────────┴──────────┴──────────────────────────────────────────────┴───────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┓
┃ Benchmark Summary                                           ┃          ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━┩
│ Total Time (HEAD)                                           │ 733.77ms │
│ Total Time (rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2)   │ 735.64ms │
│ Average Time (HEAD)                                         │  33.35ms │
│ Average Time (rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2) │  33.44ms │
│ Queries Faster                                              │        0 │
│ Queries Slower                                              │        0 │
│ Queries with No Change                                      │       22 │
│ Queries with Failure                                        │        0 │
└─────────────────────────────────────────────────────────────┴──────────┘

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

Comparing HEAD and rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2
--------------------
Benchmark tpch_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Query     ┃                           HEAD ┃ rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2 ┃    Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ QQuery 1  │ 40.87 / 41.72 ±1.01 / 43.58 ms │               41.01 / 42.71 ±3.05 / 48.81 ms │ no change │
│ QQuery 2  │ 18.71 / 18.92 ±0.23 / 19.35 ms │               19.25 / 19.59 ±0.32 / 20.17 ms │ no change │
│ QQuery 3  │ 29.03 / 29.75 ±0.69 / 30.98 ms │               29.09 / 29.47 ±0.25 / 29.85 ms │ no change │
│ QQuery 4  │ 17.99 / 18.45 ±0.35 / 18.80 ms │               17.83 / 18.01 ±0.13 / 18.20 ms │ no change │
│ QQuery 5  │ 36.09 / 36.48 ±0.32 / 37.00 ms │               36.11 / 36.74 ±0.82 / 38.31 ms │ no change │
│ QQuery 6  │ 13.76 / 13.90 ±0.08 / 13.97 ms │               13.98 / 14.16 ±0.18 / 14.46 ms │ no change │
│ QQuery 7  │ 42.16 / 43.38 ±0.95 / 44.76 ms │               41.33 / 42.88 ±0.98 / 44.08 ms │ no change │
│ QQuery 8  │ 41.21 / 41.57 ±0.27 / 42.04 ms │               41.35 / 41.70 ±0.35 / 42.32 ms │ no change │
│ QQuery 9  │ 51.08 / 51.69 ±0.35 / 52.16 ms │               51.70 / 52.05 ±0.28 / 52.36 ms │ no change │
│ QQuery 10 │ 41.50 / 42.93 ±1.32 / 44.57 ms │               41.30 / 41.53 ±0.14 / 41.72 ms │ no change │
│ QQuery 11 │ 13.89 / 14.37 ±0.56 / 15.42 ms │               14.07 / 14.20 ±0.09 / 14.31 ms │ no change │
│ QQuery 12 │ 17.89 / 18.62 ±0.49 / 19.39 ms │               18.23 / 18.47 ±0.18 / 18.77 ms │ no change │
│ QQuery 13 │ 40.92 / 41.29 ±0.53 / 42.33 ms │               41.14 / 41.99 ±1.38 / 44.73 ms │ no change │
│ QQuery 14 │ 24.94 / 25.33 ±0.66 / 26.64 ms │               25.01 / 25.29 ±0.31 / 25.89 ms │ no change │
│ QQuery 15 │ 31.31 / 31.95 ±0.42 / 32.52 ms │               31.33 / 31.93 ±0.60 / 32.90 ms │ no change │
│ QQuery 16 │ 14.07 / 14.55 ±0.33 / 14.93 ms │               14.09 / 14.40 ±0.20 / 14.61 ms │ no change │
│ QQuery 17 │ 77.69 / 78.18 ±0.63 / 79.39 ms │               77.12 / 78.23 ±0.71 / 79.20 ms │ no change │
│ QQuery 18 │ 45.68 / 46.89 ±1.11 / 48.98 ms │               46.37 / 47.43 ±0.60 / 48.16 ms │ no change │
│ QQuery 19 │ 32.06 / 32.26 ±0.18 / 32.51 ms │               32.21 / 33.06 ±1.02 / 35.04 ms │ no change │
│ QQuery 20 │ 32.27 / 33.04 ±0.57 / 33.74 ms │               32.30 / 32.85 ±0.33 / 33.32 ms │ no change │
│ QQuery 21 │ 56.40 / 57.83 ±1.37 / 59.72 ms │               56.53 / 57.69 ±1.36 / 60.33 ms │ no change │
│ QQuery 22 │ 14.25 / 14.64 ±0.48 / 15.57 ms │               14.28 / 15.13 ±0.67 / 15.91 ms │ no change │
└───────────┴────────────────────────────────┴──────────────────────────────────────────────┴───────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┓
┃ Benchmark Summary                                           ┃          ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━┩
│ Total Time (HEAD)                                           │ 747.76ms │
│ Total Time (rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2)   │ 749.51ms │
│ Average Time (HEAD)                                         │  33.99ms │
│ Average Time (rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2) │  34.07ms │
│ Queries Faster                                              │        0 │
│ Queries Slower                                              │        0 │
│ Queries with No Change                                      │       22 │
│ Queries with Failure                                        │        0 │
└─────────────────────────────────────────────────────────────┴──────────┘

Memory Pool Peaks

Peak MemoryPool reservation per query — what DataFusion's accounting believes it reserved. Recorded only for benchmarks that write a results JSON (the dfbench suites, and the suites bench.sh runs through the Criterion SQL harness since #25644), and only under a memory limit: DATAFUSION_RUNTIME_MEMORY_LIMIT, or one the suite sets itself.

Base: 875bc88709778d30dc2876bea63741ef4606fd9f | Changed: 875bc88709778d30dc2876bea63741ef4606fd9f

tpch — tpch_sf1

Query Base Changed Change
Query 1 21.4 MiB 30.0 MiB +40.3%
Query 2 15.9 MiB 15.9 MiB +0.0%
Query 3 11.5 MiB 11.5 MiB +0.0%
Query 4 23.5 MiB 23.4 MiB -0.7%
Query 5 42.9 MiB 43.4 MiB +1.2%
Query 6 832 B 832 B +0.0%
Query 7 107.4 MiB 107.4 MiB +0.0%
Query 8 35.5 MiB 34.6 MiB -2.4%
Query 9 155.4 MiB 155.4 MiB +0.0%
Query 10 38.6 MiB 37.2 MiB -3.7%
Query 11 51.7 MiB 61.5 MiB +18.9%
Query 12 20.3 MiB 20.2 MiB -0.3%
Query 13 52.3 MiB 52.3 MiB +0.0%
Query 14 7.7 MiB 7.7 MiB +0.0%
Query 15 12.0 MiB 12.2 MiB +1.7%
Query 16 54.5 MiB 44.7 MiB -17.9%
Query 17 141.3 MiB 141.4 MiB +0.1%
Query 18 189.1 MiB 189.1 MiB +0.0%
Query 19 746.1 KiB 746.1 KiB +0.0%
Query 20 57.6 MiB 59.7 MiB +3.8%
Query 21 42.6 MiB 42.6 MiB +0.0%
Query 22 32.7 MiB 32.7 MiB +0.0%

Pool accounting vs. process RSS

Max pool peak is the largest reservation any single query in the run reached; peak RSS covers the whole invocation, including data loading and allocator retention, and the two high-water marks need not coincide in time. The gap is therefore an upper bound on what the pool did not account for, not a measurement of it.

Benchmark Side Max pool peak Peak RSS Gap RSS / pool
tpch base (875bc88709778d30dc2876bea63741ef4606fd9f) 189.1 MiB 1.2 GiB 994.2 MiB 6.3×
tpch changed (875bc88709778d30dc2876bea63741ef4606fd9f) 189.1 MiB 1.1 GiB 984.1 MiB 6.2×
Resource Usage

tpch — base (merge-base)

Metric Value
Wall time 5.0s
Peak memory 1.2 GiB
Avg memory 479.5 MiB
CPU user 20.6s
CPU sys 1.7s
Peak spill 0 B

tpch — branch

Metric Value
Wall time 5.0s
Peak memory 1.1 GiB
Avg memory 475.0 MiB
CPU user 20.7s
CPU sys 1.7s
Peak spill 0 B

File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark completed (GKE) | trigger

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

Comparing 875bc88 (875bc88) to 875bc88 diff

Run configuration
run benchmark clickbench_partitioned
env:
  BENCHMARK_PARQUET_WITH_NDV: "true"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "875bc88709778d30dc2876bea63741ef4606fd9f"
changed:
  ref: "875bc88709778d30dc2876bea63741ef4606fd9f"
  env:
    DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
    DATAFUSION_EXECUTION_PARQUET_RLE_TO_DICTIONARY_MAX_DISTINCT_VALUES: "218"
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 rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃       HEAD ┃ rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2 ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0  │    1.16 ms │                                      1.18 ms │     no change │
│ QQuery 1  │   11.44 ms │                                     11.50 ms │     no change │
│ QQuery 2  │   34.73 ms │                                     35.12 ms │     no change │
│ QQuery 3  │   31.02 ms │                                     30.78 ms │     no change │
│ QQuery 4  │  235.37 ms │                                    228.85 ms │     no change │
│ QQuery 5  │  271.95 ms │                                    271.23 ms │     no change │
│ QQuery 6  │    1.21 ms │                                      1.24 ms │     no change │
│ QQuery 7  │   12.55 ms │                                     12.77 ms │     no change │
│ QQuery 8  │  324.80 ms │                                    326.63 ms │     no change │
│ QQuery 9  │  458.60 ms │                                    457.80 ms │     no change │
│ QQuery 10 │   63.35 ms │                                     63.85 ms │     no change │
│ QQuery 11 │   74.37 ms │                                     74.62 ms │     no change │
│ QQuery 12 │  259.85 ms │                                    260.85 ms │     no change │
│ QQuery 13 │  356.92 ms │                                    365.00 ms │     no change │
│ QQuery 14 │  276.64 ms │                                    274.73 ms │     no change │
│ QQuery 15 │  282.32 ms │                                    282.41 ms │     no change │
│ QQuery 16 │  615.64 ms │                                    609.81 ms │     no change │
│ QQuery 17 │  620.63 ms │                                    621.09 ms │     no change │
│ QQuery 18 │ 1208.58 ms │                                   1215.42 ms │     no change │
│ QQuery 19 │   27.48 ms │                                     27.23 ms │     no change │
│ QQuery 20 │  513.71 ms │                                    512.86 ms │     no change │
│ QQuery 21 │  510.58 ms │                                    514.89 ms │     no change │
│ QQuery 22 │ 1011.61 ms │                                    997.95 ms │     no change │
│ QQuery 23 │ 3104.78 ms │                                   2998.41 ms │     no change │
│ QQuery 24 │   40.92 ms │                                     40.72 ms │     no change │
│ QQuery 25 │  105.89 ms │                                    104.48 ms │     no change │
│ QQuery 26 │   41.26 ms │                                     41.29 ms │     no change │
│ QQuery 27 │  502.47 ms │                                    505.51 ms │     no change │
│ QQuery 28 │ 2813.01 ms │                                   2815.86 ms │     no change │
│ QQuery 29 │   38.62 ms │                                     38.29 ms │     no change │
│ QQuery 30 │  294.18 ms │                                    300.21 ms │     no change │
│ QQuery 31 │  271.90 ms │                                    277.84 ms │     no change │
│ QQuery 32 │ 1101.62 ms │                                   1052.53 ms │     no change │
│ QQuery 33 │ 1562.76 ms │                                   1514.20 ms │     no change │
│ QQuery 34 │ 1562.55 ms │                                   1551.17 ms │     no change │
│ QQuery 35 │  288.95 ms │                                    284.29 ms │     no change │
│ QQuery 36 │   65.06 ms │                                     67.81 ms │     no change │
│ QQuery 37 │   34.30 ms │                                     34.15 ms │     no change │
│ QQuery 38 │   42.11 ms │                                     39.39 ms │ +1.07x faster │
│ QQuery 39 │  146.62 ms │                                    142.04 ms │     no change │
│ QQuery 40 │   13.69 ms │                                     13.50 ms │     no change │
│ QQuery 41 │   13.19 ms │                                     12.93 ms │     no change │
│ QQuery 42 │   12.49 ms │                                     13.16 ms │  1.05x slower │
└───────────┴────────────┴──────────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                                           ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                                           │ 19260.90ms │
│ Total Time (rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2)   │ 19045.59ms │
│ Average Time (HEAD)                                         │   447.93ms │
│ Average Time (rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2) │   442.92ms │
│ Queries Faster                                              │          1 │
│ Queries Slower                                              │          1 │
│ Queries with No Change                                      │         41 │
│ Queries with Failure                                        │          0 │
└─────────────────────────────────────────────────────────────┴────────────┘

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

Comparing HEAD and rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                  HEAD ┃ rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2 ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0  │          1.16 / 4.27 ±6.12 / 16.52 ms │                 1.18 / 4.27 ±6.11 / 16.49 ms │     no change │
│ QQuery 1  │        11.44 / 11.63 ±0.16 / 11.88 ms │               11.50 / 11.74 ±0.17 / 11.93 ms │     no change │
│ QQuery 2  │        34.73 / 35.30 ±0.33 / 35.65 ms │               35.12 / 35.27 ±0.08 / 35.36 ms │     no change │
│ QQuery 3  │        31.02 / 31.86 ±1.38 / 34.61 ms │               30.78 / 31.09 ±0.24 / 31.34 ms │     no change │
│ QQuery 4  │     235.37 / 237.28 ±1.10 / 238.51 ms │            228.85 / 235.91 ±4.09 / 240.60 ms │     no change │
│ QQuery 5  │     271.95 / 276.53 ±3.63 / 283.03 ms │            271.23 / 273.92 ±2.74 / 278.85 ms │     no change │
│ QQuery 6  │           1.21 / 1.39 ±0.30 / 1.98 ms │                  1.24 / 1.39 ±0.24 / 1.87 ms │     no change │
│ QQuery 7  │        12.55 / 12.80 ±0.17 / 13.06 ms │               12.77 / 12.96 ±0.14 / 13.22 ms │     no change │
│ QQuery 8  │     324.80 / 331.01 ±3.90 / 335.37 ms │            326.63 / 333.46 ±5.64 / 341.02 ms │     no change │
│ QQuery 9  │     458.60 / 466.72 ±5.42 / 471.44 ms │            457.80 / 468.62 ±9.34 / 485.40 ms │     no change │
│ QQuery 10 │        63.35 / 65.23 ±2.09 / 69.17 ms │               63.85 / 67.93 ±6.49 / 80.85 ms │     no change │
│ QQuery 11 │        74.37 / 77.52 ±5.63 / 88.75 ms │               74.62 / 75.67 ±1.09 / 77.40 ms │     no change │
│ QQuery 12 │     259.85 / 263.42 ±2.63 / 266.67 ms │            260.85 / 264.65 ±3.43 / 270.52 ms │     no change │
│ QQuery 13 │    356.92 / 367.90 ±13.32 / 389.46 ms │            365.00 / 372.97 ±5.22 / 378.82 ms │     no change │
│ QQuery 14 │     276.64 / 282.82 ±6.20 / 292.94 ms │            274.73 / 280.09 ±5.83 / 290.81 ms │     no change │
│ QQuery 15 │    282.32 / 295.28 ±15.06 / 323.23 ms │            282.41 / 288.11 ±4.85 / 296.92 ms │     no change │
│ QQuery 16 │     615.64 / 626.09 ±5.67 / 631.66 ms │            609.81 / 622.00 ±7.91 / 629.64 ms │     no change │
│ QQuery 17 │     620.63 / 626.44 ±6.28 / 638.65 ms │            621.09 / 626.85 ±4.83 / 634.20 ms │     no change │
│ QQuery 18 │ 1208.58 / 1246.33 ±21.19 / 1269.61 ms │        1215.42 / 1250.31 ±20.95 / 1281.12 ms │     no change │
│ QQuery 19 │        27.48 / 28.52 ±1.84 / 32.19 ms │               27.23 / 30.56 ±3.93 / 35.74 ms │  1.07x slower │
│ QQuery 20 │     513.71 / 523.23 ±7.51 / 536.08 ms │            512.86 / 523.68 ±9.25 / 537.67 ms │     no change │
│ QQuery 21 │     510.58 / 515.06 ±4.33 / 520.37 ms │            514.89 / 516.99 ±2.20 / 520.50 ms │     no change │
│ QQuery 22 │ 1011.61 / 1053.56 ±33.91 / 1091.82 ms │          997.95 / 1004.20 ±4.37 / 1010.72 ms │     no change │
│ QQuery 23 │ 3104.78 / 3213.30 ±84.47 / 3364.14 ms │       2998.41 / 3202.51 ±167.46 / 3472.31 ms │     no change │
│ QQuery 24 │    40.92 / 184.13 ±242.95 / 665.79 ms │             40.72 / 76.15 ±54.72 / 183.18 ms │ +2.42x faster │
│ QQuery 25 │     105.89 / 106.90 ±0.66 / 107.87 ms │          104.48 / 160.38 ±106.89 / 374.13 ms │  1.50x slower │
│ QQuery 26 │        41.26 / 41.94 ±0.44 / 42.48 ms │               41.29 / 42.98 ±2.24 / 47.25 ms │     no change │
│ QQuery 27 │    502.47 / 519.30 ±12.62 / 534.87 ms │           505.51 / 517.11 ±12.55 / 539.75 ms │     no change │
│ QQuery 28 │ 2813.01 / 2875.49 ±52.34 / 2947.12 ms │        2815.86 / 2841.82 ±18.39 / 2866.93 ms │     no change │
│ QQuery 29 │        38.62 / 39.10 ±0.66 / 40.39 ms │               38.29 / 39.41 ±0.98 / 40.78 ms │     no change │
│ QQuery 30 │     294.18 / 309.40 ±8.11 / 316.77 ms │            300.21 / 305.27 ±4.33 / 311.22 ms │     no change │
│ QQuery 31 │    271.90 / 283.77 ±14.06 / 310.01 ms │           277.84 / 290.57 ±14.21 / 318.18 ms │     no change │
│ QQuery 32 │ 1101.62 / 1187.51 ±86.00 / 1329.04 ms │        1052.53 / 1132.68 ±64.19 / 1245.29 ms │     no change │
│ QQuery 33 │  1562.76 / 1577.52 ±8.27 / 1587.10 ms │        1514.20 / 1606.09 ±58.56 / 1682.99 ms │     no change │
│ QQuery 34 │ 1562.55 / 1616.65 ±55.81 / 1709.38 ms │        1551.17 / 1634.51 ±78.35 / 1755.35 ms │     no change │
│ QQuery 35 │   288.95 / 377.76 ±136.09 / 643.40 ms │          284.29 / 392.74 ±191.87 / 776.03 ms │     no change │
│ QQuery 36 │        65.06 / 74.33 ±5.53 / 80.28 ms │               67.81 / 73.55 ±3.98 / 80.09 ms │     no change │
│ QQuery 37 │        34.30 / 38.27 ±6.39 / 50.97 ms │               34.15 / 34.67 ±0.50 / 35.57 ms │ +1.10x faster │
│ QQuery 38 │        42.11 / 47.94 ±8.61 / 65.06 ms │              39.39 / 57.28 ±21.15 / 89.52 ms │  1.19x slower │
│ QQuery 39 │     146.62 / 156.94 ±5.38 / 161.86 ms │            142.04 / 153.38 ±7.43 / 163.33 ms │     no change │
│ QQuery 40 │        13.69 / 13.85 ±0.14 / 14.12 ms │               13.50 / 13.77 ±0.20 / 14.04 ms │     no change │
│ QQuery 41 │        13.19 / 13.51 ±0.22 / 13.80 ms │               12.93 / 13.26 ±0.20 / 13.45 ms │     no change │
│ QQuery 42 │        12.49 / 12.66 ±0.14 / 12.90 ms │              13.16 / 27.24 ±21.63 / 69.45 ms │  2.15x slower │
└───────────┴───────────────────────────────────────┴──────────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                                           ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                                           │ 20070.46ms │
│ Total Time (rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2)   │ 19948.02ms │
│ Average Time (HEAD)                                         │   466.75ms │
│ Average Time (rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2) │   463.91ms │
│ Queries Faster                                              │          2 │
│ Queries Slower                                              │          4 │
│ Queries with No Change                                      │         37 │
│ Queries with Failure                                        │          0 │
└─────────────────────────────────────────────────────────────┴────────────┘

Memory Pool Peaks

Peak MemoryPool reservation per query — what DataFusion's accounting believes it reserved. Recorded only for benchmarks that write a results JSON (the dfbench suites, and the suites bench.sh runs through the Criterion SQL harness since #25644), and only under a memory limit: DATAFUSION_RUNTIME_MEMORY_LIMIT, or one the suite sets itself.

Base: 875bc88709778d30dc2876bea63741ef4606fd9f | Changed: 875bc88709778d30dc2876bea63741ef4606fd9f

clickbench_partitioned

Query Base Changed Change
Query 0 0 B 0 B 0.0%
Query 1 104 B 104 B +0.0%
Query 2 936 B 936 B +0.0%
Query 3 312 B 312 B +0.0%
Query 4 755.0 MiB 745.9 MiB -1.2%
Query 5 1.2 GiB 1.2 GiB -4.3%
Query 6 0 B 0 B 0.0%
Query 7 50.2 MiB 50.3 MiB +0.3%
Query 8 965.3 MiB 957.2 MiB -0.8%
Query 9 593.7 MiB 593.9 MiB +0.0%
Query 10 108.5 MiB 119.4 MiB +10.0%
Query 11 116.4 MiB 114.2 MiB -1.9%
Query 12 1.3 GiB 1.3 GiB -1.0%
Query 13 1.6 GiB 1.6 GiB +0.7%
Query 14 1.3 GiB 1.3 GiB -0.8%
Query 15 1.1 GiB 1.1 GiB -0.5%
Query 16 3.4 GiB 3.4 GiB -0.9%
Query 17 3.4 GiB 3.4 GiB -1.4%
Query 18 9.0 GiB 8.3 GiB -7.3%
Query 19 0 B 0 B 0.0%
Query 20 104 B 104 B +0.0%
Query 21 4.0 MiB 3.7 MiB -7.8%
Query 22 4.5 MiB 3.4 MiB -25.2%
Query 23 2.9 GiB 2.7 GiB -7.8%
Query 24 60.0 MiB 57.8 MiB -3.5%
Query 25 162.9 MiB 164.0 MiB +0.7%
Query 26 58.7 MiB 58.3 MiB -0.6%
Query 27 2.5 MiB 2.5 MiB +0.0%
Query 28 1.8 GiB 1.8 GiB +0.1%
Query 29 624 B 624 B +0.0%
Query 30 714.0 MiB 692.3 MiB -3.0%
Query 31 1.5 GiB 1.5 GiB +0.0%
Query 32 7.1 GiB 7.2 GiB +0.7%
Query 33 7.8 GiB 7.7 GiB -1.1%
Query 34 7.9 GiB 7.9 GiB +0.4%
Query 35 606.4 MiB 598.6 MiB -1.3%
Query 36 112.0 MiB 119.1 MiB +6.3%
Query 37 6.6 MiB 7.8 MiB +16.8%
Query 38 5.6 MiB 5.2 MiB -7.7%
Query 39 296.4 MiB 297.1 MiB +0.2%
Query 40 2.3 MiB 2.2 MiB -6.0%
Query 41 3.1 MiB 3.1 MiB -0.1%
Query 42 1.6 MiB 1.6 MiB -2.1%

Pool accounting vs. process RSS

Max pool peak is the largest reservation any single query in the run reached; peak RSS covers the whole invocation, including data loading and allocator retention, and the two high-water marks need not coincide in time. The gap is therefore an upper bound on what the pool did not account for, not a measurement of it.

Benchmark Side Max pool peak Peak RSS Gap RSS / pool
clickbench_partitioned base (875bc88709778d30dc2876bea63741ef4606fd9f) 9.0 GiB 18.7 GiB 9.7 GiB 2.1×
clickbench_partitioned changed (875bc88709778d30dc2876bea63741ef4606fd9f) 8.3 GiB 18.3 GiB 10.0 GiB 2.2×
Resource Usage

clickbench_partitioned — base (merge-base)

Metric Value
Wall time 105.0s
Peak memory 18.7 GiB
Avg memory 6.0 GiB
CPU user 983.7s
CPU sys 98.3s
Peak spill 0 B

clickbench_partitioned — branch

Metric Value
Wall time 105.0s
Peak memory 18.3 GiB
Avg memory 6.1 GiB
CPU user 979.8s
CPU sys 97.6s
Peak spill 0 B

File an issue against this benchmark runner

@Rich-T-kid

Copy link
Copy Markdown
Contributor Author

NDV cap sweep

Mean/distribution totals; lower is better.

Cap TPCH ClickBench Notes
100 744.20 -> 737.80 ms, 0.86% faster 21062.87 -> 21042.05 ms, 0.10% faster Does not promote MobilePhoneModel in every file
218 747.76 -> 749.51 ms, 0.23% slower 20070.46 -> 19948.02 ms, 0.61% faster Smallest cap that promotes MobilePhoneModel everywhere
250 796.30 -> 786.57 ms, 1.22% faster 19921.72 -> 20257.66 ms, 1.69% slower Same promoted schema as 218
500 731.90 -> 736.51 ms, 0.63% slower 20210.83 -> 20144.09 ms, 0.33% faster Admits more TPCH and ClickBench columns

Caps 218 and 250 produce the same schema, so their opposite suite deltas show the end-to-end result is within runner variance. I would use 218: lower excludes the ClickBench target, while raising it only admits fields that standard ClickBench reads through Q23's SELECT *.

Regression buckets

  • Unrelated runner variance: every statistically flagged ClickBench regression reads numeric or high-cardinality columns, not a promoted dictionary column. The largest changes are isolated outliers with overlapping distributions.
  • ClickBench schema adaptation: Q23 is the relevant pressure case. A cap-218 Samply profile attributes about 22% of sampled CPU to rebuilding dictionaries after binary_as_string (resolve_key, hashing, offset expansion, memcmp, and builder append). This cannot be removed by lowering the cap without also dropping MobilePhoneModel.
  • TPCH scalar predicates: dictionary comparison evaluates the dictionary values once, then expands the result through arrow_select::take::take_bits. It was about 1% of Q19 samples at cap 218 and 4.8% of Q12 samples at cap 500. Keeping the cap below l_shipmode's 371 avoids the larger Q12 cost.
  • TPCH grouping: the dictionary group/hash path is healthy. Q1 was 8.4% faster in a local repeated run and replaced Utf8View hashing/equality with the dictionary-specialized path, although the bot result was statistically neutral.

The next useful optimization is preserving the physical dictionary through binary_as_string schema adaptation. More cap tuning will not turn ClickBench into a repeatable suite-level win.

@Rich-T-kid

Rich-T-kid commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor Author

run benchmark tpch clickbench_partitioned

env:
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
  BENCHMARK_PARQUET_WITH_NDV: "true"
baseline:
  ref: "a992dc9dbe6a7a0b2cc909f42f8bb8440b0bd97c"
changed:
  ref: "a992dc9dbe6a7a0b2cc909f42f8bb8440b0bd97c"
  env:
    DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
    DATAFUSION_EXECUTION_PARQUET_RLE_TO_DICTIONARY_MAX_DISTINCT_VALUES: "218"

@adriangbot

Copy link
Copy Markdown

Hi @Rich-T-kid, thanks for the request (#26348 (comment)).

Usage:

run benchmark <name>           # run specific benchmark(s)
run benchmarks                 # run default suite
run benchmarks <name1> <name2> # run specific benchmarks

Any benchmark name is accepted: bench.sh suite names (e.g. tpch, clickbench_partitioned, wide_schema) and Criterion bench targets (e.g. sql_planner) are resolved automatically. A name that matches neither fails on the runner.

Per-side configuration (run benchmark tpch followed by):

env:
# shared env is inherited by BOTH the build and the run, so build
# flags go here. Builds default to no debuginfo for speed; opt back
# in for hung-job gdb dumps and cap jobs to stay within memory:
CARGO_PROFILE_RELEASE_DEBUG: "1"
CARGO_BUILD_JOBS: "1"
baseline:
ref: v45.0.0
env:
# per-side env only reaches the benchmark run, not the build
DATAFUSION_RUNTIME_MEMORY_LIMIT: 1G
changed:
ref: v46.0.0
env:
DATAFUSION_RUNTIME_MEMORY_LIMIT: 2G

Pod size and CPU architecture (each key is optional and keeps the default when absent; requests and limits are set equal):

resources:
cpu: "16"
memory: "128Gi"
arch: arm64          # arm64 or amd64

Independent benchmark shards (optional; 1–8, default 1):

run benchmark arrow_writer
shards: 4

Each shard builds both revisions, measures its assigned cases, and posts its own report. Resources and the job deadline apply per shard. DataFusion requests specifying a shard count greater than 1 fail with an error. Omit shards or use shards: 1 for DataFusion.


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-c6219972095-3513-h5rc8 6.12.94+ #1 SMP Fri Aug 21 08:00:16 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 a992dc9 (a992dc9) to a992dc9 diff

Run configuration
run benchmark tpch
env:
  BENCHMARK_PARQUET_WITH_NDV: "true"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "a992dc9dbe6a7a0b2cc909f42f8bb8440b0bd97c"
changed:
  ref: "a992dc9dbe6a7a0b2cc909f42f8bb8440b0bd97c"
  env:
    DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
    DATAFUSION_EXECUTION_PARQUET_RLE_TO_DICTIONARY_MAX_DISTINCT_VALUES: "218"

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-c6219972095-3514-bqb4p 6.12.94+ #1 SMP Fri Aug 21 08:00:16 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 a992dc9 (a992dc9) to a992dc9 diff

Run configuration
run benchmark clickbench_partitioned
env:
  BENCHMARK_PARQUET_WITH_NDV: "true"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "a992dc9dbe6a7a0b2cc909f42f8bb8440b0bd97c"
changed:
  ref: "a992dc9dbe6a7a0b2cc909f42f8bb8440b0bd97c"
  env:
    DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
    DATAFUSION_EXECUTION_PARQUET_RLE_TO_DICTIONARY_MAX_DISTINCT_VALUES: "218"

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-c6220000124-3515-vx9fm 6.12.94+ #1 SMP Fri Aug 21 08:00:16 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 a992dc9 (a992dc9) to a992dc9 diff

Run configuration
run benchmark tpch
env:
  BENCHMARK_PARQUET_WITH_NDV: "true"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "a992dc9dbe6a7a0b2cc909f42f8bb8440b0bd97c"
changed:
  ref: "a992dc9dbe6a7a0b2cc909f42f8bb8440b0bd97c"
  env:
    DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
    DATAFUSION_EXECUTION_PARQUET_RLE_TO_DICTIONARY_MAX_DISTINCT_VALUES: "218"

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-c6220000124-3516-h2w52 6.12.94+ #1 SMP Fri Aug 21 08:00:16 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 a992dc9 (a992dc9) to a992dc9 diff

Run configuration
run benchmark clickbench_partitioned
env:
  BENCHMARK_PARQUET_WITH_NDV: "true"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "a992dc9dbe6a7a0b2cc909f42f8bb8440b0bd97c"
changed:
  ref: "a992dc9dbe6a7a0b2cc909f42f8bb8440b0bd97c"
  env:
    DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
    DATAFUSION_EXECUTION_PARQUET_RLE_TO_DICTIONARY_MAX_DISTINCT_VALUES: "218"

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-c6220051876-3517-2srgj 6.12.94+ #1 SMP Fri Aug 21 08:00:16 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 a992dc9 (a992dc9) to a992dc9 diff

Run configuration
run benchmark tpch
env:
  BENCHMARK_PARQUET_WITH_NDV: "true"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "a992dc9dbe6a7a0b2cc909f42f8bb8440b0bd97c"
changed:
  ref: "a992dc9dbe6a7a0b2cc909f42f8bb8440b0bd97c"
  env:
    DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
    DATAFUSION_EXECUTION_PARQUET_RLE_TO_DICTIONARY_MAX_DISTINCT_VALUES: "218"

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-c6220051876-3518-mwwpm 6.12.94+ #1 SMP Fri Aug 21 08:00:16 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 a992dc9 (a992dc9) to a992dc9 diff

Run configuration
run benchmark clickbench_partitioned
env:
  BENCHMARK_PARQUET_WITH_NDV: "true"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "a992dc9dbe6a7a0b2cc909f42f8bb8440b0bd97c"
changed:
  ref: "a992dc9dbe6a7a0b2cc909f42f8bb8440b0bd97c"
  env:
    DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
    DATAFUSION_EXECUTION_PARQUET_RLE_TO_DICTIONARY_MAX_DISTINCT_VALUES: "218"

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 a992dc9 (a992dc9) to a992dc9 diff

Run configuration
run benchmark tpch
env:
  BENCHMARK_PARQUET_WITH_NDV: "true"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "a992dc9dbe6a7a0b2cc909f42f8bb8440b0bd97c"
changed:
  ref: "a992dc9dbe6a7a0b2cc909f42f8bb8440b0bd97c"
  env:
    DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
    DATAFUSION_EXECUTION_PARQUET_RLE_TO_DICTIONARY_MAX_DISTINCT_VALUES: "218"
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 rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2
--------------------
Benchmark tpch_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Query     ┃     HEAD ┃ rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2 ┃    Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ QQuery 1  │ 40.79 ms │                                     40.77 ms │ no change │
│ QQuery 2  │ 18.13 ms │                                     18.46 ms │ no change │
│ QQuery 3  │ 28.78 ms │                                     28.57 ms │ no change │
│ QQuery 4  │ 17.43 ms │                                     17.50 ms │ no change │
│ QQuery 5  │ 35.52 ms │                                     35.68 ms │ no change │
│ QQuery 6  │ 13.73 ms │                                     13.70 ms │ no change │
│ QQuery 7  │ 43.81 ms │                                     41.96 ms │ no change │
│ QQuery 8  │ 41.23 ms │                                     40.87 ms │ no change │
│ QQuery 9  │ 50.33 ms │                                     49.70 ms │ no change │
│ QQuery 10 │ 40.47 ms │                                     40.54 ms │ no change │
│ QQuery 11 │ 13.13 ms │                                     13.70 ms │ no change │
│ QQuery 12 │ 18.21 ms │                                     18.11 ms │ no change │
│ QQuery 13 │ 39.93 ms │                                     39.97 ms │ no change │
│ QQuery 14 │ 24.45 ms │                                     24.77 ms │ no change │
│ QQuery 15 │ 31.15 ms │                                     30.89 ms │ no change │
│ QQuery 16 │ 13.87 ms │                                     13.95 ms │ no change │
│ QQuery 17 │ 75.33 ms │                                     76.02 ms │ no change │
│ QQuery 18 │ 45.41 ms │                                     45.22 ms │ no change │
│ QQuery 19 │ 32.09 ms │                                     31.67 ms │ no change │
│ QQuery 20 │ 31.70 ms │                                     31.83 ms │ no change │
│ QQuery 21 │ 56.11 ms │                                     55.95 ms │ no change │
│ QQuery 22 │ 13.85 ms │                                     14.02 ms │ no change │
└───────────┴──────────┴──────────────────────────────────────────────┴───────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┓
┃ Benchmark Summary                                           ┃          ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━┩
│ Total Time (HEAD)                                           │ 725.46ms │
│ Total Time (rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2)   │ 723.87ms │
│ Average Time (HEAD)                                         │  32.98ms │
│ Average Time (rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2) │  32.90ms │
│ Queries Faster                                              │        0 │
│ Queries Slower                                              │        0 │
│ Queries with No Change                                      │       22 │
│ Queries with Failure                                        │        0 │
└─────────────────────────────────────────────────────────────┴──────────┘

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

Comparing HEAD and rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2
--------------------
Benchmark tpch_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Query     ┃                           HEAD ┃ rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2 ┃    Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ QQuery 1  │ 40.79 / 41.99 ±0.93 / 43.12 ms │               40.77 / 41.70 ±0.86 / 43.10 ms │ no change │
│ QQuery 2  │ 18.13 / 18.61 ±0.31 / 19.04 ms │               18.46 / 18.79 ±0.23 / 19.10 ms │ no change │
│ QQuery 3  │ 28.78 / 28.91 ±0.12 / 29.09 ms │               28.57 / 28.90 ±0.23 / 29.27 ms │ no change │
│ QQuery 4  │ 17.43 / 17.72 ±0.19 / 17.94 ms │               17.50 / 17.94 ±0.53 / 18.96 ms │ no change │
│ QQuery 5  │ 35.52 / 36.33 ±0.89 / 37.85 ms │               35.68 / 35.94 ±0.27 / 36.46 ms │ no change │
│ QQuery 6  │ 13.73 / 13.87 ±0.09 / 13.98 ms │               13.70 / 14.00 ±0.29 / 14.51 ms │ no change │
│ QQuery 7  │ 43.81 / 44.60 ±0.50 / 45.37 ms │               41.96 / 43.48 ±0.95 / 44.78 ms │ no change │
│ QQuery 8  │ 41.23 / 42.08 ±1.33 / 44.69 ms │               40.87 / 41.57 ±0.84 / 43.13 ms │ no change │
│ QQuery 9  │ 50.33 / 51.25 ±0.90 / 52.96 ms │               49.70 / 50.79 ±0.65 / 51.71 ms │ no change │
│ QQuery 10 │ 40.47 / 41.29 ±0.94 / 43.11 ms │               40.54 / 40.67 ±0.13 / 40.86 ms │ no change │
│ QQuery 11 │ 13.13 / 13.69 ±0.41 / 14.40 ms │               13.70 / 14.24 ±0.82 / 15.85 ms │ no change │
│ QQuery 12 │ 18.21 / 18.45 ±0.16 / 18.64 ms │               18.11 / 18.30 ±0.25 / 18.77 ms │ no change │
│ QQuery 13 │ 39.93 / 40.72 ±1.09 / 42.85 ms │               39.97 / 41.31 ±1.97 / 45.15 ms │ no change │
│ QQuery 14 │ 24.45 / 25.03 ±0.75 / 26.51 ms │               24.77 / 25.32 ±0.52 / 26.04 ms │ no change │
│ QQuery 15 │ 31.15 / 32.13 ±1.14 / 34.00 ms │               30.89 / 31.77 ±1.00 / 33.52 ms │ no change │
│ QQuery 16 │ 13.87 / 14.07 ±0.16 / 14.35 ms │               13.95 / 14.21 ±0.25 / 14.67 ms │ no change │
│ QQuery 17 │ 75.33 / 77.04 ±1.10 / 78.75 ms │               76.02 / 76.44 ±0.42 / 77.11 ms │ no change │
│ QQuery 18 │ 45.41 / 46.60 ±1.00 / 48.35 ms │               45.22 / 46.51 ±0.82 / 47.47 ms │ no change │
│ QQuery 19 │ 32.09 / 32.35 ±0.26 / 32.84 ms │               31.67 / 32.00 ±0.21 / 32.24 ms │ no change │
│ QQuery 20 │ 31.70 / 32.11 ±0.25 / 32.38 ms │               31.83 / 32.28 ±0.34 / 32.72 ms │ no change │
│ QQuery 21 │ 56.11 / 56.87 ±0.57 / 57.62 ms │               55.95 / 57.44 ±1.45 / 60.13 ms │ no change │
│ QQuery 22 │ 13.85 / 13.96 ±0.08 / 14.09 ms │               14.02 / 14.17 ±0.12 / 14.34 ms │ no change │
└───────────┴────────────────────────────────┴──────────────────────────────────────────────┴───────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┓
┃ Benchmark Summary                                           ┃          ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━┩
│ Total Time (HEAD)                                           │ 739.68ms │
│ Total Time (rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2)   │ 737.77ms │
│ Average Time (HEAD)                                         │  33.62ms │
│ Average Time (rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2) │  33.53ms │
│ Queries Faster                                              │        0 │
│ Queries Slower                                              │        0 │
│ Queries with No Change                                      │       22 │
│ Queries with Failure                                        │        0 │
└─────────────────────────────────────────────────────────────┴──────────┘

Memory Pool Peaks

Peak MemoryPool reservation per query — what DataFusion's accounting believes it reserved. Recorded only for benchmarks that write a results JSON (the dfbench suites, and the suites bench.sh runs through the Criterion SQL harness since #25644), and only under a memory limit: DATAFUSION_RUNTIME_MEMORY_LIMIT, or one the suite sets itself.

Base: a992dc9dbe6a7a0b2cc909f42f8bb8440b0bd97c | Changed: a992dc9dbe6a7a0b2cc909f42f8bb8440b0bd97c

tpch — tpch_sf1

Query Base Changed Change
Query 1 31.4 MiB 40.0 MiB +27.5%
Query 2 15.9 MiB 15.9 MiB +0.0%
Query 3 11.5 MiB 11.5 MiB +0.0%
Query 4 33.2 MiB 23.4 MiB -29.5%
Query 5 43.2 MiB 43.4 MiB +0.5%
Query 6 832 B 832 B +0.0%
Query 7 107.4 MiB 107.4 MiB +0.0%
Query 8 35.5 MiB 33.4 MiB -5.9%
Query 9 155.4 MiB 155.4 MiB +0.0%
Query 10 38.6 MiB 38.6 MiB +0.0%
Query 11 51.7 MiB 41.7 MiB -19.3%
Query 12 20.3 MiB 20.1 MiB -0.6%
Query 13 43.1 MiB 52.6 MiB +22.0%
Query 14 7.7 MiB 7.7 MiB +0.0%
Query 15 12.0 MiB 12.3 MiB +2.4%
Query 16 45.0 MiB 45.4 MiB +0.8%
Query 17 141.3 MiB 141.3 MiB +0.0%
Query 18 189.1 MiB 189.1 MiB +0.0%
Query 19 746.1 KiB 746.1 KiB +0.0%
Query 20 59.8 MiB 58.3 MiB -2.4%
Query 21 42.6 MiB 42.6 MiB +0.0%
Query 22 23.3 MiB 23.0 MiB -1.1%

Pool accounting vs. process RSS

Max pool peak is the largest reservation any single query in the run reached; peak RSS covers the whole invocation, including data loading and allocator retention, and the two high-water marks need not coincide in time. The gap is therefore an upper bound on what the pool did not account for, not a measurement of it.

Benchmark Side Max pool peak Peak RSS Gap RSS / pool
tpch base (a992dc9dbe6a7a0b2cc909f42f8bb8440b0bd97c) 189.1 MiB 1.1 GiB 973.2 MiB 6.1×
tpch changed (a992dc9dbe6a7a0b2cc909f42f8bb8440b0bd97c) 189.1 MiB 1.1 GiB 985.2 MiB 6.2×
Resource Usage

tpch — base (merge-base)

Metric Value
Wall time 5.0s
Peak memory 1.1 GiB
Avg memory 476.3 MiB
CPU user 20.2s
CPU sys 1.7s
Peak spill 0 B

tpch — branch

Metric Value
Wall time 5.0s
Peak memory 1.1 GiB
Avg memory 486.2 MiB
CPU user 20.2s
CPU sys 1.7s
Peak spill 0 B

File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark completed (GKE) | trigger

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

Comparing a992dc9 (a992dc9) to a992dc9 diff

Run configuration
run benchmark tpch
env:
  BENCHMARK_PARQUET_WITH_NDV: "true"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "a992dc9dbe6a7a0b2cc909f42f8bb8440b0bd97c"
changed:
  ref: "a992dc9dbe6a7a0b2cc909f42f8bb8440b0bd97c"
  env:
    DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
    DATAFUSION_EXECUTION_PARQUET_RLE_TO_DICTIONARY_MAX_DISTINCT_VALUES: "218"
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 rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2
--------------------
Benchmark tpch_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Query     ┃     HEAD ┃ rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2 ┃    Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ QQuery 1  │ 40.32 ms │                                     40.38 ms │ no change │
│ QQuery 2  │ 18.15 ms │                                     18.17 ms │ no change │
│ QQuery 3  │ 28.54 ms │                                     28.32 ms │ no change │
│ QQuery 4  │ 17.60 ms │                                     17.19 ms │ no change │
│ QQuery 5  │ 34.99 ms │                                     34.62 ms │ no change │
│ QQuery 6  │ 13.29 ms │                                     13.55 ms │ no change │
│ QQuery 7  │ 42.03 ms │                                     40.78 ms │ no change │
│ QQuery 8  │ 40.18 ms │                                     40.78 ms │ no change │
│ QQuery 9  │ 49.20 ms │                                     49.60 ms │ no change │
│ QQuery 10 │ 40.44 ms │                                     40.21 ms │ no change │
│ QQuery 11 │ 13.56 ms │                                     12.90 ms │ no change │
│ QQuery 12 │ 17.84 ms │                                     17.65 ms │ no change │
│ QQuery 13 │ 38.99 ms │                                     38.94 ms │ no change │
│ QQuery 14 │ 24.20 ms │                                     24.36 ms │ no change │
│ QQuery 15 │ 30.47 ms │                                     30.61 ms │ no change │
│ QQuery 16 │ 13.61 ms │                                     13.45 ms │ no change │
│ QQuery 17 │ 73.50 ms │                                     73.22 ms │ no change │
│ QQuery 18 │ 44.85 ms │                                     44.85 ms │ no change │
│ QQuery 19 │ 31.31 ms │                                     31.51 ms │ no change │
│ QQuery 20 │ 31.66 ms │                                     31.43 ms │ no change │
│ QQuery 21 │ 54.37 ms │                                     54.22 ms │ no change │
│ QQuery 22 │ 13.38 ms │                                     13.36 ms │ no change │
└───────────┴──────────┴──────────────────────────────────────────────┴───────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┓
┃ Benchmark Summary                                           ┃          ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━┩
│ Total Time (HEAD)                                           │ 712.48ms │
│ Total Time (rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2)   │ 710.10ms │
│ Average Time (HEAD)                                         │  32.39ms │
│ Average Time (rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2) │  32.28ms │
│ Queries Faster                                              │        0 │
│ Queries Slower                                              │        0 │
│ Queries with No Change                                      │       22 │
│ Queries with Failure                                        │        0 │
└─────────────────────────────────────────────────────────────┴──────────┘

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

Comparing HEAD and rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2
--------------------
Benchmark tpch_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                           HEAD ┃ rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2 ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │ 40.32 / 42.12 ±1.48 / 43.73 ms │               40.38 / 41.43 ±1.84 / 45.10 ms │     no change │
│ QQuery 2  │ 18.15 / 18.49 ±0.35 / 19.16 ms │               18.17 / 18.47 ±0.26 / 18.80 ms │     no change │
│ QQuery 3  │ 28.54 / 28.83 ±0.36 / 29.51 ms │               28.32 / 28.68 ±0.43 / 29.51 ms │     no change │
│ QQuery 4  │ 17.60 / 17.76 ±0.10 / 17.89 ms │               17.19 / 17.65 ±0.62 / 18.87 ms │     no change │
│ QQuery 5  │ 34.99 / 36.43 ±1.58 / 38.69 ms │               34.62 / 35.45 ±0.94 / 37.24 ms │     no change │
│ QQuery 6  │ 13.29 / 13.98 ±0.84 / 15.60 ms │               13.55 / 14.10 ±0.73 / 15.52 ms │     no change │
│ QQuery 7  │ 42.03 / 42.45 ±0.43 / 43.27 ms │               40.78 / 41.59 ±0.59 / 42.27 ms │     no change │
│ QQuery 8  │ 40.18 / 41.07 ±0.85 / 42.48 ms │               40.78 / 42.01 ±0.99 / 43.18 ms │     no change │
│ QQuery 9  │ 49.20 / 50.70 ±0.88 / 51.92 ms │               49.60 / 51.15 ±1.36 / 53.38 ms │     no change │
│ QQuery 10 │ 40.44 / 41.19 ±1.21 / 43.59 ms │               40.21 / 40.72 ±0.69 / 42.08 ms │     no change │
│ QQuery 11 │ 13.56 / 14.14 ±0.46 / 14.84 ms │               12.90 / 13.12 ±0.17 / 13.42 ms │ +1.08x faster │
│ QQuery 12 │ 17.84 / 18.06 ±0.12 / 18.19 ms │               17.65 / 18.04 ±0.30 / 18.43 ms │     no change │
│ QQuery 13 │ 38.99 / 39.71 ±0.83 / 41.34 ms │               38.94 / 40.14 ±1.45 / 43.00 ms │     no change │
│ QQuery 14 │ 24.20 / 24.37 ±0.20 / 24.75 ms │               24.36 / 24.63 ±0.28 / 25.13 ms │     no change │
│ QQuery 15 │ 30.47 / 31.48 ±1.31 / 34.05 ms │               30.61 / 32.12 ±1.29 / 33.93 ms │     no change │
│ QQuery 16 │ 13.61 / 13.77 ±0.20 / 14.17 ms │               13.45 / 13.79 ±0.24 / 14.19 ms │     no change │
│ QQuery 17 │ 73.50 / 74.07 ±0.51 / 74.74 ms │               73.22 / 73.90 ±0.65 / 75.08 ms │     no change │
│ QQuery 18 │ 44.85 / 45.52 ±0.53 / 46.43 ms │               44.85 / 45.10 ±0.23 / 45.49 ms │     no change │
│ QQuery 19 │ 31.31 / 31.76 ±0.60 / 32.94 ms │               31.51 / 33.34 ±2.80 / 38.89 ms │     no change │
│ QQuery 20 │ 31.66 / 31.94 ±0.21 / 32.31 ms │               31.43 / 31.85 ±0.31 / 32.21 ms │     no change │
│ QQuery 21 │ 54.37 / 55.27 ±0.77 / 56.26 ms │               54.22 / 54.72 ±0.39 / 55.21 ms │     no change │
│ QQuery 22 │ 13.38 / 14.05 ±0.85 / 15.73 ms │               13.36 / 13.77 ±0.24 / 14.05 ms │     no change │
└───────────┴────────────────────────────────┴──────────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┓
┃ Benchmark Summary                                           ┃          ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━┩
│ Total Time (HEAD)                                           │ 727.18ms │
│ Total Time (rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2)   │ 725.76ms │
│ Average Time (HEAD)                                         │  33.05ms │
│ Average Time (rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2) │  32.99ms │
│ Queries Faster                                              │        1 │
│ Queries Slower                                              │        0 │
│ Queries with No Change                                      │       21 │
│ Queries with Failure                                        │        0 │
└─────────────────────────────────────────────────────────────┴──────────┘

Memory Pool Peaks

Peak MemoryPool reservation per query — what DataFusion's accounting believes it reserved. Recorded only for benchmarks that write a results JSON (the dfbench suites, and the suites bench.sh runs through the Criterion SQL harness since #25644), and only under a memory limit: DATAFUSION_RUNTIME_MEMORY_LIMIT, or one the suite sets itself.

Base: a992dc9dbe6a7a0b2cc909f42f8bb8440b0bd97c | Changed: a992dc9dbe6a7a0b2cc909f42f8bb8440b0bd97c

tpch — tpch_sf1

Query Base Changed Change
Query 1 30.0 MiB 31.4 MiB +4.6%
Query 2 15.9 MiB 15.9 MiB +0.0%
Query 3 11.5 MiB 11.5 MiB +0.0%
Query 4 23.4 MiB 23.4 MiB -0.0%
Query 5 42.9 MiB 43.1 MiB +0.6%
Query 6 832 B 832 B +0.0%
Query 7 107.4 MiB 107.4 MiB +0.0%
Query 8 32.4 MiB 33.9 MiB +4.7%
Query 9 155.4 MiB 155.4 MiB +0.0%
Query 10 37.1 MiB 37.4 MiB +0.8%
Query 11 41.2 MiB 51.4 MiB +24.7%
Query 12 17.5 MiB 20.2 MiB +15.4%
Query 13 72.3 MiB 43.0 MiB -40.6%
Query 14 7.7 MiB 7.7 MiB +0.0%
Query 15 12.2 MiB 12.2 MiB +0.0%
Query 16 34.9 MiB 44.0 MiB +25.8%
Query 17 141.3 MiB 141.3 MiB +0.0%
Query 18 189.1 MiB 189.1 MiB +0.0%
Query 19 746.1 KiB 746.1 KiB +0.0%
Query 20 59.4 MiB 59.6 MiB +0.4%
Query 21 42.6 MiB 42.6 MiB +0.0%
Query 22 23.0 MiB 32.3 MiB +40.6%

Pool accounting vs. process RSS

Max pool peak is the largest reservation any single query in the run reached; peak RSS covers the whole invocation, including data loading and allocator retention, and the two high-water marks need not coincide in time. The gap is therefore an upper bound on what the pool did not account for, not a measurement of it.

Benchmark Side Max pool peak Peak RSS Gap RSS / pool
tpch base (a992dc9dbe6a7a0b2cc909f42f8bb8440b0bd97c) 189.1 MiB 1.1 GiB 921.7 MiB 5.9×
tpch changed (a992dc9dbe6a7a0b2cc909f42f8bb8440b0bd97c) 189.1 MiB 1.1 GiB 980.7 MiB 6.2×
Resource Usage

tpch — base (merge-base)

Metric Value
Wall time 5.0s
Peak memory 1.1 GiB
Avg memory 473.0 MiB
CPU user 19.8s
CPU sys 1.7s
Peak spill 0 B

tpch — branch

Metric Value
Wall time 5.0s
Peak memory 1.1 GiB
Avg memory 482.0 MiB
CPU user 19.7s
CPU sys 1.7s
Peak spill 0 B

File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark completed (GKE) | trigger

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

Comparing a992dc9 (a992dc9) to a992dc9 diff

Run configuration
run benchmark tpch
env:
  BENCHMARK_PARQUET_WITH_NDV: "true"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "a992dc9dbe6a7a0b2cc909f42f8bb8440b0bd97c"
changed:
  ref: "a992dc9dbe6a7a0b2cc909f42f8bb8440b0bd97c"
  env:
    DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
    DATAFUSION_EXECUTION_PARQUET_RLE_TO_DICTIONARY_MAX_DISTINCT_VALUES: "218"
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 rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2
--------------------
Benchmark tpch_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Query     ┃     HEAD ┃ rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2 ┃    Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ QQuery 1  │ 41.21 ms │                                     41.30 ms │ no change │
│ QQuery 2  │ 19.23 ms │                                     18.70 ms │ no change │
│ QQuery 3  │ 29.45 ms │                                     29.03 ms │ no change │
│ QQuery 4  │ 18.36 ms │                                     18.06 ms │ no change │
│ QQuery 5  │ 36.75 ms │                                     36.11 ms │ no change │
│ QQuery 6  │ 13.99 ms │                                     13.92 ms │ no change │
│ QQuery 7  │ 43.83 ms │                                     41.99 ms │ no change │
│ QQuery 8  │ 41.85 ms │                                     41.84 ms │ no change │
│ QQuery 9  │ 52.18 ms │                                     51.89 ms │ no change │
│ QQuery 10 │ 42.16 ms │                                     41.63 ms │ no change │
│ QQuery 11 │ 14.15 ms │                                     14.22 ms │ no change │
│ QQuery 12 │ 19.01 ms │                                     18.49 ms │ no change │
│ QQuery 13 │ 41.69 ms │                                     41.35 ms │ no change │
│ QQuery 14 │ 25.07 ms │                                     25.02 ms │ no change │
│ QQuery 15 │ 31.82 ms │                                     31.83 ms │ no change │
│ QQuery 16 │ 14.20 ms │                                     14.22 ms │ no change │
│ QQuery 17 │ 79.99 ms │                                     78.65 ms │ no change │
│ QQuery 18 │ 47.06 ms │                                     47.35 ms │ no change │
│ QQuery 19 │ 32.11 ms │                                     32.33 ms │ no change │
│ QQuery 20 │ 32.82 ms │                                     32.96 ms │ no change │
│ QQuery 21 │ 57.70 ms │                                     57.87 ms │ no change │
│ QQuery 22 │ 14.50 ms │                                     14.78 ms │ no change │
└───────────┴──────────┴──────────────────────────────────────────────┴───────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┓
┃ Benchmark Summary                                           ┃          ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━┩
│ Total Time (HEAD)                                           │ 749.13ms │
│ Total Time (rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2)   │ 743.54ms │
│ Average Time (HEAD)                                         │  34.05ms │
│ Average Time (rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2) │  33.80ms │
│ Queries Faster                                              │        0 │
│ Queries Slower                                              │        0 │
│ Queries with No Change                                      │       22 │
│ Queries with Failure                                        │        0 │
└─────────────────────────────────────────────────────────────┴──────────┘

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

Comparing HEAD and rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2
--------------------
Benchmark tpch_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                           HEAD ┃ rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2 ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │ 41.21 / 42.67 ±1.44 / 44.54 ms │               41.30 / 41.90 ±1.04 / 43.97 ms │     no change │
│ QQuery 2  │ 19.23 / 19.57 ±0.41 / 20.34 ms │               18.70 / 19.26 ±0.45 / 19.92 ms │     no change │
│ QQuery 3  │ 29.45 / 30.31 ±1.08 / 32.41 ms │               29.03 / 29.47 ±0.32 / 29.89 ms │     no change │
│ QQuery 4  │ 18.36 / 18.86 ±0.49 / 19.52 ms │               18.06 / 18.34 ±0.38 / 19.09 ms │     no change │
│ QQuery 5  │ 36.75 / 37.22 ±0.27 / 37.50 ms │               36.11 / 36.71 ±0.32 / 36.97 ms │     no change │
│ QQuery 6  │ 13.99 / 14.17 ±0.12 / 14.34 ms │               13.92 / 14.08 ±0.12 / 14.28 ms │     no change │
│ QQuery 7  │ 43.83 / 46.56 ±3.22 / 52.76 ms │               41.99 / 43.73 ±1.76 / 46.84 ms │ +1.06x faster │
│ QQuery 8  │ 41.85 / 42.42 ±0.73 / 43.87 ms │               41.84 / 42.18 ±0.27 / 42.56 ms │     no change │
│ QQuery 9  │ 52.18 / 53.44 ±0.95 / 54.64 ms │               51.89 / 52.69 ±0.69 / 53.51 ms │     no change │
│ QQuery 10 │ 42.16 / 42.52 ±0.24 / 42.82 ms │               41.63 / 42.77 ±1.30 / 44.78 ms │     no change │
│ QQuery 11 │ 14.15 / 14.74 ±0.55 / 15.71 ms │               14.22 / 14.29 ±0.08 / 14.44 ms │     no change │
│ QQuery 12 │ 19.01 / 19.24 ±0.14 / 19.43 ms │               18.49 / 19.09 ±0.30 / 19.34 ms │     no change │
│ QQuery 13 │ 41.69 / 42.33 ±0.54 / 43.29 ms │               41.35 / 43.50 ±1.92 / 46.95 ms │     no change │
│ QQuery 14 │ 25.07 / 26.15 ±1.12 / 28.17 ms │               25.02 / 26.51 ±1.58 / 28.78 ms │     no change │
│ QQuery 15 │ 31.82 / 32.66 ±0.74 / 33.90 ms │               31.83 / 32.35 ±0.65 / 33.38 ms │     no change │
│ QQuery 16 │ 14.20 / 14.46 ±0.25 / 14.88 ms │               14.22 / 14.64 ±0.34 / 15.21 ms │     no change │
│ QQuery 17 │ 79.99 / 80.78 ±0.98 / 82.68 ms │               78.65 / 79.93 ±1.71 / 83.26 ms │     no change │
│ QQuery 18 │ 47.06 / 48.42 ±1.48 / 50.35 ms │               47.35 / 48.54 ±0.86 / 49.97 ms │     no change │
│ QQuery 19 │ 32.11 / 32.73 ±0.51 / 33.64 ms │               32.33 / 32.84 ±0.70 / 34.22 ms │     no change │
│ QQuery 20 │ 32.82 / 33.28 ±0.44 / 34.02 ms │               32.96 / 33.16 ±0.18 / 33.41 ms │     no change │
│ QQuery 21 │ 57.70 / 58.79 ±0.99 / 60.37 ms │               57.87 / 59.11 ±1.06 / 60.95 ms │     no change │
│ QQuery 22 │ 14.50 / 14.79 ±0.17 / 15.00 ms │               14.78 / 15.15 ±0.44 / 15.91 ms │     no change │
└───────────┴────────────────────────────────┴──────────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┓
┃ Benchmark Summary                                           ┃          ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━┩
│ Total Time (HEAD)                                           │ 766.10ms │
│ Total Time (rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2)   │ 760.26ms │
│ Average Time (HEAD)                                         │  34.82ms │
│ Average Time (rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2) │  34.56ms │
│ Queries Faster                                              │        1 │
│ Queries Slower                                              │        0 │
│ Queries with No Change                                      │       21 │
│ Queries with Failure                                        │        0 │
└─────────────────────────────────────────────────────────────┴──────────┘

Memory Pool Peaks

Peak MemoryPool reservation per query — what DataFusion's accounting believes it reserved. Recorded only for benchmarks that write a results JSON (the dfbench suites, and the suites bench.sh runs through the Criterion SQL harness since #25644), and only under a memory limit: DATAFUSION_RUNTIME_MEMORY_LIMIT, or one the suite sets itself.

Base: a992dc9dbe6a7a0b2cc909f42f8bb8440b0bd97c | Changed: a992dc9dbe6a7a0b2cc909f42f8bb8440b0bd97c

tpch — tpch_sf1

Query Base Changed Change
Query 1 30.0 MiB 30.0 MiB +0.0%
Query 2 15.9 MiB 15.9 MiB +0.0%
Query 3 11.5 MiB 11.5 MiB +0.0%
Query 4 33.2 MiB 23.4 MiB -29.5%
Query 5 43.2 MiB 43.2 MiB +0.1%
Query 6 832 B 832 B +0.0%
Query 7 107.5 MiB 107.4 MiB -0.1%
Query 8 34.6 MiB 33.2 MiB -4.0%
Query 9 155.4 MiB 155.4 MiB +0.0%
Query 10 38.6 MiB 37.5 MiB -3.0%
Query 11 62.1 MiB 72.1 MiB +16.1%
Query 12 20.3 MiB 20.2 MiB -0.3%
Query 13 52.6 MiB 62.3 MiB +18.5%
Query 14 7.7 MiB 7.7 MiB +0.0%
Query 15 12.0 MiB 12.0 MiB -0.0%
Query 16 35.0 MiB 44.9 MiB +28.5%
Query 17 141.3 MiB 141.6 MiB +0.2%
Query 18 189.1 MiB 189.1 MiB +0.0%
Query 19 746.1 KiB 746.1 KiB +0.0%
Query 20 59.7 MiB 61.3 MiB +2.7%
Query 21 42.6 MiB 42.6 MiB +0.0%
Query 22 32.9 MiB 23.0 MiB -30.1%

Pool accounting vs. process RSS

Max pool peak is the largest reservation any single query in the run reached; peak RSS covers the whole invocation, including data loading and allocator retention, and the two high-water marks need not coincide in time. The gap is therefore an upper bound on what the pool did not account for, not a measurement of it.

Benchmark Side Max pool peak Peak RSS Gap RSS / pool
tpch base (a992dc9dbe6a7a0b2cc909f42f8bb8440b0bd97c) 189.1 MiB 1.1 GiB 966.8 MiB 6.1×
tpch changed (a992dc9dbe6a7a0b2cc909f42f8bb8440b0bd97c) 189.1 MiB 1.2 GiB 1016.0 MiB 6.4×
Resource Usage

tpch — base (merge-base)

Metric Value
Wall time 5.0s
Peak memory 1.1 GiB
Avg memory 475.2 MiB
CPU user 21.1s
CPU sys 1.9s
Peak spill 0 B

tpch — branch

Metric Value
Wall time 5.0s
Peak memory 1.2 GiB
Avg memory 489.1 MiB
CPU user 20.9s
CPU sys 1.8s
Peak spill 0 B

File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark completed (GKE) | trigger

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

Comparing a992dc9 (a992dc9) to a992dc9 diff

Run configuration
run benchmark clickbench_partitioned
env:
  BENCHMARK_PARQUET_WITH_NDV: "true"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "a992dc9dbe6a7a0b2cc909f42f8bb8440b0bd97c"
changed:
  ref: "a992dc9dbe6a7a0b2cc909f42f8bb8440b0bd97c"
  env:
    DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
    DATAFUSION_EXECUTION_PARQUET_RLE_TO_DICTIONARY_MAX_DISTINCT_VALUES: "218"
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 rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃       HEAD ┃ rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2 ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0  │    1.22 ms │                                      1.23 ms │     no change │
│ QQuery 1  │   11.97 ms │                                     11.95 ms │     no change │
│ QQuery 2  │   35.22 ms │                                     35.55 ms │     no change │
│ QQuery 3  │   31.25 ms │                                     31.49 ms │     no change │
│ QQuery 4  │  254.16 ms │                                    251.48 ms │     no change │
│ QQuery 5  │  286.22 ms │                                    287.34 ms │     no change │
│ QQuery 6  │    1.27 ms │                                      1.27 ms │     no change │
│ QQuery 7  │   13.58 ms │                                     13.31 ms │     no change │
│ QQuery 8  │  356.39 ms │                                    351.54 ms │     no change │
│ QQuery 9  │  491.74 ms │                                    492.72 ms │     no change │
│ QQuery 10 │   66.50 ms │                                     65.66 ms │     no change │
│ QQuery 11 │   76.48 ms │                                     76.53 ms │     no change │
│ QQuery 12 │  274.95 ms │                                    273.37 ms │     no change │
│ QQuery 13 │  381.21 ms │                                    369.83 ms │     no change │
│ QQuery 14 │  288.62 ms │                                    293.72 ms │     no change │
│ QQuery 15 │  307.85 ms │                                    303.43 ms │     no change │
│ QQuery 16 │  642.47 ms │                                    653.66 ms │     no change │
│ QQuery 17 │  652.40 ms │                                    659.88 ms │     no change │
│ QQuery 18 │ 1279.06 ms │                                   1303.72 ms │     no change │
│ QQuery 19 │   28.30 ms │                                     27.65 ms │     no change │
│ QQuery 20 │  518.31 ms │                                    520.13 ms │     no change │
│ QQuery 21 │  519.50 ms │                                    516.38 ms │     no change │
│ QQuery 22 │ 1034.46 ms │                                   1025.43 ms │     no change │
│ QQuery 23 │ 3146.89 ms │                                   3253.04 ms │     no change │
│ QQuery 24 │   40.24 ms │                                     40.52 ms │     no change │
│ QQuery 25 │  107.78 ms │                                    107.77 ms │     no change │
│ QQuery 26 │   41.76 ms │                                     41.48 ms │     no change │
│ QQuery 27 │  524.44 ms │                                    515.58 ms │     no change │
│ QQuery 28 │ 2967.68 ms │                                   2922.49 ms │     no change │
│ QQuery 29 │   39.89 ms │                                     39.04 ms │     no change │
│ QQuery 30 │  321.25 ms │                                    314.01 ms │     no change │
│ QQuery 31 │  289.23 ms │                                    283.50 ms │     no change │
│ QQuery 32 │ 1080.02 ms │                                   1161.49 ms │  1.08x slower │
│ QQuery 33 │ 1677.44 ms │                                   1613.67 ms │     no change │
│ QQuery 34 │ 1677.67 ms │                                   1677.54 ms │     no change │
│ QQuery 35 │  324.54 ms │                                    315.88 ms │     no change │
│ QQuery 36 │   74.09 ms │                                     70.39 ms │ +1.05x faster │
│ QQuery 37 │   36.70 ms │                                     35.46 ms │     no change │
│ QQuery 38 │   44.59 ms │                                     43.29 ms │     no change │
│ QQuery 39 │  144.24 ms │                                    150.94 ms │     no change │
│ QQuery 40 │   14.66 ms │                                     14.47 ms │     no change │
│ QQuery 41 │   14.17 ms │                                     14.13 ms │     no change │
│ QQuery 42 │   13.89 ms │                                     13.98 ms │     no change │
└───────────┴────────────┴──────────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                                           ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                                           │ 20134.28ms │
│ Total Time (rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2)   │ 20195.98ms │
│ Average Time (HEAD)                                         │   468.24ms │
│ Average Time (rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2) │   469.67ms │
│ Queries Faster                                              │          1 │
│ Queries Slower                                              │          1 │
│ Queries with No Change                                      │         41 │
│ Queries with Failure                                        │          0 │
└─────────────────────────────────────────────────────────────┴────────────┘

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

Comparing HEAD and rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                   HEAD ┃ rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2 ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0  │           1.22 / 4.53 ±6.46 / 17.45 ms │                 1.23 / 4.58 ±6.52 / 17.62 ms │     no change │
│ QQuery 1  │         11.97 / 12.10 ±0.10 / 12.23 ms │               11.95 / 12.18 ±0.14 / 12.31 ms │     no change │
│ QQuery 2  │         35.22 / 35.70 ±0.38 / 36.21 ms │               35.55 / 35.69 ±0.18 / 36.03 ms │     no change │
│ QQuery 3  │         31.25 / 32.16 ±0.65 / 33.28 ms │               31.49 / 32.28 ±0.96 / 34.12 ms │     no change │
│ QQuery 4  │      254.16 / 258.44 ±3.95 / 264.11 ms │            251.48 / 256.69 ±2.86 / 260.11 ms │     no change │
│ QQuery 5  │      286.22 / 289.48 ±2.86 / 293.78 ms │            287.34 / 291.38 ±3.80 / 297.54 ms │     no change │
│ QQuery 6  │           1.27 / 4.47 ±6.01 / 16.49 ms │                  1.27 / 1.44 ±0.27 / 1.98 ms │ +3.10x faster │
│ QQuery 7  │         13.58 / 13.79 ±0.17 / 14.05 ms │               13.31 / 13.37 ±0.03 / 13.40 ms │     no change │
│ QQuery 8  │      356.39 / 361.64 ±3.65 / 367.18 ms │            351.54 / 355.09 ±4.51 / 363.49 ms │     no change │
│ QQuery 9  │      491.74 / 499.86 ±5.61 / 508.84 ms │            492.72 / 500.90 ±8.27 / 514.64 ms │     no change │
│ QQuery 10 │         66.50 / 67.00 ±0.58 / 68.09 ms │               65.66 / 67.42 ±1.52 / 70.12 ms │     no change │
│ QQuery 11 │         76.48 / 80.06 ±5.44 / 90.84 ms │               76.53 / 77.19 ±0.38 / 77.68 ms │     no change │
│ QQuery 12 │      274.95 / 280.58 ±4.50 / 285.19 ms │           273.37 / 287.32 ±14.66 / 314.56 ms │     no change │
│ QQuery 13 │      381.21 / 388.56 ±8.02 / 403.40 ms │           369.83 / 382.26 ±15.31 / 411.90 ms │     no change │
│ QQuery 14 │      288.62 / 299.13 ±5.51 / 303.34 ms │            293.72 / 302.44 ±9.09 / 317.29 ms │     no change │
│ QQuery 15 │      307.85 / 316.11 ±5.69 / 325.39 ms │           303.43 / 319.87 ±19.21 / 347.32 ms │     no change │
│ QQuery 16 │     642.47 / 661.33 ±15.29 / 688.55 ms │            653.66 / 661.03 ±4.02 / 664.67 ms │     no change │
│ QQuery 17 │      652.40 / 656.89 ±4.34 / 663.37 ms │           659.88 / 671.86 ±11.90 / 689.98 ms │     no change │
│ QQuery 18 │  1279.06 / 1330.81 ±31.57 / 1366.82 ms │        1303.72 / 1319.24 ±15.34 / 1348.17 ms │     no change │
│ QQuery 19 │         28.30 / 31.16 ±5.19 / 41.53 ms │               27.65 / 27.94 ±0.26 / 28.39 ms │ +1.12x faster │
│ QQuery 20 │     518.31 / 546.31 ±30.38 / 598.05 ms │           520.13 / 549.59 ±43.19 / 634.29 ms │     no change │
│ QQuery 21 │      519.50 / 523.10 ±2.99 / 528.30 ms │            516.38 / 524.48 ±5.64 / 531.02 ms │     no change │
│ QQuery 22 │   1034.46 / 1041.83 ±6.04 / 1051.81 ms │        1025.43 / 1077.23 ±55.67 / 1156.18 ms │     no change │
│ QQuery 23 │ 3146.89 / 3311.14 ±143.33 / 3570.25 ms │       3253.04 / 3432.34 ±277.10 / 3980.76 ms │     no change │
│ QQuery 24 │       40.24 / 59.78 ±23.81 / 100.34 ms │             40.52 / 55.61 ±28.81 / 113.21 ms │ +1.07x faster │
│ QQuery 25 │     107.78 / 168.86 ±80.36 / 312.36 ms │          107.77 / 255.51 ±258.56 / 769.53 ms │  1.51x slower │
│ QQuery 26 │         41.76 / 42.64 ±1.04 / 44.34 ms │               41.48 / 42.17 ±0.61 / 43.28 ms │     no change │
│ QQuery 27 │      524.44 / 527.78 ±3.81 / 534.43 ms │           515.58 / 552.99 ±40.99 / 621.81 ms │     no change │
│ QQuery 28 │  2967.68 / 2983.78 ±15.82 / 3007.97 ms │        2922.49 / 2945.00 ±24.30 / 2987.34 ms │     no change │
│ QQuery 29 │         39.89 / 47.62 ±9.38 / 64.59 ms │               39.04 / 39.36 ±0.26 / 39.74 ms │ +1.21x faster │
│ QQuery 30 │     321.25 / 340.50 ±22.18 / 375.64 ms │            314.01 / 323.25 ±8.94 / 334.40 ms │ +1.05x faster │
│ QQuery 31 │      289.23 / 303.96 ±8.70 / 315.15 ms │           283.50 / 307.54 ±16.33 / 328.82 ms │     no change │
│ QQuery 32 │  1080.02 / 1136.62 ±65.51 / 1256.39 ms │       1161.49 / 1303.38 ±107.13 / 1434.63 ms │  1.15x slower │
│ QQuery 33 │  1677.44 / 1725.49 ±74.32 / 1873.27 ms │        1613.67 / 1672.08 ±52.15 / 1752.51 ms │     no change │
│ QQuery 34 │  1677.67 / 1735.16 ±45.22 / 1785.29 ms │        1677.54 / 1703.13 ±16.13 / 1728.05 ms │     no change │
│ QQuery 35 │     324.54 / 388.12 ±78.91 / 525.50 ms │           315.88 / 385.27 ±81.51 / 539.10 ms │     no change │
│ QQuery 36 │         74.09 / 82.21 ±7.39 / 94.66 ms │               70.39 / 77.14 ±5.89 / 86.93 ms │ +1.07x faster │
│ QQuery 37 │         36.70 / 42.36 ±5.78 / 50.63 ms │               35.46 / 38.59 ±3.43 / 45.27 ms │ +1.10x faster │
│ QQuery 38 │         44.59 / 50.19 ±7.01 / 63.67 ms │               43.29 / 49.00 ±6.16 / 57.20 ms │     no change │
│ QQuery 39 │     144.24 / 162.05 ±11.01 / 176.87 ms │            150.94 / 155.31 ±3.50 / 160.84 ms │     no change │
│ QQuery 40 │         14.66 / 15.44 ±0.68 / 16.60 ms │              14.47 / 19.83 ±10.23 / 40.28 ms │  1.28x slower │
│ QQuery 41 │         14.17 / 16.96 ±4.48 / 25.79 ms │               14.13 / 14.93 ±0.91 / 16.28 ms │ +1.14x faster │
│ QQuery 42 │         13.89 / 13.93 ±0.03 / 13.97 ms │               13.98 / 14.89 ±1.45 / 17.78 ms │  1.07x slower │
└───────────┴────────────────────────────────────────┴──────────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                                           ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                                           │ 20889.61ms │
│ Total Time (rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2)   │ 21158.76ms │
│ Average Time (HEAD)                                         │   485.80ms │
│ Average Time (rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2) │   492.06ms │
│ Queries Faster                                              │          8 │
│ Queries Slower                                              │          4 │
│ Queries with No Change                                      │         31 │
│ Queries with Failure                                        │          0 │
└─────────────────────────────────────────────────────────────┴────────────┘

Memory Pool Peaks

Peak MemoryPool reservation per query — what DataFusion's accounting believes it reserved. Recorded only for benchmarks that write a results JSON (the dfbench suites, and the suites bench.sh runs through the Criterion SQL harness since #25644), and only under a memory limit: DATAFUSION_RUNTIME_MEMORY_LIMIT, or one the suite sets itself.

Base: a992dc9dbe6a7a0b2cc909f42f8bb8440b0bd97c | Changed: a992dc9dbe6a7a0b2cc909f42f8bb8440b0bd97c

clickbench_partitioned

Query Base Changed Change
Query 0 0 B 0 B 0.0%
Query 1 104 B 104 B +0.0%
Query 2 936 B 936 B +0.0%
Query 3 312 B 312 B +0.0%
Query 4 756.0 MiB 756.4 MiB +0.1%
Query 5 1.2 GiB 1.2 GiB -0.6%
Query 6 0 B 0 B 0.0%
Query 7 50.0 MiB 60.1 MiB +20.1%
Query 8 970.4 MiB 966.2 MiB -0.4%
Query 9 593.7 MiB 635.6 MiB +7.0%
Query 10 113.6 MiB 116.4 MiB +2.4%
Query 11 117.1 MiB 118.7 MiB +1.4%
Query 12 1.3 GiB 1.3 GiB -0.3%
Query 13 1.5 GiB 1.6 GiB +1.0%
Query 14 1.3 GiB 1.3 GiB +3.3%
Query 15 1.2 GiB 1.1 GiB -2.6%
Query 16 3.4 GiB 3.5 GiB +2.8%
Query 17 3.4 GiB 3.5 GiB +2.0%
Query 18 8.3 GiB 8.1 GiB -2.8%
Query 19 0 B 0 B 0.0%
Query 20 104 B 104 B +0.0%
Query 21 3.7 MiB 3.7 MiB +0.0%
Query 22 4.6 MiB 4.0 MiB -11.2%
Query 23 4.8 GiB 4.0 GiB -16.6%
Query 24 60.5 MiB 59.2 MiB -2.1%
Query 25 167.0 MiB 161.8 MiB -3.1%
Query 26 58.2 MiB 58.5 MiB +0.6%
Query 27 2.5 MiB 2.4 MiB -1.5%
Query 28 1.7 GiB 1.8 GiB +0.5%
Query 29 624 B 624 B +0.0%
Query 30 688.3 MiB 717.5 MiB +4.2%
Query 31 1.6 GiB 1.5 GiB -5.8%
Query 32 7.1 GiB 7.2 GiB +0.2%
Query 33 7.8 GiB 8.2 GiB +4.9%
Query 34 7.7 GiB 7.9 GiB +2.3%
Query 35 598.6 MiB 601.6 MiB +0.5%
Query 36 127.0 MiB 116.9 MiB -8.0%
Query 37 7.3 MiB 6.6 MiB -8.6%
Query 38 5.6 MiB 5.6 MiB -0.0%
Query 39 296.8 MiB 297.1 MiB +0.1%
Query 40 2.5 MiB 2.1 MiB -17.8%
Query 41 3.1 MiB 3.1 MiB +0.0%
Query 42 1.7 MiB 1.7 MiB +4.1%

Pool accounting vs. process RSS

Max pool peak is the largest reservation any single query in the run reached; peak RSS covers the whole invocation, including data loading and allocator retention, and the two high-water marks need not coincide in time. The gap is therefore an upper bound on what the pool did not account for, not a measurement of it.

Benchmark Side Max pool peak Peak RSS Gap RSS / pool
clickbench_partitioned base (a992dc9dbe6a7a0b2cc909f42f8bb8440b0bd97c) 8.3 GiB 17.9 GiB 9.6 GiB 2.2×
clickbench_partitioned changed (a992dc9dbe6a7a0b2cc909f42f8bb8440b0bd97c) 8.2 GiB 18.6 GiB 10.4 GiB 2.3×
Resource Usage

clickbench_partitioned — base (merge-base)

Metric Value
Wall time 110.0s
Peak memory 17.9 GiB
Avg memory 5.6 GiB
CPU user 1028.9s
CPU sys 102.3s
Peak spill 0 B

clickbench_partitioned — branch

Metric Value
Wall time 110.0s
Peak memory 18.6 GiB
Avg memory 5.9 GiB
CPU user 1025.5s
CPU sys 110.2s
Peak spill 0 B

File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark completed (GKE) | trigger

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

Comparing a992dc9 (a992dc9) to a992dc9 diff

Run configuration
run benchmark clickbench_partitioned
env:
  BENCHMARK_PARQUET_WITH_NDV: "true"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "a992dc9dbe6a7a0b2cc909f42f8bb8440b0bd97c"
changed:
  ref: "a992dc9dbe6a7a0b2cc909f42f8bb8440b0bd97c"
  env:
    DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
    DATAFUSION_EXECUTION_PARQUET_RLE_TO_DICTIONARY_MAX_DISTINCT_VALUES: "218"
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 rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Query     ┃       HEAD ┃ rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2 ┃    Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ QQuery 0  │    1.19 ms │                                      1.19 ms │ no change │
│ QQuery 1  │   12.12 ms │                                     12.06 ms │ no change │
│ QQuery 2  │   35.07 ms │                                     35.46 ms │ no change │
│ QQuery 3  │   31.10 ms │                                     31.53 ms │ no change │
│ QQuery 4  │  243.23 ms │                                    243.98 ms │ no change │
│ QQuery 5  │  280.57 ms │                                    277.19 ms │ no change │
│ QQuery 6  │    1.25 ms │                                      1.25 ms │ no change │
│ QQuery 7  │   13.25 ms │                                     13.21 ms │ no change │
│ QQuery 8  │  347.09 ms │                                    339.46 ms │ no change │
│ QQuery 9  │  476.40 ms │                                    475.07 ms │ no change │
│ QQuery 10 │   64.61 ms │                                     64.61 ms │ no change │
│ QQuery 11 │   75.30 ms │                                     75.79 ms │ no change │
│ QQuery 12 │  265.73 ms │                                    268.44 ms │ no change │
│ QQuery 13 │  365.00 ms │                                    373.23 ms │ no change │
│ QQuery 14 │  291.26 ms │                                    290.25 ms │ no change │
│ QQuery 15 │  291.18 ms │                                    289.77 ms │ no change │
│ QQuery 16 │  627.97 ms │                                    624.61 ms │ no change │
│ QQuery 17 │  631.16 ms │                                    632.33 ms │ no change │
│ QQuery 18 │ 1245.90 ms │                                   1246.00 ms │ no change │
│ QQuery 19 │   28.10 ms │                                     28.21 ms │ no change │
│ QQuery 20 │  521.16 ms │                                    521.38 ms │ no change │
│ QQuery 21 │  518.12 ms │                                    511.80 ms │ no change │
│ QQuery 22 │ 1026.29 ms │                                   1020.72 ms │ no change │
│ QQuery 23 │ 3208.72 ms │                                   3156.00 ms │ no change │
│ QQuery 24 │   41.76 ms │                                     41.51 ms │ no change │
│ QQuery 25 │  107.71 ms │                                    105.92 ms │ no change │
│ QQuery 26 │   41.88 ms │                                     41.76 ms │ no change │
│ QQuery 27 │  513.36 ms │                                    514.86 ms │ no change │
│ QQuery 28 │ 2937.98 ms │                                   2899.57 ms │ no change │
│ QQuery 29 │   39.16 ms │                                     39.67 ms │ no change │
│ QQuery 30 │  308.10 ms │                                    307.00 ms │ no change │
│ QQuery 31 │  279.19 ms │                                    276.37 ms │ no change │
│ QQuery 32 │ 1133.44 ms │                                   1097.17 ms │ no change │
│ QQuery 33 │ 1609.24 ms │                                   1551.72 ms │ no change │
│ QQuery 34 │ 1620.13 ms │                                   1611.98 ms │ no change │
│ QQuery 35 │  313.38 ms │                                    309.67 ms │ no change │
│ QQuery 36 │   72.79 ms │                                     70.34 ms │ no change │
│ QQuery 37 │   35.58 ms │                                     35.74 ms │ no change │
│ QQuery 38 │   41.59 ms │                                     41.43 ms │ no change │
│ QQuery 39 │  148.06 ms │                                    150.04 ms │ no change │
│ QQuery 40 │   14.83 ms │                                     14.42 ms │ no change │
│ QQuery 41 │   13.94 ms │                                     13.72 ms │ no change │
│ QQuery 42 │   13.62 ms │                                     13.38 ms │ no change │
└───────────┴────────────┴──────────────────────────────────────────────┴───────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                                           ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                                           │ 19887.48ms │
│ Total Time (rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2)   │ 19669.78ms │
│ Average Time (HEAD)                                         │   462.50ms │
│ Average Time (rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2) │   457.44ms │
│ Queries Faster                                              │          0 │
│ Queries Slower                                              │          0 │
│ Queries with No Change                                      │         43 │
│ Queries with Failure                                        │          0 │
└─────────────────────────────────────────────────────────────┴────────────┘

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

Comparing HEAD and rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                   HEAD ┃ rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2 ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0  │           1.19 / 4.44 ±6.32 / 17.08 ms │                 1.19 / 4.43 ±6.31 / 17.04 ms │     no change │
│ QQuery 1  │         12.12 / 12.21 ±0.07 / 12.30 ms │               12.06 / 12.13 ±0.06 / 12.24 ms │     no change │
│ QQuery 2  │         35.07 / 35.28 ±0.17 / 35.49 ms │               35.46 / 35.92 ±0.36 / 36.53 ms │     no change │
│ QQuery 3  │         31.10 / 31.87 ±0.88 / 33.25 ms │               31.53 / 31.88 ±0.34 / 32.34 ms │     no change │
│ QQuery 4  │      243.23 / 247.43 ±3.50 / 251.96 ms │            243.98 / 246.47 ±2.23 / 250.46 ms │     no change │
│ QQuery 5  │      280.57 / 283.84 ±2.54 / 287.72 ms │            277.19 / 278.92 ±1.67 / 282.00 ms │     no change │
│ QQuery 6  │            1.25 / 1.41 ±0.24 / 1.89 ms │                  1.25 / 1.40 ±0.24 / 1.88 ms │     no change │
│ QQuery 7  │         13.25 / 13.53 ±0.17 / 13.78 ms │               13.21 / 15.05 ±3.15 / 21.33 ms │  1.11x slower │
│ QQuery 8  │      347.09 / 351.28 ±3.74 / 357.98 ms │            339.46 / 344.73 ±4.07 / 349.38 ms │     no change │
│ QQuery 9  │      476.40 / 487.08 ±8.01 / 499.79 ms │            475.07 / 481.22 ±3.32 / 484.72 ms │     no change │
│ QQuery 10 │         64.61 / 65.42 ±0.74 / 66.49 ms │               64.61 / 68.21 ±4.73 / 77.42 ms │     no change │
│ QQuery 11 │         75.30 / 75.87 ±0.50 / 76.74 ms │               75.79 / 76.29 ±0.55 / 77.28 ms │     no change │
│ QQuery 12 │      265.73 / 273.05 ±4.90 / 280.13 ms │            268.44 / 271.66 ±2.79 / 276.23 ms │     no change │
│ QQuery 13 │      365.00 / 378.01 ±7.12 / 384.10 ms │           373.23 / 388.22 ±12.53 / 408.28 ms │     no change │
│ QQuery 14 │      291.26 / 295.67 ±5.19 / 304.49 ms │           290.25 / 302.44 ±17.40 / 335.69 ms │     no change │
│ QQuery 15 │      291.18 / 294.53 ±2.15 / 297.00 ms │            289.77 / 296.32 ±8.30 / 311.71 ms │     no change │
│ QQuery 16 │     627.97 / 641.00 ±10.98 / 654.64 ms │            624.61 / 632.87 ±4.98 / 639.09 ms │     no change │
│ QQuery 17 │      631.16 / 644.22 ±7.23 / 652.12 ms │           632.33 / 658.56 ±33.09 / 723.22 ms │     no change │
│ QQuery 18 │  1245.90 / 1266.85 ±20.63 / 1304.53 ms │        1246.00 / 1269.33 ±27.40 / 1320.55 ms │     no change │
│ QQuery 19 │         28.10 / 28.28 ±0.19 / 28.63 ms │               28.21 / 28.67 ±0.49 / 29.41 ms │     no change │
│ QQuery 20 │     521.16 / 534.73 ±11.11 / 551.84 ms │            521.38 / 526.91 ±4.32 / 532.70 ms │     no change │
│ QQuery 21 │      518.12 / 526.28 ±9.43 / 544.26 ms │            511.80 / 525.06 ±8.02 / 535.61 ms │     no change │
│ QQuery 22 │  1026.29 / 1057.22 ±17.55 / 1079.39 ms │        1020.72 / 1063.68 ±36.49 / 1119.66 ms │     no change │
│ QQuery 23 │  3208.72 / 3326.29 ±82.70 / 3464.74 ms │       3156.00 / 3312.89 ±221.56 / 3747.11 ms │     no change │
│ QQuery 24 │       41.76 / 79.39 ±49.04 / 165.59 ms │             41.51 / 87.83 ±66.74 / 215.71 ms │  1.11x slower │
│ QQuery 25 │     107.71 / 169.09 ±86.82 / 331.26 ms │            105.92 / 106.70 ±0.47 / 107.20 ms │ +1.58x faster │
│ QQuery 26 │         41.88 / 42.32 ±0.50 / 43.21 ms │             41.76 / 55.58 ±26.51 / 108.59 ms │  1.31x slower │
│ QQuery 27 │      513.36 / 522.50 ±8.02 / 533.00 ms │            514.86 / 523.33 ±8.93 / 540.37 ms │     no change │
│ QQuery 28 │  2937.98 / 2972.66 ±27.13 / 3020.75 ms │        2899.57 / 2922.02 ±12.48 / 2936.71 ms │     no change │
│ QQuery 29 │       39.16 / 67.43 ±55.12 / 177.65 ms │              39.67 / 47.93 ±16.22 / 80.37 ms │ +1.41x faster │
│ QQuery 30 │     308.10 / 323.54 ±13.40 / 343.75 ms │           307.00 / 318.04 ±14.02 / 344.75 ms │     no change │
│ QQuery 31 │      279.19 / 293.55 ±9.11 / 302.89 ms │            276.37 / 292.17 ±9.33 / 304.48 ms │     no change │
│ QQuery 32 │  1133.44 / 1224.21 ±57.25 / 1286.44 ms │        1097.17 / 1149.81 ±44.41 / 1218.89 ms │ +1.06x faster │
│ QQuery 33 │ 1609.24 / 1699.04 ±137.18 / 1971.39 ms │       1551.72 / 1689.40 ±144.81 / 1969.37 ms │     no change │
│ QQuery 34 │ 1620.13 / 1720.51 ±109.57 / 1932.27 ms │        1611.98 / 1642.61 ±31.83 / 1697.80 ms │     no change │
│ QQuery 35 │     313.38 / 351.70 ±46.00 / 431.35 ms │          309.67 / 401.38 ±107.50 / 556.43 ms │  1.14x slower │
│ QQuery 36 │       72.79 / 82.02 ±11.91 / 105.38 ms │               70.34 / 76.93 ±5.02 / 83.74 ms │ +1.07x faster │
│ QQuery 37 │         35.58 / 37.55 ±1.71 / 40.05 ms │               35.74 / 41.25 ±9.42 / 60.07 ms │  1.10x slower │
│ QQuery 38 │         41.59 / 47.51 ±4.05 / 52.95 ms │               41.43 / 43.81 ±1.58 / 45.37 ms │ +1.08x faster │
│ QQuery 39 │      148.06 / 152.88 ±5.66 / 163.70 ms │            150.04 / 159.66 ±6.51 / 170.05 ms │     no change │
│ QQuery 40 │         14.83 / 15.30 ±0.76 / 16.80 ms │               14.42 / 14.90 ±0.51 / 15.86 ms │     no change │
│ QQuery 41 │         13.94 / 19.49 ±9.02 / 37.33 ms │               13.72 / 13.90 ±0.17 / 14.23 ms │ +1.40x faster │
│ QQuery 42 │         13.62 / 15.51 ±2.46 / 20.28 ms │               13.38 / 13.57 ±0.14 / 13.72 ms │ +1.14x faster │
└───────────┴────────────────────────────────────────┴──────────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                                           ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                                           │ 20711.98ms │
│ Total Time (rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2)   │ 20474.07ms │
│ Average Time (HEAD)                                         │   481.67ms │
│ Average Time (rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2) │   476.14ms │
│ Queries Faster                                              │          7 │
│ Queries Slower                                              │          5 │
│ Queries with No Change                                      │         31 │
│ Queries with Failure                                        │          0 │
└─────────────────────────────────────────────────────────────┴────────────┘

Memory Pool Peaks

Peak MemoryPool reservation per query — what DataFusion's accounting believes it reserved. Recorded only for benchmarks that write a results JSON (the dfbench suites, and the suites bench.sh runs through the Criterion SQL harness since #25644), and only under a memory limit: DATAFUSION_RUNTIME_MEMORY_LIMIT, or one the suite sets itself.

Base: a992dc9dbe6a7a0b2cc909f42f8bb8440b0bd97c | Changed: a992dc9dbe6a7a0b2cc909f42f8bb8440b0bd97c

clickbench_partitioned

Query Base Changed Change
Query 0 0 B 0 B 0.0%
Query 1 104 B 104 B +0.0%
Query 2 936 B 936 B +0.0%
Query 3 312 B 312 B +0.0%
Query 4 757.7 MiB 755.4 MiB -0.3%
Query 5 1.2 GiB 1.2 GiB +0.5%
Query 6 0 B 0 B 0.0%
Query 7 50.3 MiB 70.0 MiB +39.3%
Query 8 955.8 MiB 952.1 MiB -0.4%
Query 9 593.9 MiB 593.6 MiB -0.1%
Query 10 113.2 MiB 115.5 MiB +2.0%
Query 11 116.7 MiB 115.8 MiB -0.8%
Query 12 1.4 GiB 1.4 GiB +0.2%
Query 13 1.6 GiB 1.6 GiB -1.8%
Query 14 1.3 GiB 1.3 GiB -0.9%
Query 15 1.2 GiB 1.1 GiB -1.4%
Query 16 3.5 GiB 3.4 GiB -3.2%
Query 17 3.4 GiB 3.5 GiB +1.5%
Query 18 8.3 GiB 8.3 GiB -0.1%
Query 19 0 B 0 B 0.0%
Query 20 104 B 104 B +0.0%
Query 21 4.0 MiB 3.7 MiB -8.5%
Query 22 3.5 MiB 4.7 MiB +32.8%
Query 23 3.8 GiB 2.9 GiB -23.7%
Query 24 64.8 MiB 60.1 MiB -7.2%
Query 25 162.2 MiB 153.8 MiB -5.2%
Query 26 57.9 MiB 57.9 MiB +0.0%
Query 27 2.5 MiB 2.7 MiB +8.9%
Query 28 1.7 GiB 1.7 GiB +0.7%
Query 29 624 B 624 B +0.0%
Query 30 676.8 MiB 723.8 MiB +6.9%
Query 31 1.5 GiB 1.5 GiB +0.0%
Query 32 7.2 GiB 7.2 GiB -0.3%
Query 33 7.6 GiB 7.8 GiB +2.9%
Query 34 7.8 GiB 7.9 GiB +0.5%
Query 35 597.7 MiB 611.3 MiB +2.3%
Query 36 118.4 MiB 118.8 MiB +0.3%
Query 37 6.6 MiB 7.3 MiB +9.4%
Query 38 5.4 MiB 5.6 MiB +4.4%
Query 39 297.1 MiB 297.9 MiB +0.3%
Query 40 2.3 MiB 2.5 MiB +10.3%
Query 41 3.1 MiB 3.1 MiB -0.0%
Query 42 1.7 MiB 1.7 MiB +1.3%

Pool accounting vs. process RSS

Max pool peak is the largest reservation any single query in the run reached; peak RSS covers the whole invocation, including data loading and allocator retention, and the two high-water marks need not coincide in time. The gap is therefore an upper bound on what the pool did not account for, not a measurement of it.

Benchmark Side Max pool peak Peak RSS Gap RSS / pool
clickbench_partitioned base (a992dc9dbe6a7a0b2cc909f42f8bb8440b0bd97c) 8.3 GiB 18.1 GiB 9.8 GiB 2.2×
clickbench_partitioned changed (a992dc9dbe6a7a0b2cc909f42f8bb8440b0bd97c) 8.3 GiB 18.4 GiB 10.1 GiB 2.2×
Resource Usage

clickbench_partitioned — base (merge-base)

Metric Value
Wall time 105.0s
Peak memory 18.1 GiB
Avg memory 6.0 GiB
CPU user 1011.8s
CPU sys 102.5s
Peak spill 0 B

clickbench_partitioned — branch

Metric Value
Wall time 105.0s
Peak memory 18.4 GiB
Avg memory 6.2 GiB
CPU user 1006.7s
CPU sys 101.2s
Peak spill 0 B

File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark completed (GKE) | trigger

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

Comparing a992dc9 (a992dc9) to a992dc9 diff

Run configuration
run benchmark clickbench_partitioned
env:
  BENCHMARK_PARQUET_WITH_NDV: "true"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "a992dc9dbe6a7a0b2cc909f42f8bb8440b0bd97c"
changed:
  ref: "a992dc9dbe6a7a0b2cc909f42f8bb8440b0bd97c"
  env:
    DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
    DATAFUSION_EXECUTION_PARQUET_RLE_TO_DICTIONARY_MAX_DISTINCT_VALUES: "218"
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 rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓
┃ Query     ┃       HEAD ┃ rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2 ┃       Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━┩
│ QQuery 0  │    1.15 ms │                                      1.18 ms │    no change │
│ QQuery 1  │   11.53 ms │                                     11.55 ms │    no change │
│ QQuery 2  │   34.89 ms │                                     34.63 ms │    no change │
│ QQuery 3  │   31.05 ms │                                     30.75 ms │    no change │
│ QQuery 4  │  232.05 ms │                                    232.47 ms │    no change │
│ QQuery 5  │  270.21 ms │                                    273.48 ms │    no change │
│ QQuery 6  │    1.21 ms │                                      1.22 ms │    no change │
│ QQuery 7  │   12.62 ms │                                     12.53 ms │    no change │
│ QQuery 8  │  326.84 ms │                                    325.60 ms │    no change │
│ QQuery 9  │  459.89 ms │                                    459.31 ms │    no change │
│ QQuery 10 │   63.21 ms │                                     64.04 ms │    no change │
│ QQuery 11 │   74.64 ms │                                     75.14 ms │    no change │
│ QQuery 12 │  256.49 ms │                                    260.33 ms │    no change │
│ QQuery 13 │  354.68 ms │                                    364.49 ms │    no change │
│ QQuery 14 │  275.59 ms │                                    274.55 ms │    no change │
│ QQuery 15 │  281.68 ms │                                    282.69 ms │    no change │
│ QQuery 16 │  611.55 ms │                                    609.73 ms │    no change │
│ QQuery 17 │  618.04 ms │                                    617.60 ms │    no change │
│ QQuery 18 │ 1184.14 ms │                                   1211.78 ms │    no change │
│ QQuery 19 │   27.67 ms │                                     27.38 ms │    no change │
│ QQuery 20 │  514.48 ms │                                    521.50 ms │    no change │
│ QQuery 21 │  509.17 ms │                                    509.66 ms │    no change │
│ QQuery 22 │ 1033.73 ms │                                    993.51 ms │    no change │
│ QQuery 23 │ 3113.93 ms │                                   3132.04 ms │    no change │
│ QQuery 24 │   39.95 ms │                                     40.58 ms │    no change │
│ QQuery 25 │  105.15 ms │                                    104.90 ms │    no change │
│ QQuery 26 │   41.00 ms │                                     40.89 ms │    no change │
│ QQuery 27 │  515.77 ms │                                    511.78 ms │    no change │
│ QQuery 28 │ 2882.73 ms │                                   2872.32 ms │    no change │
│ QQuery 29 │   38.90 ms │                                     38.51 ms │    no change │
│ QQuery 30 │  302.36 ms │                                    303.42 ms │    no change │
│ QQuery 31 │  285.80 ms │                                    286.85 ms │    no change │
│ QQuery 32 │ 1148.79 ms │                                   1115.76 ms │    no change │
│ QQuery 33 │ 1535.13 ms │                                   1555.78 ms │    no change │
│ QQuery 34 │ 1552.77 ms │                                   1577.18 ms │    no change │
│ QQuery 35 │  290.40 ms │                                    294.12 ms │    no change │
│ QQuery 36 │   67.37 ms │                                     65.58 ms │    no change │
│ QQuery 37 │   34.37 ms │                                     36.79 ms │ 1.07x slower │
│ QQuery 38 │   44.48 ms │                                     42.31 ms │    no change │
│ QQuery 39 │  131.26 ms │                                    139.15 ms │ 1.06x slower │
│ QQuery 40 │   13.72 ms │                                     13.74 ms │    no change │
│ QQuery 41 │   13.26 ms │                                     13.02 ms │    no change │
│ QQuery 42 │   12.83 ms │                                     12.81 ms │    no change │
└───────────┴────────────┴──────────────────────────────────────────────┴──────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                                           ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                                           │ 19356.46ms │
│ Total Time (rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2)   │ 19392.65ms │
│ Average Time (HEAD)                                         │   450.15ms │
│ Average Time (rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2) │   450.99ms │
│ Queries Faster                                              │          0 │
│ Queries Slower                                              │          2 │
│ Queries with No Change                                      │         41 │
│ Queries with Failure                                        │          0 │
└─────────────────────────────────────────────────────────────┴────────────┘

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

Comparing HEAD and rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                   HEAD ┃ rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2 ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0  │           1.15 / 4.23 ±6.06 / 16.34 ms │                 1.18 / 4.25 ±6.07 / 16.38 ms │     no change │
│ QQuery 1  │         11.53 / 11.74 ±0.13 / 11.89 ms │               11.55 / 11.75 ±0.17 / 12.00 ms │     no change │
│ QQuery 2  │         34.89 / 35.36 ±0.33 / 35.75 ms │               34.63 / 34.91 ±0.26 / 35.38 ms │     no change │
│ QQuery 3  │         31.05 / 31.58 ±0.55 / 32.62 ms │               30.75 / 31.07 ±0.33 / 31.67 ms │     no change │
│ QQuery 4  │      232.05 / 236.28 ±4.54 / 244.71 ms │            232.47 / 237.42 ±4.01 / 242.36 ms │     no change │
│ QQuery 5  │      270.21 / 274.61 ±3.79 / 279.07 ms │            273.48 / 275.39 ±1.97 / 278.50 ms │     no change │
│ QQuery 6  │            1.21 / 1.37 ±0.24 / 1.84 ms │                  1.22 / 1.42 ±0.23 / 1.86 ms │     no change │
│ QQuery 7  │         12.62 / 12.70 ±0.07 / 12.80 ms │               12.53 / 12.80 ±0.15 / 12.97 ms │     no change │
│ QQuery 8  │      326.84 / 332.22 ±3.66 / 337.25 ms │            325.60 / 331.35 ±5.93 / 342.82 ms │     no change │
│ QQuery 9  │      459.89 / 465.79 ±6.02 / 477.26 ms │            459.31 / 469.12 ±8.17 / 483.24 ms │     no change │
│ QQuery 10 │         63.21 / 65.18 ±2.95 / 71.05 ms │               64.04 / 68.20 ±6.64 / 81.41 ms │     no change │
│ QQuery 11 │         74.64 / 75.95 ±1.83 / 79.56 ms │               75.14 / 77.40 ±4.27 / 85.94 ms │     no change │
│ QQuery 12 │      256.49 / 260.87 ±3.83 / 267.84 ms │            260.33 / 263.36 ±3.17 / 269.32 ms │     no change │
│ QQuery 13 │     354.68 / 368.96 ±10.61 / 383.56 ms │            364.49 / 376.75 ±7.86 / 388.10 ms │     no change │
│ QQuery 14 │      275.59 / 283.54 ±7.56 / 293.28 ms │            274.55 / 280.55 ±7.32 / 294.63 ms │     no change │
│ QQuery 15 │     281.68 / 294.76 ±12.38 / 310.81 ms │           282.69 / 291.08 ±11.18 / 313.10 ms │     no change │
│ QQuery 16 │      611.55 / 618.34 ±4.50 / 625.18 ms │           609.73 / 627.29 ±13.72 / 649.85 ms │     no change │
│ QQuery 17 │      618.04 / 624.15 ±7.76 / 638.98 ms │            617.60 / 630.36 ±6.91 / 637.75 ms │     no change │
│ QQuery 18 │  1184.14 / 1224.58 ±24.56 / 1253.68 ms │        1211.78 / 1235.32 ±21.90 / 1266.19 ms │     no change │
│ QQuery 19 │         27.67 / 29.94 ±3.87 / 37.66 ms │               27.38 / 29.01 ±2.84 / 34.68 ms │     no change │
│ QQuery 20 │      514.48 / 521.57 ±7.05 / 534.11 ms │           521.50 / 531.07 ±10.84 / 546.97 ms │     no change │
│ QQuery 21 │      509.17 / 518.29 ±5.31 / 524.18 ms │            509.66 / 521.09 ±6.12 / 526.35 ms │     no change │
│ QQuery 22 │  1033.73 / 1047.70 ±14.36 / 1073.68 ms │          993.51 / 1003.51 ±6.08 / 1012.23 ms │     no change │
│ QQuery 23 │  3113.93 / 3266.69 ±97.36 / 3417.49 ms │       3132.04 / 3376.10 ±217.37 / 3672.53 ms │     no change │
│ QQuery 24 │       39.95 / 57.29 ±33.28 / 123.82 ms │           40.58 / 111.42 ±141.02 / 393.46 ms │  1.94x slower │
│ QQuery 25 │    105.15 / 199.74 ±124.63 / 421.05 ms │          104.90 / 170.88 ±111.86 / 392.32 ms │ +1.17x faster │
│ QQuery 26 │         41.00 / 42.13 ±1.14 / 44.11 ms │               40.89 / 41.57 ±0.39 / 41.95 ms │     no change │
│ QQuery 27 │      515.77 / 525.28 ±7.54 / 533.98 ms │            511.78 / 518.72 ±5.89 / 525.97 ms │     no change │
│ QQuery 28 │  2882.73 / 2922.96 ±23.36 / 2950.64 ms │        2872.32 / 2906.09 ±31.00 / 2947.19 ms │     no change │
│ QQuery 29 │         38.90 / 43.08 ±7.04 / 57.12 ms │               38.51 / 42.46 ±7.54 / 57.55 ms │     no change │
│ QQuery 30 │      302.36 / 311.44 ±8.32 / 325.06 ms │           303.42 / 316.96 ±15.24 / 346.76 ms │     no change │
│ QQuery 31 │      285.80 / 290.64 ±3.47 / 296.66 ms │           286.85 / 299.31 ±17.70 / 333.26 ms │     no change │
│ QQuery 32 │ 1148.79 / 1291.88 ±170.85 / 1622.08 ms │        1115.76 / 1203.94 ±61.16 / 1273.59 ms │ +1.07x faster │
│ QQuery 33 │  1535.13 / 1557.36 ±12.30 / 1572.74 ms │        1555.78 / 1575.73 ±22.01 / 1613.53 ms │     no change │
│ QQuery 34 │  1552.77 / 1573.93 ±11.95 / 1588.54 ms │       1577.18 / 1676.64 ±146.37 / 1966.90 ms │  1.07x slower │
│ QQuery 35 │    290.40 / 350.56 ±112.16 / 574.78 ms │           294.12 / 341.30 ±65.25 / 462.05 ms │     no change │
│ QQuery 36 │       67.37 / 82.12 ±16.99 / 114.60 ms │               65.58 / 72.92 ±5.99 / 80.83 ms │ +1.13x faster │
│ QQuery 37 │         34.37 / 34.83 ±0.42 / 35.42 ms │               36.79 / 44.21 ±6.02 / 51.35 ms │  1.27x slower │
│ QQuery 38 │         44.48 / 49.37 ±2.80 / 52.51 ms │               42.31 / 46.17 ±3.69 / 52.64 ms │ +1.07x faster │
│ QQuery 39 │     131.26 / 151.38 ±11.82 / 166.29 ms │           139.15 / 150.54 ±11.46 / 171.99 ms │     no change │
│ QQuery 40 │         13.72 / 14.43 ±0.59 / 15.24 ms │               13.74 / 14.71 ±0.66 / 15.71 ms │     no change │
│ QQuery 41 │         13.26 / 17.39 ±7.18 / 31.73 ms │               13.02 / 13.36 ±0.49 / 14.33 ms │ +1.30x faster │
│ QQuery 42 │         12.83 / 13.68 ±1.48 / 16.64 ms │               12.81 / 14.07 ±2.26 / 18.58 ms │     no change │
└───────────┴────────────────────────────────────────┴──────────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                                           ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                                           │ 20135.88ms │
│ Total Time (rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2)   │ 20281.58ms │
│ Average Time (HEAD)                                         │   468.28ms │
│ Average Time (rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2) │   471.66ms │
│ Queries Faster                                              │          5 │
│ Queries Slower                                              │          3 │
│ Queries with No Change                                      │         35 │
│ Queries with Failure                                        │          0 │
└─────────────────────────────────────────────────────────────┴────────────┘

Memory Pool Peaks

Peak MemoryPool reservation per query — what DataFusion's accounting believes it reserved. Recorded only for benchmarks that write a results JSON (the dfbench suites, and the suites bench.sh runs through the Criterion SQL harness since #25644), and only under a memory limit: DATAFUSION_RUNTIME_MEMORY_LIMIT, or one the suite sets itself.

Base: a992dc9dbe6a7a0b2cc909f42f8bb8440b0bd97c | Changed: a992dc9dbe6a7a0b2cc909f42f8bb8440b0bd97c

clickbench_partitioned

Query Base Changed Change
Query 0 0 B 0 B 0.0%
Query 1 104 B 104 B +0.0%
Query 2 936 B 936 B +0.0%
Query 3 312 B 312 B +0.0%
Query 4 758.4 MiB 756.4 MiB -0.3%
Query 5 1.2 GiB 1.2 GiB -0.8%
Query 6 0 B 0 B 0.0%
Query 7 60.2 MiB 50.3 MiB -16.5%
Query 8 943.9 MiB 919.5 MiB -2.6%
Query 9 593.9 MiB 593.7 MiB -0.0%
Query 10 127.1 MiB 111.8 MiB -12.0%
Query 11 125.2 MiB 118.8 MiB -5.1%
Query 12 1.3 GiB 1.3 GiB -0.4%
Query 13 1.6 GiB 1.5 GiB -2.0%
Query 14 1.3 GiB 1.3 GiB +2.5%
Query 15 1.1 GiB 1.1 GiB -3.9%
Query 16 3.4 GiB 3.4 GiB +0.4%
Query 17 3.5 GiB 3.4 GiB -1.1%
Query 18 8.6 GiB 8.1 GiB -5.7%
Query 19 0 B 0 B 0.0%
Query 20 104 B 104 B +0.0%
Query 21 4.0 MiB 4.0 MiB -0.0%
Query 22 4.6 MiB 4.6 MiB +1.1%
Query 23 3.9 GiB 3.8 GiB -2.7%
Query 24 56.9 MiB 57.5 MiB +1.0%
Query 25 175.4 MiB 172.9 MiB -1.4%
Query 26 62.1 MiB 58.7 MiB -5.5%
Query 27 2.5 MiB 2.3 MiB -4.7%
Query 28 1.7 GiB 1.7 GiB +2.0%
Query 29 624 B 624 B +0.0%
Query 30 701.8 MiB 720.5 MiB +2.7%
Query 31 1.5 GiB 1.5 GiB +0.0%
Query 32 7.2 GiB 7.1 GiB -0.3%
Query 33 8.0 GiB 7.7 GiB -2.6%
Query 34 8.0 GiB 8.1 GiB +1.0%
Query 35 612.5 MiB 602.3 MiB -1.7%
Query 36 113.3 MiB 114.3 MiB +0.9%
Query 37 6.6 MiB 7.3 MiB +9.4%
Query 38 5.6 MiB 5.3 MiB -4.9%
Query 39 297.3 MiB 297.4 MiB +0.0%
Query 40 2.5 MiB 2.3 MiB -6.7%
Query 41 3.1 MiB 3.1 MiB +0.0%
Query 42 1.6 MiB 1.7 MiB +6.6%

Pool accounting vs. process RSS

Max pool peak is the largest reservation any single query in the run reached; peak RSS covers the whole invocation, including data loading and allocator retention, and the two high-water marks need not coincide in time. The gap is therefore an upper bound on what the pool did not account for, not a measurement of it.

Benchmark Side Max pool peak Peak RSS Gap RSS / pool
clickbench_partitioned base (a992dc9dbe6a7a0b2cc909f42f8bb8440b0bd97c) 8.6 GiB 18.5 GiB 9.9 GiB 2.2×
clickbench_partitioned changed (a992dc9dbe6a7a0b2cc909f42f8bb8440b0bd97c) 8.1 GiB 18.3 GiB 10.2 GiB 2.3×
Resource Usage

clickbench_partitioned — base (merge-base)

Metric Value
Wall time 105.0s
Peak memory 18.5 GiB
Avg memory 6.0 GiB
CPU user 982.6s
CPU sys 97.9s
Peak spill 0 B

clickbench_partitioned — branch

Metric Value
Wall time 105.0s
Peak memory 18.3 GiB
Avg memory 6.0 GiB
CPU user 981.9s
CPU sys 102.4s
Peak spill 0 B

File an issue against this benchmark runner

@Rich-T-kid

Copy link
Copy Markdown
Contributor Author

run benchmark tpch clickbench_partitioned

env:
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
  BENCHMARK_PARQUET_WITH_NDV: "true"
baseline:
  ref: "668522063e50d45b873bb90445c4e33c5bc37e88"
changed:
  ref: "668522063e50d45b873bb90445c4e33c5bc37e88"
  env:
    DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
    DATAFUSION_EXECUTION_PARQUET_RLE_TO_DICTIONARY_MAX_DISTINCT_VALUES: "218"

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c6221967633-3519-54tx4 6.12.94+ #1 SMP Fri Aug 21 08:00:16 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 6685220 (6685220) to 6685220 diff

Run configuration
run benchmark tpch
env:
  BENCHMARK_PARQUET_WITH_NDV: "true"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "668522063e50d45b873bb90445c4e33c5bc37e88"
changed:
  ref: "668522063e50d45b873bb90445c4e33c5bc37e88"
  env:
    DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
    DATAFUSION_EXECUTION_PARQUET_RLE_TO_DICTIONARY_MAX_DISTINCT_VALUES: "218"

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-c6221967633-3520-8kc4l 6.12.94+ #1 SMP Fri Aug 21 08:00:16 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 6685220 (6685220) to 6685220 diff

Run configuration
run benchmark clickbench_partitioned
env:
  BENCHMARK_PARQUET_WITH_NDV: "true"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "668522063e50d45b873bb90445c4e33c5bc37e88"
changed:
  ref: "668522063e50d45b873bb90445c4e33c5bc37e88"
  env:
    DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
    DATAFUSION_EXECUTION_PARQUET_RLE_TO_DICTIONARY_MAX_DISTINCT_VALUES: "218"

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 6685220 (6685220) to 6685220 diff

Run configuration
run benchmark tpch
env:
  BENCHMARK_PARQUET_WITH_NDV: "true"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "668522063e50d45b873bb90445c4e33c5bc37e88"
changed:
  ref: "668522063e50d45b873bb90445c4e33c5bc37e88"
  env:
    DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
    DATAFUSION_EXECUTION_PARQUET_RLE_TO_DICTIONARY_MAX_DISTINCT_VALUES: "218"
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 rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2
--------------------
Benchmark tpch_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Query     ┃     HEAD ┃ rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2 ┃    Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ QQuery 1  │ 41.89 ms │                                     41.41 ms │ no change │
│ QQuery 2  │ 19.29 ms │                                     19.17 ms │ no change │
│ QQuery 3  │ 29.92 ms │                                     29.73 ms │ no change │
│ QQuery 4  │ 18.27 ms │                                     18.30 ms │ no change │
│ QQuery 5  │ 37.62 ms │                                     37.45 ms │ no change │
│ QQuery 6  │ 14.30 ms │                                     14.28 ms │ no change │
│ QQuery 7  │ 45.02 ms │                                     43.67 ms │ no change │
│ QQuery 8  │ 42.38 ms │                                     42.51 ms │ no change │
│ QQuery 9  │ 51.39 ms │                                     52.00 ms │ no change │
│ QQuery 10 │ 42.80 ms │                                     42.49 ms │ no change │
│ QQuery 11 │ 14.37 ms │                                     14.30 ms │ no change │
│ QQuery 12 │ 18.87 ms │                                     18.81 ms │ no change │
│ QQuery 13 │ 43.69 ms │                                     43.71 ms │ no change │
│ QQuery 14 │ 25.53 ms │                                     25.30 ms │ no change │
│ QQuery 15 │ 32.64 ms │                                     32.36 ms │ no change │
│ QQuery 16 │ 14.58 ms │                                     14.66 ms │ no change │
│ QQuery 17 │ 83.28 ms │                                     81.71 ms │ no change │
│ QQuery 18 │ 48.40 ms │                                     46.68 ms │ no change │
│ QQuery 19 │ 33.00 ms │                                     32.99 ms │ no change │
│ QQuery 20 │ 33.95 ms │                                     33.80 ms │ no change │
│ QQuery 21 │ 59.75 ms │                                     59.57 ms │ no change │
│ QQuery 22 │ 14.95 ms │                                     15.21 ms │ no change │
└───────────┴──────────┴──────────────────────────────────────────────┴───────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┓
┃ Benchmark Summary                                           ┃          ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━┩
│ Total Time (HEAD)                                           │ 765.89ms │
│ Total Time (rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2)   │ 760.12ms │
│ Average Time (HEAD)                                         │  34.81ms │
│ Average Time (rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2) │  34.55ms │
│ Queries Faster                                              │        0 │
│ Queries Slower                                              │        0 │
│ Queries with No Change                                      │       22 │
│ Queries with Failure                                        │        0 │
└─────────────────────────────────────────────────────────────┴──────────┘

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

Comparing HEAD and rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2
--------------------
Benchmark tpch_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Query     ┃                           HEAD ┃ rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2 ┃    Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ QQuery 1  │ 41.89 / 43.59 ±1.80 / 46.70 ms │               41.41 / 42.56 ±1.15 / 44.63 ms │ no change │
│ QQuery 2  │ 19.29 / 19.67 ±0.27 / 20.07 ms │               19.17 / 19.40 ±0.23 / 19.81 ms │ no change │
│ QQuery 3  │ 29.92 / 30.23 ±0.26 / 30.59 ms │               29.73 / 29.94 ±0.16 / 30.19 ms │ no change │
│ QQuery 4  │ 18.27 / 18.48 ±0.16 / 18.78 ms │               18.30 / 18.72 ±0.46 / 19.59 ms │ no change │
│ QQuery 5  │ 37.62 / 37.95 ±0.27 / 38.41 ms │               37.45 / 37.80 ±0.39 / 38.50 ms │ no change │
│ QQuery 6  │ 14.30 / 14.41 ±0.12 / 14.61 ms │               14.28 / 14.65 ±0.39 / 15.39 ms │ no change │
│ QQuery 7  │ 45.02 / 46.60 ±1.47 / 48.57 ms │               43.67 / 46.80 ±4.42 / 55.46 ms │ no change │
│ QQuery 8  │ 42.38 / 43.13 ±1.22 / 45.55 ms │               42.51 / 42.60 ±0.07 / 42.71 ms │ no change │
│ QQuery 9  │ 51.39 / 53.73 ±1.64 / 56.28 ms │               52.00 / 53.93 ±1.64 / 56.06 ms │ no change │
│ QQuery 10 │ 42.80 / 43.17 ±0.31 / 43.61 ms │               42.49 / 43.24 ±0.90 / 44.98 ms │ no change │
│ QQuery 11 │ 14.37 / 15.03 ±0.61 / 16.12 ms │               14.30 / 14.62 ±0.23 / 15.02 ms │ no change │
│ QQuery 12 │ 18.87 / 19.44 ±0.50 / 20.22 ms │               18.81 / 19.14 ±0.27 / 19.46 ms │ no change │
│ QQuery 13 │ 43.69 / 45.30 ±2.14 / 49.47 ms │               43.71 / 45.33 ±2.31 / 49.82 ms │ no change │
│ QQuery 14 │ 25.53 / 25.77 ±0.21 / 26.08 ms │               25.30 / 25.87 ±0.29 / 26.09 ms │ no change │
│ QQuery 15 │ 32.64 / 33.59 ±0.71 / 34.49 ms │               32.36 / 32.87 ±0.50 / 33.76 ms │ no change │
│ QQuery 16 │ 14.58 / 14.80 ±0.20 / 15.14 ms │               14.66 / 14.93 ±0.17 / 15.20 ms │ no change │
│ QQuery 17 │ 83.28 / 85.09 ±1.25 / 86.67 ms │               81.71 / 83.40 ±0.93 / 84.51 ms │ no change │
│ QQuery 18 │ 48.40 / 49.62 ±1.03 / 51.07 ms │               46.68 / 47.55 ±0.54 / 48.14 ms │ no change │
│ QQuery 19 │ 33.00 / 33.47 ±0.74 / 34.95 ms │               32.99 / 33.94 ±1.13 / 35.78 ms │ no change │
│ QQuery 20 │ 33.95 / 34.08 ±0.20 / 34.48 ms │               33.80 / 34.20 ±0.27 / 34.58 ms │ no change │
│ QQuery 21 │ 59.75 / 61.92 ±2.61 / 66.89 ms │               59.57 / 61.10 ±1.33 / 63.07 ms │ no change │
│ QQuery 22 │ 14.95 / 15.06 ±0.11 / 15.25 ms │               15.21 / 15.51 ±0.38 / 16.24 ms │ no change │
└───────────┴────────────────────────────────┴──────────────────────────────────────────────┴───────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┓
┃ Benchmark Summary                                           ┃          ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━┩
│ Total Time (HEAD)                                           │ 784.15ms │
│ Total Time (rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2)   │ 778.11ms │
│ Average Time (HEAD)                                         │  35.64ms │
│ Average Time (rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2) │  35.37ms │
│ Queries Faster                                              │        0 │
│ Queries Slower                                              │        0 │
│ Queries with No Change                                      │       22 │
│ Queries with Failure                                        │        0 │
└─────────────────────────────────────────────────────────────┴──────────┘

Memory Pool Peaks

Peak MemoryPool reservation per query — what DataFusion's accounting believes it reserved. Recorded only for benchmarks that write a results JSON (the dfbench suites, and the suites bench.sh runs through the Criterion SQL harness since #25644), and only under a memory limit: DATAFUSION_RUNTIME_MEMORY_LIMIT, or one the suite sets itself.

Base: 668522063e50d45b873bb90445c4e33c5bc37e88 | Changed: 668522063e50d45b873bb90445c4e33c5bc37e88

tpch — tpch_sf1

Query Base Changed Change
Query 1 21.4 MiB 31.4 MiB +46.8%
Query 2 15.9 MiB 15.9 MiB +0.0%
Query 3 11.5 MiB 11.5 MiB +0.0%
Query 4 23.5 MiB 33.1 MiB +40.7%
Query 5 42.9 MiB 43.2 MiB +0.7%
Query 6 832 B 832 B +0.0%
Query 7 107.4 MiB 107.4 MiB +0.0%
Query 8 35.5 MiB 34.8 MiB -2.0%
Query 9 155.4 MiB 155.4 MiB +0.0%
Query 10 37.4 MiB 37.5 MiB +0.1%
Query 11 62.0 MiB 91.3 MiB +47.2%
Query 12 24.3 MiB 18.8 MiB -22.5%
Query 13 52.8 MiB 52.7 MiB -0.2%
Query 14 7.7 MiB 7.7 MiB +0.0%
Query 15 12.3 MiB 12.0 MiB -2.4%
Query 16 35.7 MiB 45.3 MiB +26.9%
Query 17 141.3 MiB 141.3 MiB +0.0%
Query 18 189.1 MiB 189.1 MiB +0.0%
Query 19 746.1 KiB 746.1 KiB +0.0%
Query 20 58.8 MiB 58.3 MiB -0.9%
Query 21 42.6 MiB 42.6 MiB +0.0%
Query 22 32.7 MiB 23.0 MiB -29.5%

Pool accounting vs. process RSS

Max pool peak is the largest reservation any single query in the run reached; peak RSS covers the whole invocation, including data loading and allocator retention, and the two high-water marks need not coincide in time. The gap is therefore an upper bound on what the pool did not account for, not a measurement of it.

Benchmark Side Max pool peak Peak RSS Gap RSS / pool
tpch base (668522063e50d45b873bb90445c4e33c5bc37e88) 189.1 MiB 1.1 GiB 926.8 MiB 5.9×
tpch changed (668522063e50d45b873bb90445c4e33c5bc37e88) 189.1 MiB 1.1 GiB 936.1 MiB 6.0×
Resource Usage

tpch — base (merge-base)

Metric Value
Wall time 5.0s
Peak memory 1.1 GiB
Avg memory 465.2 MiB
CPU user 21.8s
CPU sys 1.9s
Peak spill 0 B

tpch — branch

Metric Value
Wall time 5.0s
Peak memory 1.1 GiB
Avg memory 467.9 MiB
CPU user 21.5s
CPU sys 2.0s
Peak spill 0 B

File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark completed (GKE) | trigger

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

Comparing 6685220 (6685220) to 6685220 diff

Run configuration
run benchmark clickbench_partitioned
env:
  BENCHMARK_PARQUET_WITH_NDV: "true"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "668522063e50d45b873bb90445c4e33c5bc37e88"
changed:
  ref: "668522063e50d45b873bb90445c4e33c5bc37e88"
  env:
    DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
    DATAFUSION_EXECUTION_PARQUET_RLE_TO_DICTIONARY_MAX_DISTINCT_VALUES: "218"
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 rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃       HEAD ┃ rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2 ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0  │    1.26 ms │                                      1.28 ms │     no change │
│ QQuery 1  │   12.11 ms │                                     12.27 ms │     no change │
│ QQuery 2  │   35.32 ms │                                     35.68 ms │     no change │
│ QQuery 3  │   32.48 ms │                                     32.72 ms │     no change │
│ QQuery 4  │  259.10 ms │                                    262.69 ms │     no change │
│ QQuery 5  │  293.98 ms │                                    292.54 ms │     no change │
│ QQuery 6  │    1.39 ms │                                      1.27 ms │ +1.10x faster │
│ QQuery 7  │   13.64 ms │                                     13.46 ms │     no change │
│ QQuery 8  │  360.57 ms │                                    365.33 ms │     no change │
│ QQuery 9  │  490.89 ms │                                    508.44 ms │     no change │
│ QQuery 10 │   67.37 ms │                                     66.15 ms │     no change │
│ QQuery 11 │   79.87 ms │                                     77.83 ms │     no change │
│ QQuery 12 │  289.87 ms │                                    290.77 ms │     no change │
│ QQuery 13 │  379.21 ms │                                    390.40 ms │     no change │
│ QQuery 14 │  297.54 ms │                                    297.94 ms │     no change │
│ QQuery 15 │  321.98 ms │                                    315.53 ms │     no change │
│ QQuery 16 │  663.92 ms │                                    677.66 ms │     no change │
│ QQuery 17 │  682.44 ms │                                    670.48 ms │     no change │
│ QQuery 18 │ 1348.00 ms │                                   1314.68 ms │     no change │
│ QQuery 19 │   29.10 ms │                                     28.63 ms │     no change │
│ QQuery 20 │  532.89 ms │                                    529.90 ms │     no change │
│ QQuery 21 │  527.31 ms │                                    523.79 ms │     no change │
│ QQuery 22 │ 1050.49 ms │                                   1069.15 ms │     no change │
│ QQuery 23 │ 3250.18 ms │                                   3258.97 ms │     no change │
│ QQuery 24 │   41.95 ms │                                     41.59 ms │     no change │
│ QQuery 25 │  107.20 ms │                                    109.61 ms │     no change │
│ QQuery 26 │   41.89 ms │                                     42.80 ms │     no change │
│ QQuery 27 │  519.20 ms │                                    535.11 ms │     no change │
│ QQuery 28 │ 2888.85 ms │                                   2954.64 ms │     no change │
│ QQuery 29 │   39.65 ms │                                     38.87 ms │     no change │
│ QQuery 30 │  331.68 ms │                                    309.00 ms │ +1.07x faster │
│ QQuery 31 │  296.45 ms │                                    280.69 ms │ +1.06x faster │
│ QQuery 32 │ 1182.00 ms │                                   1187.11 ms │     no change │
│ QQuery 33 │ 1787.67 ms │                                   1753.02 ms │     no change │
│ QQuery 34 │ 1750.99 ms │                                   1749.80 ms │     no change │
│ QQuery 35 │  348.03 ms │                                    331.07 ms │     no change │
│ QQuery 36 │   70.09 ms │                                     69.02 ms │     no change │
│ QQuery 37 │   36.79 ms │                                     36.45 ms │     no change │
│ QQuery 38 │   41.63 ms │                                     44.75 ms │  1.07x slower │
│ QQuery 39 │  143.38 ms │                                    144.91 ms │     no change │
│ QQuery 40 │   15.28 ms │                                     15.31 ms │     no change │
│ QQuery 41 │   14.36 ms │                                     14.65 ms │     no change │
│ QQuery 42 │   14.09 ms │                                     13.95 ms │     no change │
└───────────┴────────────┴──────────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                                           ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                                           │ 20692.09ms │
│ Total Time (rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2)   │ 20709.94ms │
│ Average Time (HEAD)                                         │   481.21ms │
│ Average Time (rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2) │   481.63ms │
│ Queries Faster                                              │          3 │
│ Queries Slower                                              │          1 │
│ Queries with No Change                                      │         39 │
│ Queries with Failure                                        │          0 │
└─────────────────────────────────────────────────────────────┴────────────┘

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

Comparing HEAD and rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                   HEAD ┃ rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2 ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0  │           1.26 / 4.58 ±6.45 / 17.49 ms │                 1.28 / 4.66 ±6.57 / 17.81 ms │     no change │
│ QQuery 1  │         12.11 / 12.29 ±0.13 / 12.50 ms │               12.27 / 12.52 ±0.15 / 12.71 ms │     no change │
│ QQuery 2  │         35.32 / 35.72 ±0.29 / 36.08 ms │               35.68 / 35.90 ±0.25 / 36.38 ms │     no change │
│ QQuery 3  │         32.48 / 32.91 ±0.56 / 33.98 ms │               32.72 / 33.16 ±0.32 / 33.64 ms │     no change │
│ QQuery 4  │      259.10 / 262.29 ±2.45 / 265.32 ms │            262.69 / 267.46 ±3.03 / 271.76 ms │     no change │
│ QQuery 5  │      293.98 / 295.69 ±2.07 / 299.59 ms │            292.54 / 297.81 ±3.12 / 302.00 ms │     no change │
│ QQuery 6  │            1.39 / 1.56 ±0.21 / 1.95 ms │                  1.27 / 1.44 ±0.24 / 1.92 ms │ +1.08x faster │
│ QQuery 7  │         13.64 / 13.82 ±0.12 / 13.97 ms │               13.46 / 13.79 ±0.18 / 13.97 ms │     no change │
│ QQuery 8  │      360.57 / 365.14 ±2.84 / 368.69 ms │            365.33 / 367.82 ±2.56 / 372.26 ms │     no change │
│ QQuery 9  │     490.89 / 505.09 ±11.86 / 517.07 ms │            508.44 / 521.74 ±9.77 / 533.64 ms │     no change │
│ QQuery 10 │         67.37 / 68.14 ±0.69 / 68.93 ms │               66.15 / 67.37 ±0.73 / 68.43 ms │     no change │
│ QQuery 11 │         79.87 / 81.89 ±3.17 / 88.12 ms │               77.83 / 83.12 ±5.91 / 92.94 ms │     no change │
│ QQuery 12 │      289.87 / 298.07 ±4.52 / 302.34 ms │            290.77 / 294.46 ±3.41 / 300.23 ms │     no change │
│ QQuery 13 │     379.21 / 407.61 ±18.45 / 422.80 ms │           390.40 / 402.57 ±12.83 / 420.31 ms │     no change │
│ QQuery 14 │      297.54 / 302.68 ±3.54 / 308.29 ms │            297.94 / 310.67 ±7.48 / 318.12 ms │     no change │
│ QQuery 15 │      321.98 / 325.54 ±2.59 / 329.47 ms │           315.53 / 333.44 ±13.38 / 350.39 ms │     no change │
│ QQuery 16 │     663.92 / 678.34 ±10.67 / 693.94 ms │           677.66 / 693.30 ±15.55 / 720.28 ms │     no change │
│ QQuery 17 │     682.44 / 697.31 ±11.60 / 713.62 ms │           670.48 / 688.64 ±12.50 / 704.98 ms │     no change │
│ QQuery 18 │  1348.00 / 1372.70 ±22.53 / 1400.96 ms │        1314.68 / 1377.74 ±43.16 / 1437.93 ms │     no change │
│ QQuery 19 │         29.10 / 30.31 ±1.73 / 33.75 ms │               28.63 / 28.80 ±0.16 / 29.08 ms │     no change │
│ QQuery 20 │      532.89 / 542.32 ±8.61 / 555.21 ms │            529.90 / 540.98 ±8.45 / 552.51 ms │     no change │
│ QQuery 21 │     527.31 / 542.14 ±10.45 / 558.88 ms │            523.79 / 532.68 ±8.23 / 547.06 ms │     no change │
│ QQuery 22 │  1050.49 / 1097.08 ±52.08 / 1198.07 ms │         1069.15 / 1080.37 ±9.14 / 1090.76 ms │     no change │
│ QQuery 23 │ 3250.18 / 3453.45 ±157.69 / 3711.38 ms │       3258.97 / 3477.47 ±132.66 / 3671.36 ms │     no change │
│ QQuery 24 │     41.95 / 196.78 ±299.07 / 794.81 ms │             41.59 / 86.68 ±88.12 / 262.90 ms │ +2.27x faster │
│ QQuery 25 │      107.20 / 108.85 ±1.05 / 109.93 ms │          109.61 / 229.16 ±237.24 / 703.64 ms │  2.11x slower │
│ QQuery 26 │         41.89 / 42.73 ±0.48 / 43.27 ms │               42.80 / 43.52 ±0.51 / 44.33 ms │     no change │
│ QQuery 27 │     519.20 / 540.87 ±15.18 / 560.97 ms │            535.11 / 543.50 ±8.42 / 558.71 ms │     no change │
│ QQuery 28 │  2888.85 / 2946.16 ±39.59 / 3013.20 ms │        2954.64 / 2987.12 ±17.87 / 3006.30 ms │     no change │
│ QQuery 29 │         39.65 / 42.34 ±4.33 / 50.94 ms │               38.87 / 45.15 ±7.11 / 54.42 ms │  1.07x slower │
│ QQuery 30 │     331.68 / 350.10 ±21.54 / 383.33 ms │           309.00 / 339.19 ±29.48 / 387.10 ms │     no change │
│ QQuery 31 │     296.45 / 313.10 ±13.88 / 329.35 ms │           280.69 / 302.72 ±20.26 / 330.54 ms │     no change │
│ QQuery 32 │  1182.00 / 1255.89 ±87.01 / 1422.41 ms │        1187.11 / 1263.38 ±97.75 / 1456.04 ms │     no change │
│ QQuery 33 │ 1787.67 / 1950.93 ±282.93 / 2516.33 ms │        1753.02 / 1774.69 ±14.76 / 1797.96 ms │ +1.10x faster │
│ QQuery 34 │  1750.99 / 1793.52 ±29.67 / 1832.12 ms │       1749.80 / 1857.56 ±118.81 / 2004.92 ms │     no change │
│ QQuery 35 │    348.03 / 418.98 ±101.52 / 616.88 ms │           331.07 / 355.44 ±19.20 / 385.18 ms │ +1.18x faster │
│ QQuery 36 │        70.09 / 81.54 ±10.45 / 98.99 ms │             69.02 / 84.08 ±15.43 / 113.67 ms │     no change │
│ QQuery 37 │         36.79 / 42.89 ±4.20 / 47.32 ms │               36.45 / 38.86 ±2.68 / 44.08 ms │ +1.10x faster │
│ QQuery 38 │         41.63 / 46.85 ±6.33 / 59.12 ms │               44.75 / 48.76 ±3.30 / 53.34 ms │     no change │
│ QQuery 39 │     143.38 / 167.13 ±13.51 / 178.49 ms │           144.91 / 158.50 ±12.94 / 180.29 ms │ +1.05x faster │
│ QQuery 40 │         15.28 / 16.08 ±0.82 / 17.14 ms │               15.31 / 16.93 ±2.10 / 21.02 ms │  1.05x slower │
│ QQuery 41 │         14.36 / 14.71 ±0.27 / 15.03 ms │               14.65 / 15.91 ±2.15 / 20.19 ms │  1.08x slower │
│ QQuery 42 │         14.09 / 14.30 ±0.12 / 14.41 ms │               13.95 / 15.84 ±3.31 / 22.45 ms │  1.11x slower │
└───────────┴────────────────────────────────────────┴──────────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                                           ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                                           │ 21770.38ms │
│ Total Time (rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2)   │ 21674.89ms │
│ Average Time (HEAD)                                         │   506.29ms │
│ Average Time (rich-T-kid_bench-ndv-cap-arrow-rle-reader-v2) │   504.07ms │
│ Queries Faster                                              │          6 │
│ Queries Slower                                              │          5 │
│ Queries with No Change                                      │         32 │
│ Queries with Failure                                        │          0 │
└─────────────────────────────────────────────────────────────┴────────────┘

Memory Pool Peaks

Peak MemoryPool reservation per query — what DataFusion's accounting believes it reserved. Recorded only for benchmarks that write a results JSON (the dfbench suites, and the suites bench.sh runs through the Criterion SQL harness since #25644), and only under a memory limit: DATAFUSION_RUNTIME_MEMORY_LIMIT, or one the suite sets itself.

Base: 668522063e50d45b873bb90445c4e33c5bc37e88 | Changed: 668522063e50d45b873bb90445c4e33c5bc37e88

clickbench_partitioned

Query Base Changed Change
Query 0 0 B 0 B 0.0%
Query 1 104 B 104 B +0.0%
Query 2 936 B 936 B +0.0%
Query 3 312 B 312 B +0.0%
Query 4 743.3 MiB 755.0 MiB +1.6%
Query 5 1.3 GiB 1.2 GiB -2.8%
Query 6 0 B 0 B 0.0%
Query 7 60.0 MiB 40.3 MiB -32.8%
Query 8 970.5 MiB 949.3 MiB -2.2%
Query 9 676.8 MiB 592.7 MiB -12.4%
Query 10 113.5 MiB 112.3 MiB -1.0%
Query 11 120.5 MiB 122.4 MiB +1.6%
Query 12 1.4 GiB 1.3 GiB -4.0%
Query 13 1.6 GiB 1.6 GiB -2.2%
Query 14 1.3 GiB 1.3 GiB -0.3%
Query 15 1.1 GiB 1.2 GiB +0.7%
Query 16 3.5 GiB 3.5 GiB +0.7%
Query 17 3.4 GiB 3.4 GiB -0.4%
Query 18 8.3 GiB 8.8 GiB +6.1%
Query 19 0 B 0 B 0.0%
Query 20 104 B 104 B +0.0%
Query 21 4.1 MiB 3.7 MiB -8.6%
Query 22 4.1 MiB 3.5 MiB -15.6%
Query 23 3.2 GiB 3.3 GiB +2.5%
Query 24 59.4 MiB 58.2 MiB -2.2%
Query 25 157.0 MiB 159.2 MiB +1.4%
Query 26 58.5 MiB 58.8 MiB +0.5%
Query 27 2.5 MiB 2.2 MiB -8.9%
Query 28 1.7 GiB 1.7 GiB -0.1%
Query 29 624 B 624 B +0.0%
Query 30 687.4 MiB 722.4 MiB +5.1%
Query 31 1.5 GiB 1.5 GiB -3.1%
Query 32 7.2 GiB 7.2 GiB -0.1%
Query 33 8.1 GiB 7.6 GiB -7.0%
Query 34 7.9 GiB 7.9 GiB +1.0%
Query 35 597.4 MiB 592.8 MiB -0.8%
Query 36 122.8 MiB 124.4 MiB +1.3%
Query 37 6.6 MiB 7.3 MiB +9.4%
Query 38 5.6 MiB 5.7 MiB +0.6%
Query 39 297.5 MiB 306.0 MiB +2.9%
Query 40 2.6 MiB 2.2 MiB -14.5%
Query 41 3.1 MiB 3.1 MiB +0.0%
Query 42 1.8 MiB 1.7 MiB -6.6%

Pool accounting vs. process RSS

Max pool peak is the largest reservation any single query in the run reached; peak RSS covers the whole invocation, including data loading and allocator retention, and the two high-water marks need not coincide in time. The gap is therefore an upper bound on what the pool did not account for, not a measurement of it.

Benchmark Side Max pool peak Peak RSS Gap RSS / pool
clickbench_partitioned base (668522063e50d45b873bb90445c4e33c5bc37e88) 8.3 GiB 18.1 GiB 9.8 GiB 2.2×
clickbench_partitioned changed (668522063e50d45b873bb90445c4e33c5bc37e88) 8.8 GiB 17.8 GiB 9.0 GiB 2.0×
Resource Usage

clickbench_partitioned — base (merge-base)

Metric Value
Wall time 110.0s
Peak memory 18.1 GiB
Avg memory 6.0 GiB
CPU user 1057.3s
CPU sys 115.4s
Peak spill 0 B

clickbench_partitioned — branch

Metric Value
Wall time 110.0s
Peak memory 17.8 GiB
Avg memory 6.0 GiB
CPU user 1049.1s
CPU sys 117.5s
Peak spill 0 B

File an issue against this benchmark runner

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

Labels

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants