Skip to content

Reuse dictionary value hashes in aggregation - #26826

Draft
Rich-T-kid wants to merge 3 commits into
apache:mainfrom
Rich-T-kid:rich-T-kid/aggregate-dictionary-hash-cache
Draft

Rich-T-kid wants to merge 3 commits into
apache:mainfrom
Rich-T-kid:rich-T-kid/aggregate-dictionary-hash-cache

Conversation

@Rich-T-kid

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

Copy link
Copy Markdown
Contributor

Which issue does this PR close?

Closes #26812.
Closes #26813.

Depends on #26817.

Rationale for this change

Partial and final hash aggregation hash dictionary values for the outer group lookup and again inside DictionaryGroupValuesColumn. Shared values arrays repeat that work across batches and emitted slices.

What changes are included in this PR?

GroupValuesColumn keeps one CachingArrayHasher per group column. For dictionaries worth caching, the same value hashes drive the outer group lookup and are passed to DictionaryGroupValuesColumn, avoiding its second hashing pass. Small dictionaries keep the existing bulk path, and cache allocations remain part of memory accounting.

The operator commit is 117 insertions and 13 deletions. The rest of the stacked diff is #26817.

Results

The latest completed hosted runs compared 9f6f79f7 with 61a5ed2b, with RLE-to-dictionary enabled on both sides.

Suite Base Changed Delta Faster / slower / unchanged
TPC-H 820.66 ms 828.54 ms +0.96% 1 / 1 / 20
TPC-DS 10294.76 ms 10129.21 ms -1.61% 4 / 6 / 89
ClickBench partitioned 75.74 s 73.66 s -2.74% 8 / 1 / 34

The focused dictionary benchmark improves repeated shared-values batches by 1.28x to 1.78x at cardinalities from 32K to 500K; the 8K case is flat.

These results predate the helper and main rebases. They measure the same hashing strategy but are not final-head benchmark evidence.

What is the testing strategy for this PR?

The focused multi-column test covers shared and replaced values arrays, null keys and values, and a composite group key. All 118 multi_group_by tests pass on the rebased head.

Are there any user-facing changes?

No.

@Rich-T-kid

Copy link
Copy Markdown
Contributor Author

run benchmark tpch tpcds clickbench_partitioned

env:
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
baseline:
  ref: "4ede5833f68dad5bc8169492dedc5749fcc4b8d5"
changed:
  ref: "e1aa5f4bed1c2880b1043b0d87502e5c984fa9cc"

@github-actions github-actions Bot added common Related to common crate physical-plan Changes to the physical-plan crate labels Oct 27, 2026
@adriangbot

Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c6452254723-3959-9ccts 6.12.105+ #1 SMP Sat Sep 19 07:55:25 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 e1aa5f4 (e1aa5f4) to 4ede583 diff

Run configuration
run benchmark tpch
env:
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "4ede5833f68dad5bc8169492dedc5749fcc4b8d5"
changed:
  ref: "e1aa5f4bed1c2880b1043b0d87502e5c984fa9cc"

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-c6452254723-3960-g5dwq 6.12.105+ #1 SMP Sat Sep 19 07:55:25 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 e1aa5f4 (e1aa5f4) to 4ede583 diff

Run configuration
run benchmark tpcds
env:
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "4ede5833f68dad5bc8169492dedc5749fcc4b8d5"
changed:
  ref: "e1aa5f4bed1c2880b1043b0d87502e5c984fa9cc"

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 e1aa5f4 (e1aa5f4) to 4ede583 diff

Run configuration
run benchmark tpch
env:
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "4ede5833f68dad5bc8169492dedc5749fcc4b8d5"
changed:
  ref: "e1aa5f4bed1c2880b1043b0d87502e5c984fa9cc"
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_aggregate-dictionary-hash-cache
--------------------
Benchmark tpch_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Query     ┃      HEAD ┃ rich-T-kid_aggregate-dictionary-hash-cache ┃    Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ QQuery 1  │  40.39 ms │                                   40.23 ms │ no change │
│ QQuery 2  │  18.78 ms │                                   18.57 ms │ no change │
│ QQuery 3  │  28.27 ms │                                   28.01 ms │ no change │
│ QQuery 4  │  17.29 ms │                                   17.40 ms │ no change │
│ QQuery 5  │  35.77 ms │                                   35.65 ms │ no change │
│ QQuery 6  │  13.82 ms │                                   13.84 ms │ no change │
│ QQuery 7  │  41.66 ms │                                   40.89 ms │ no change │
│ QQuery 8  │  41.53 ms │                                   40.65 ms │ no change │
│ QQuery 9  │  51.68 ms │                                   50.92 ms │ no change │
│ QQuery 10 │  59.88 ms │                                   56.95 ms │ no change │
│ QQuery 11 │  13.74 ms │                                   13.35 ms │ no change │
│ QQuery 12 │  21.41 ms │                                   21.40 ms │ no change │
│ QQuery 13 │  47.29 ms │                                   46.19 ms │ no change │
│ QQuery 14 │  24.18 ms │                                   23.62 ms │ no change │
│ QQuery 15 │  31.37 ms │                                   30.64 ms │ no change │
│ QQuery 16 │  13.64 ms │                                   13.27 ms │ no change │
│ QQuery 17 │  75.07 ms │                                   73.86 ms │ no change │
│ QQuery 18 │ 113.72 ms │                                  113.07 ms │ no change │
│ QQuery 19 │  30.06 ms │                                   29.95 ms │ no change │
│ QQuery 20 │  33.74 ms │                                   33.35 ms │ no change │
│ QQuery 21 │  52.44 ms │                                   54.26 ms │ no change │
│ QQuery 22 │  15.69 ms │                                   15.64 ms │ no change │
└───────────┴───────────┴────────────────────────────────────────────┴───────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┓
┃ Benchmark Summary                                         ┃          ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━┩
│ Total Time (HEAD)                                         │ 821.43ms │
│ Total Time (rich-T-kid_aggregate-dictionary-hash-cache)   │ 811.70ms │
│ Average Time (HEAD)                                       │  37.34ms │
│ Average Time (rich-T-kid_aggregate-dictionary-hash-cache) │  36.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_aggregate-dictionary-hash-cache
--------------------
Benchmark tpch_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓
┃ Query     ┃                              HEAD ┃ rich-T-kid_aggregate-dictionary-hash-cache ┃       Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━┩
│ QQuery 1  │    40.39 / 41.26 ±1.13 / 43.44 ms │             40.23 / 40.93 ±1.23 / 43.39 ms │    no change │
│ QQuery 2  │    18.78 / 19.30 ±0.69 / 20.55 ms │             18.57 / 18.80 ±0.22 / 19.23 ms │    no change │
│ QQuery 3  │    28.27 / 28.47 ±0.21 / 28.82 ms │             28.01 / 28.27 ±0.19 / 28.61 ms │    no change │
│ QQuery 4  │    17.29 / 17.64 ±0.54 / 18.70 ms │             17.40 / 17.65 ±0.43 / 18.50 ms │    no change │
│ QQuery 5  │    35.77 / 36.38 ±1.01 / 38.38 ms │             35.65 / 36.23 ±0.81 / 37.80 ms │    no change │
│ QQuery 6  │    13.82 / 13.92 ±0.11 / 14.13 ms │             13.84 / 13.90 ±0.04 / 13.95 ms │    no change │
│ QQuery 7  │    41.66 / 43.59 ±1.43 / 46.01 ms │             40.89 / 42.01 ±0.65 / 42.70 ms │    no change │
│ QQuery 8  │    41.53 / 42.08 ±0.55 / 42.89 ms │             40.65 / 42.42 ±1.50 / 44.15 ms │    no change │
│ QQuery 9  │    51.68 / 52.76 ±0.78 / 53.76 ms │             50.92 / 51.67 ±0.49 / 52.32 ms │    no change │
│ QQuery 10 │    59.88 / 60.07 ±0.22 / 60.36 ms │             56.95 / 57.29 ±0.27 / 57.57 ms │    no change │
│ QQuery 11 │    13.74 / 14.32 ±0.51 / 15.26 ms │             13.35 / 13.80 ±0.53 / 14.82 ms │    no change │
│ QQuery 12 │    21.41 / 21.79 ±0.40 / 22.52 ms │             21.40 / 21.66 ±0.19 / 21.93 ms │    no change │
│ QQuery 13 │    47.29 / 48.59 ±1.08 / 50.47 ms │             46.19 / 47.72 ±2.18 / 51.99 ms │    no change │
│ QQuery 14 │    24.18 / 24.93 ±1.18 / 27.27 ms │             23.62 / 23.79 ±0.18 / 24.13 ms │    no change │
│ QQuery 15 │    31.37 / 31.66 ±0.28 / 32.15 ms │             30.64 / 30.90 ±0.18 / 31.12 ms │    no change │
│ QQuery 16 │    13.64 / 13.70 ±0.04 / 13.76 ms │             13.27 / 13.50 ±0.11 / 13.57 ms │    no change │
│ QQuery 17 │    75.07 / 76.05 ±0.82 / 77.44 ms │             73.86 / 75.73 ±1.62 / 78.23 ms │    no change │
│ QQuery 18 │ 113.72 / 116.18 ±2.63 / 121.13 ms │          113.07 / 117.31 ±4.14 / 124.10 ms │    no change │
│ QQuery 19 │    30.06 / 31.52 ±2.27 / 36.03 ms │             29.95 / 30.43 ±0.70 / 31.81 ms │    no change │
│ QQuery 20 │    33.74 / 34.32 ±0.55 / 35.25 ms │             33.35 / 33.69 ±0.37 / 34.39 ms │    no change │
│ QQuery 21 │    52.44 / 54.35 ±2.35 / 58.81 ms │             54.26 / 57.53 ±4.60 / 66.46 ms │ 1.06x slower │
│ QQuery 22 │    15.69 / 15.85 ±0.20 / 16.24 ms │             15.64 / 16.00 ±0.28 / 16.47 ms │    no change │
└───────────┴───────────────────────────────────┴────────────────────────────────────────────┴──────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┓
┃ Benchmark Summary                                         ┃          ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━┩
│ Total Time (HEAD)                                         │ 838.74ms │
│ Total Time (rich-T-kid_aggregate-dictionary-hash-cache)   │ 831.23ms │
│ Average Time (HEAD)                                       │  38.12ms │
│ Average Time (rich-T-kid_aggregate-dictionary-hash-cache) │  37.78ms │
│ Queries Faster                                            │        0 │
│ Queries Slower                                            │        1 │
│ 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: 4ede5833f68dad5bc8169492dedc5749fcc4b8d5 | Changed: e1aa5f4bed1c2880b1043b0d87502e5c984fa9cc

tpch — tpch_sf1

Query Base Changed Change
Query 1 40.1 MiB 30.0 MiB -25.1%
Query 2 23.1 MiB 23.1 MiB +0.0%
Query 3 11.5 MiB 11.5 MiB +0.0%
Query 4 22.2 MiB 22.2 MiB -0.0%
Query 5 32.8 MiB 42.8 MiB +30.6%
Query 6 832 B 832 B +0.0%
Query 7 107.6 MiB 107.6 MiB +0.0%
Query 8 32.5 MiB 33.3 MiB +2.2%
Query 9 155.6 MiB 155.6 MiB +0.0%
Query 10 61.2 MiB 69.2 MiB +13.1%
Query 11 61.7 MiB 41.5 MiB -32.7%
Query 12 20.1 MiB 10.2 MiB -49.2%
Query 13 52.3 MiB 62.3 MiB +19.1%
Query 14 7.7 MiB 7.7 MiB +0.0%
Query 15 12.9 MiB 12.8 MiB -0.7%
Query 16 42.9 MiB 33.6 MiB -21.8%
Query 17 150.3 MiB 150.3 MiB +0.0%
Query 18 2.7 GiB 2.7 GiB +0.0%
Query 19 228.6 KiB 228.6 KiB +0.0%
Query 20 57.7 MiB 60.6 MiB +5.1%
Query 21 37.7 MiB 37.7 MiB +0.0%
Query 22 21.9 MiB 31.9 MiB +45.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 (4ede5833f68dad5bc8169492dedc5749fcc4b8d5) 2.7 GiB 1.4 GiB −1.3 GiB 0.5×
tpch changed (e1aa5f4bed1c2880b1043b0d87502e5c984fa9cc) 2.7 GiB 2.0 GiB −757.0 MiB 0.7×
Resource Usage

tpch — base (merge-base)

Metric Value
Wall time 5.0s
Peak memory 1.4 GiB
Avg memory 712.8 MiB
CPU user 21.7s
CPU sys 1.7s
Peak spill 0 B

tpch — branch

Metric Value
Wall time 5.0s
Peak memory 2.0 GiB
Avg memory 788.4 MiB
CPU user 21.6s
CPU sys 1.7s
Peak spill 0 B

File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c6452254723-3961-mbgcz 6.12.105+ #1 SMP Sat Sep 19 07:55:25 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 e1aa5f4 (e1aa5f4) to 4ede583 diff

Run configuration
run benchmark clickbench_partitioned
env:
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "4ede5833f68dad5bc8169492dedc5749fcc4b8d5"
changed:
  ref: "e1aa5f4bed1c2880b1043b0d87502e5c984fa9cc"

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 e1aa5f4 (e1aa5f4) to 4ede583 diff

Run configuration
run benchmark tpcds
env:
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "4ede5833f68dad5bc8169492dedc5749fcc4b8d5"
changed:
  ref: "e1aa5f4bed1c2880b1043b0d87502e5c984fa9cc"
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_aggregate-dictionary-hash-cache
--------------------
Benchmark tpcds_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃       HEAD ┃ rich-T-kid_aggregate-dictionary-hash-cache ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │    5.26 ms │                                    5.69 ms │  1.08x slower │
│ QQuery 2  │   76.63 ms │                                   78.42 ms │     no change │
│ QQuery 3  │   28.62 ms │                                   29.69 ms │     no change │
│ QQuery 4  │  791.45 ms │                                  800.11 ms │     no change │
│ QQuery 5  │   49.97 ms │                                   51.77 ms │     no change │
│ QQuery 6  │   32.98 ms │                                   34.31 ms │     no change │
│ QQuery 7  │   72.12 ms │                                   73.85 ms │     no change │
│ QQuery 8  │   37.73 ms │                                   38.37 ms │     no change │
│ QQuery 9  │   49.91 ms │                                   52.17 ms │     no change │
│ QQuery 10 │   61.11 ms │                                   62.97 ms │     no change │
│ QQuery 11 │  447.20 ms │                                  460.44 ms │     no change │
│ QQuery 12 │   25.70 ms │                                   26.58 ms │     no change │
│ QQuery 13 │  111.38 ms │                                  112.83 ms │     no change │
│ QQuery 14 │  379.09 ms │                                  391.12 ms │     no change │
│ QQuery 15 │   50.99 ms │                                   52.48 ms │     no change │
│ QQuery 16 │    5.98 ms │                                    6.17 ms │     no change │
│ QQuery 17 │   79.17 ms │                                   79.88 ms │     no change │
│ QQuery 18 │  103.71 ms │                                  107.39 ms │     no change │
│ QQuery 19 │   40.80 ms │                                   41.38 ms │     no change │
│ QQuery 20 │   30.92 ms │                                   31.48 ms │     no change │
│ QQuery 21 │   16.32 ms │                                   17.24 ms │  1.06x slower │
│ QQuery 22 │   70.03 ms │                                   62.34 ms │ +1.12x faster │
│ QQuery 23 │  296.83 ms │                                  322.09 ms │  1.09x slower │
│ QQuery 24 │  187.78 ms │                                  201.68 ms │  1.07x slower │
│ QQuery 25 │  104.79 ms │                                  110.81 ms │  1.06x slower │
│ QQuery 26 │   46.56 ms │                                   47.48 ms │     no change │
│ QQuery 27 │    6.08 ms │                                    6.38 ms │  1.05x slower │
│ QQuery 28 │   60.63 ms │                                   61.75 ms │     no change │
│ QQuery 29 │   93.32 ms │                                   97.62 ms │     no change │
│ QQuery 30 │   36.06 ms │                                   38.71 ms │  1.07x slower │
│ QQuery 31 │  110.12 ms │                                  114.67 ms │     no change │
│ QQuery 32 │   19.42 ms │                                   21.23 ms │  1.09x slower │
│ QQuery 33 │   36.42 ms │                                   39.10 ms │  1.07x slower │
│ QQuery 34 │    9.49 ms │                                   10.26 ms │  1.08x slower │
│ QQuery 35 │   70.47 ms │                                   74.61 ms │  1.06x slower │
│ QQuery 36 │    5.69 ms │                                    6.35 ms │  1.12x slower │
│ QQuery 37 │    6.98 ms │                                    7.98 ms │  1.14x slower │
│ QQuery 38 │   62.94 ms │                                   63.06 ms │     no change │
│ QQuery 39 │   70.70 ms │                                   75.18 ms │  1.06x slower │
│ QQuery 40 │   22.01 ms │                                   24.29 ms │  1.10x slower │
│ QQuery 41 │   13.40 ms │                                   14.20 ms │  1.06x slower │
│ QQuery 42 │   23.77 ms │                                   24.39 ms │     no change │
│ QQuery 43 │    5.00 ms │                                    5.37 ms │  1.07x slower │
│ QQuery 44 │    8.37 ms │                                    8.55 ms │     no change │
│ QQuery 45 │   33.49 ms │                                   37.39 ms │  1.12x slower │
│ QQuery 46 │   11.00 ms │                                   11.85 ms │  1.08x slower │
│ QQuery 47 │  197.84 ms │                                  212.47 ms │  1.07x slower │
│ QQuery 48 │   90.19 ms │                                   92.68 ms │     no change │
│ QQuery 49 │   69.07 ms │                                   72.54 ms │  1.05x slower │
│ QQuery 50 │   57.15 ms │                                   59.57 ms │     no change │
│ QQuery 51 │   90.92 ms │                                   92.34 ms │     no change │
│ QQuery 52 │   23.44 ms │                                   24.50 ms │     no change │
│ QQuery 53 │   28.69 ms │                                   29.71 ms │     no change │
│ QQuery 54 │   51.80 ms │                                   54.21 ms │     no change │
│ QQuery 55 │   22.97 ms │                                   24.10 ms │     no change │
│ QQuery 56 │   38.31 ms │                                   38.59 ms │     no change │
│ QQuery 57 │  150.06 ms │                                  157.46 ms │     no change │
│ QQuery 58 │  102.28 ms │                                  104.54 ms │     no change │
│ QQuery 59 │  105.27 ms │                                  108.83 ms │     no change │
│ QQuery 60 │   42.09 ms │                                   42.65 ms │     no change │
│ QQuery 61 │    9.32 ms │                                    9.57 ms │     no change │
│ QQuery 62 │   37.48 ms │                                   38.40 ms │     no change │
│ QQuery 63 │   28.58 ms │                                   29.17 ms │     no change │
│ QQuery 64 │  358.64 ms │                                  375.02 ms │     no change │
│ QQuery 65 │  129.13 ms │                                  136.99 ms │  1.06x slower │
│ QQuery 66 │   73.17 ms │                                   77.25 ms │  1.06x slower │
│ QQuery 67 │  220.18 ms │                                  226.36 ms │     no change │
│ QQuery 68 │   11.04 ms │                                   12.07 ms │  1.09x slower │
│ QQuery 69 │   55.43 ms │                                   57.33 ms │     no change │
│ QQuery 70 │   97.51 ms │                                  102.45 ms │  1.05x slower │
│ QQuery 71 │   34.65 ms │                                   36.23 ms │     no change │
│ QQuery 72 │ 1386.27 ms │                                 1499.23 ms │  1.08x slower │
│ QQuery 73 │    9.13 ms │                                    9.83 ms │  1.08x slower │
│ QQuery 74 │  236.19 ms │                                  255.91 ms │  1.08x slower │
│ QQuery 75 │  136.92 ms │                                  142.73 ms │     no change │
│ QQuery 76 │   33.60 ms │                                   35.38 ms │  1.05x slower │
│ QQuery 77 │   58.91 ms │                                   62.15 ms │  1.05x slower │
│ QQuery 78 │  155.57 ms │                                  166.06 ms │  1.07x slower │
│ QQuery 79 │   66.68 ms │                                   68.92 ms │     no change │
│ QQuery 80 │   92.85 ms │                                   99.02 ms │  1.07x slower │
│ QQuery 81 │   27.49 ms │                                   30.40 ms │  1.11x slower │
│ QQuery 82 │   16.43 ms │                                   17.85 ms │  1.09x slower │
│ QQuery 83 │   31.23 ms │                                   34.35 ms │  1.10x slower │
│ QQuery 84 │   29.95 ms │                                   31.96 ms │  1.07x slower │
│ QQuery 85 │   97.68 ms │                                  103.13 ms │  1.06x slower │
│ QQuery 86 │   23.83 ms │                                   25.83 ms │  1.08x slower │
│ QQuery 87 │   63.76 ms │                                   67.76 ms │  1.06x slower │
│ QQuery 88 │   57.91 ms │                                   61.16 ms │  1.06x slower │
│ QQuery 89 │   34.72 ms │                                   37.02 ms │  1.07x slower │
│ QQuery 90 │   15.50 ms │                                   16.41 ms │  1.06x slower │
│ QQuery 91 │   39.72 ms │                                   40.56 ms │     no change │
│ QQuery 92 │   27.99 ms │                                   30.18 ms │  1.08x slower │
│ QQuery 93 │   48.33 ms │                                   49.78 ms │     no change │
│ QQuery 94 │   36.80 ms │                                   38.91 ms │  1.06x slower │
│ QQuery 95 │   77.30 ms │                                   82.42 ms │  1.07x slower │
│ QQuery 96 │   23.24 ms │                                   24.53 ms │  1.06x slower │
│ QQuery 97 │   49.41 ms │                                   52.92 ms │  1.07x slower │
│ QQuery 98 │   37.07 ms │                                   39.77 ms │  1.07x slower │
│ QQuery 99 │   55.50 ms │                                   58.92 ms │  1.06x slower │
└───────────┴────────────┴────────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Benchmark Summary                                         ┃           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ Total Time (HEAD)                                         │ 9003.57ms │
│ Total Time (rich-T-kid_aggregate-dictionary-hash-cache)   │ 9439.80ms │
│ Average Time (HEAD)                                       │   90.95ms │
│ Average Time (rich-T-kid_aggregate-dictionary-hash-cache) │   95.35ms │
│ Queries Faster                                            │         1 │
│ Queries Slower                                            │        49 │
│ Queries with No Change                                    │        49 │
│ Queries with Failure                                      │         0 │
└───────────────────────────────────────────────────────────┴───────────┘

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

Comparing HEAD and rich-T-kid_aggregate-dictionary-hash-cache
--------------------
Benchmark tpcds_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                  HEAD ┃ rich-T-kid_aggregate-dictionary-hash-cache ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │           5.26 / 5.97 ±1.12 / 8.19 ms │                5.69 / 6.41 ±1.07 / 8.52 ms │  1.07x slower │
│ QQuery 2  │        76.63 / 76.92 ±0.22 / 77.28 ms │             78.42 / 78.80 ±0.34 / 79.39 ms │     no change │
│ QQuery 3  │        28.62 / 28.84 ±0.22 / 29.25 ms │             29.69 / 29.87 ±0.20 / 30.26 ms │     no change │
│ QQuery 4  │     791.45 / 797.88 ±5.41 / 807.17 ms │         800.11 / 823.84 ±18.35 / 851.29 ms │     no change │
│ QQuery 5  │        49.97 / 50.28 ±0.28 / 50.75 ms │             51.77 / 52.55 ±0.55 / 53.11 ms │     no change │
│ QQuery 6  │        32.98 / 33.35 ±0.23 / 33.54 ms │             34.31 / 37.56 ±4.78 / 47.04 ms │  1.13x slower │
│ QQuery 7  │        72.12 / 74.80 ±2.09 / 78.22 ms │             73.85 / 75.49 ±0.87 / 76.43 ms │     no change │
│ QQuery 8  │        37.73 / 38.02 ±0.22 / 38.35 ms │             38.37 / 38.64 ±0.18 / 38.89 ms │     no change │
│ QQuery 9  │        49.91 / 51.52 ±1.82 / 54.63 ms │             52.17 / 54.05 ±1.18 / 55.83 ms │     no change │
│ QQuery 10 │        61.11 / 62.82 ±2.29 / 67.21 ms │             62.97 / 64.61 ±2.55 / 69.68 ms │     no change │
│ QQuery 11 │     447.20 / 455.52 ±5.14 / 461.54 ms │         460.44 / 477.78 ±12.44 / 498.64 ms │     no change │
│ QQuery 12 │        25.70 / 25.89 ±0.16 / 26.19 ms │             26.58 / 26.84 ±0.20 / 27.10 ms │     no change │
│ QQuery 13 │     111.38 / 112.51 ±1.64 / 115.77 ms │          112.83 / 114.13 ±0.95 / 115.58 ms │     no change │
│ QQuery 14 │     379.09 / 384.82 ±4.34 / 391.22 ms │          391.12 / 393.82 ±1.90 / 396.00 ms │     no change │
│ QQuery 15 │        50.99 / 52.64 ±1.80 / 55.13 ms │             52.48 / 53.07 ±0.71 / 54.31 ms │     no change │
│ QQuery 16 │           5.98 / 6.31 ±0.26 / 6.68 ms │                6.17 / 6.41 ±0.28 / 6.95 ms │     no change │
│ QQuery 17 │        79.17 / 80.29 ±1.23 / 82.54 ms │             79.88 / 80.72 ±0.77 / 81.72 ms │     no change │
│ QQuery 18 │     103.71 / 104.86 ±0.79 / 105.57 ms │          107.39 / 107.95 ±0.47 / 108.66 ms │     no change │
│ QQuery 19 │        40.80 / 41.18 ±0.41 / 41.97 ms │             41.38 / 41.70 ±0.34 / 42.32 ms │     no change │
│ QQuery 20 │        30.92 / 31.11 ±0.20 / 31.48 ms │             31.48 / 31.79 ±0.37 / 32.47 ms │     no change │
│ QQuery 21 │        16.32 / 16.60 ±0.28 / 17.11 ms │             17.24 / 17.58 ±0.32 / 18.07 ms │  1.06x slower │
│ QQuery 22 │        70.03 / 70.51 ±0.27 / 70.77 ms │             62.34 / 62.94 ±0.67 / 63.97 ms │ +1.12x faster │
│ QQuery 23 │     296.83 / 303.95 ±5.82 / 314.38 ms │          322.09 / 328.26 ±4.74 / 336.24 ms │  1.08x slower │
│ QQuery 24 │     187.78 / 189.61 ±1.63 / 192.47 ms │          201.68 / 208.83 ±4.90 / 214.86 ms │  1.10x slower │
│ QQuery 25 │     104.79 / 105.86 ±0.91 / 107.53 ms │          110.81 / 111.95 ±1.29 / 114.11 ms │  1.06x slower │
│ QQuery 26 │        46.56 / 47.73 ±1.44 / 50.34 ms │             47.48 / 47.77 ±0.26 / 48.19 ms │     no change │
│ QQuery 27 │           6.08 / 6.25 ±0.18 / 6.56 ms │                6.38 / 6.49 ±0.07 / 6.59 ms │     no change │
│ QQuery 28 │        60.63 / 61.17 ±0.43 / 61.88 ms │             61.75 / 62.25 ±0.30 / 62.64 ms │     no change │
│ QQuery 29 │        93.32 / 94.67 ±1.37 / 97.30 ms │           97.62 / 103.93 ±8.88 / 121.36 ms │  1.10x slower │
│ QQuery 30 │        36.06 / 37.27 ±1.46 / 39.92 ms │             38.71 / 39.08 ±0.41 / 39.77 ms │     no change │
│ QQuery 31 │     110.12 / 111.17 ±0.96 / 112.99 ms │          114.67 / 115.77 ±0.76 / 116.54 ms │     no change │
│ QQuery 32 │        19.42 / 19.72 ±0.31 / 20.20 ms │             21.23 / 22.91 ±2.67 / 28.23 ms │  1.16x slower │
│ QQuery 33 │        36.42 / 37.60 ±0.87 / 38.91 ms │             39.10 / 40.32 ±1.79 / 43.87 ms │  1.07x slower │
│ QQuery 34 │          9.49 / 9.64 ±0.19 / 10.00 ms │             10.26 / 10.39 ±0.11 / 10.54 ms │  1.08x slower │
│ QQuery 35 │        70.47 / 71.68 ±1.34 / 74.27 ms │             74.61 / 75.66 ±0.77 / 76.82 ms │  1.06x slower │
│ QQuery 36 │           5.69 / 5.86 ±0.25 / 6.35 ms │                6.35 / 6.57 ±0.14 / 6.77 ms │  1.12x slower │
│ QQuery 37 │           6.98 / 7.20 ±0.17 / 7.51 ms │                7.98 / 8.06 ±0.06 / 8.13 ms │  1.12x slower │
│ QQuery 38 │        62.94 / 63.40 ±0.27 / 63.72 ms │             63.06 / 66.50 ±2.04 / 69.49 ms │     no change │
│ QQuery 39 │        70.70 / 71.47 ±0.88 / 73.10 ms │             75.18 / 75.97 ±0.63 / 76.97 ms │  1.06x slower │
│ QQuery 40 │        22.01 / 22.74 ±0.78 / 24.25 ms │             24.29 / 25.00 ±0.68 / 26.28 ms │  1.10x slower │
│ QQuery 41 │        13.40 / 13.57 ±0.13 / 13.74 ms │             14.20 / 14.41 ±0.15 / 14.59 ms │  1.06x slower │
│ QQuery 42 │        23.77 / 24.09 ±0.48 / 25.04 ms │             24.39 / 24.82 ±0.48 / 25.76 ms │     no change │
│ QQuery 43 │           5.00 / 5.10 ±0.12 / 5.33 ms │                5.37 / 5.55 ±0.15 / 5.81 ms │  1.09x slower │
│ QQuery 44 │           8.37 / 8.47 ±0.12 / 8.71 ms │                8.55 / 8.90 ±0.27 / 9.27 ms │  1.05x slower │
│ QQuery 45 │        33.49 / 34.27 ±0.46 / 34.74 ms │             37.39 / 39.63 ±1.86 / 42.51 ms │  1.16x slower │
│ QQuery 46 │        11.00 / 11.16 ±0.11 / 11.31 ms │             11.85 / 12.06 ±0.22 / 12.34 ms │  1.08x slower │
│ QQuery 47 │     197.84 / 198.70 ±0.65 / 199.72 ms │          212.47 / 219.61 ±4.10 / 224.76 ms │  1.11x slower │
│ QQuery 48 │        90.19 / 91.44 ±1.22 / 93.49 ms │             92.68 / 94.05 ±1.08 / 95.65 ms │     no change │
│ QQuery 49 │        69.07 / 69.77 ±0.98 / 71.72 ms │             72.54 / 76.47 ±4.33 / 84.38 ms │  1.10x slower │
│ QQuery 50 │        57.15 / 57.51 ±0.43 / 58.33 ms │             59.57 / 60.52 ±0.52 / 61.00 ms │  1.05x slower │
│ QQuery 51 │        90.92 / 92.06 ±1.02 / 93.63 ms │             92.34 / 95.05 ±1.86 / 97.85 ms │     no change │
│ QQuery 52 │        23.44 / 23.87 ±0.31 / 24.34 ms │             24.50 / 24.87 ±0.26 / 25.20 ms │     no change │
│ QQuery 53 │        28.69 / 29.05 ±0.28 / 29.54 ms │             29.71 / 31.61 ±2.66 / 36.87 ms │  1.09x slower │
│ QQuery 54 │        51.80 / 52.34 ±0.29 / 52.64 ms │             54.21 / 54.68 ±0.50 / 55.61 ms │     no change │
│ QQuery 55 │        22.97 / 23.18 ±0.21 / 23.57 ms │             24.10 / 25.07 ±1.31 / 27.66 ms │  1.08x slower │
│ QQuery 56 │        38.31 / 40.67 ±3.20 / 46.89 ms │             38.59 / 39.53 ±0.76 / 40.90 ms │     no change │
│ QQuery 57 │     150.06 / 152.03 ±1.26 / 153.48 ms │          157.46 / 160.59 ±2.61 / 165.35 ms │  1.06x slower │
│ QQuery 58 │     102.28 / 104.32 ±3.05 / 110.34 ms │          104.54 / 106.71 ±1.82 / 109.89 ms │     no change │
│ QQuery 59 │     105.27 / 106.19 ±0.55 / 106.87 ms │          108.83 / 109.54 ±0.55 / 110.53 ms │     no change │
│ QQuery 60 │        42.09 / 43.40 ±0.89 / 44.36 ms │             42.65 / 43.33 ±0.45 / 43.87 ms │     no change │
│ QQuery 61 │          9.32 / 9.54 ±0.26 / 10.05 ms │               9.57 / 9.87 ±0.26 / 10.33 ms │     no change │
│ QQuery 62 │        37.48 / 38.24 ±0.61 / 39.13 ms │             38.40 / 39.76 ±1.84 / 43.40 ms │     no change │
│ QQuery 63 │        28.58 / 28.94 ±0.35 / 29.58 ms │             29.17 / 29.74 ±0.39 / 30.20 ms │     no change │
│ QQuery 64 │     358.64 / 362.39 ±2.03 / 364.26 ms │          375.02 / 388.55 ±8.01 / 399.97 ms │  1.07x slower │
│ QQuery 65 │     129.13 / 130.88 ±1.67 / 133.99 ms │          136.99 / 138.85 ±1.04 / 139.84 ms │  1.06x slower │
│ QQuery 66 │        73.17 / 75.17 ±3.32 / 81.75 ms │             77.25 / 78.60 ±0.92 / 79.78 ms │     no change │
│ QQuery 67 │     220.18 / 222.80 ±1.97 / 225.81 ms │          226.36 / 239.44 ±9.34 / 251.49 ms │  1.07x slower │
│ QQuery 68 │        11.04 / 11.26 ±0.23 / 11.70 ms │             12.07 / 12.17 ±0.10 / 12.34 ms │  1.08x slower │
│ QQuery 69 │        55.43 / 55.85 ±0.40 / 56.60 ms │             57.33 / 58.06 ±0.67 / 59.20 ms │     no change │
│ QQuery 70 │      97.51 / 100.32 ±2.92 / 105.74 ms │          102.45 / 102.85 ±0.61 / 104.06 ms │     no change │
│ QQuery 71 │        34.65 / 35.03 ±0.42 / 35.59 ms │             36.23 / 37.88 ±2.70 / 43.25 ms │  1.08x slower │
│ QQuery 72 │ 1386.27 / 1488.82 ±94.10 / 1658.55 ms │      1499.23 / 1542.41 ±26.50 / 1578.78 ms │     no change │
│ QQuery 73 │           9.13 / 9.35 ±0.19 / 9.68 ms │              9.83 / 10.10 ±0.15 / 10.28 ms │  1.08x slower │
│ QQuery 74 │     236.19 / 241.01 ±3.37 / 246.37 ms │          255.91 / 259.96 ±2.28 / 262.93 ms │  1.08x slower │
│ QQuery 75 │     136.92 / 137.57 ±0.53 / 138.34 ms │          142.73 / 143.83 ±0.75 / 145.08 ms │     no change │
│ QQuery 76 │        33.60 / 33.88 ±0.21 / 34.23 ms │             35.38 / 36.12 ±1.14 / 38.38 ms │  1.07x slower │
│ QQuery 77 │        58.91 / 59.37 ±0.38 / 59.90 ms │             62.15 / 62.86 ±0.77 / 64.28 ms │  1.06x slower │
│ QQuery 78 │     155.57 / 161.49 ±3.97 / 167.48 ms │          166.06 / 169.86 ±4.43 / 176.42 ms │  1.05x slower │
│ QQuery 79 │        66.68 / 67.19 ±0.58 / 68.26 ms │             68.92 / 70.66 ±1.95 / 74.42 ms │  1.05x slower │
│ QQuery 80 │        92.85 / 93.69 ±0.80 / 95.20 ms │           99.02 / 102.43 ±4.71 / 111.74 ms │  1.09x slower │
│ QQuery 81 │        27.49 / 28.23 ±0.66 / 29.40 ms │             30.40 / 30.74 ±0.36 / 31.41 ms │  1.09x slower │
│ QQuery 82 │        16.43 / 19.24 ±4.15 / 27.46 ms │             17.85 / 18.27 ±0.28 / 18.72 ms │ +1.05x faster │
│ QQuery 83 │        31.23 / 31.69 ±0.35 / 32.19 ms │             34.35 / 35.51 ±1.72 / 38.91 ms │  1.12x slower │
│ QQuery 84 │        29.95 / 30.50 ±0.40 / 31.05 ms │             31.96 / 32.29 ±0.25 / 32.65 ms │  1.06x slower │
│ QQuery 85 │        97.68 / 98.22 ±0.44 / 98.78 ms │          103.13 / 105.19 ±2.21 / 109.36 ms │  1.07x slower │
│ QQuery 86 │        23.83 / 24.46 ±0.59 / 25.55 ms │             25.83 / 26.53 ±0.49 / 27.32 ms │  1.08x slower │
│ QQuery 87 │        63.76 / 65.69 ±2.68 / 70.99 ms │             67.76 / 68.52 ±0.68 / 69.36 ms │     no change │
│ QQuery 88 │        57.91 / 58.52 ±0.42 / 59.17 ms │             61.16 / 62.89 ±2.13 / 66.99 ms │  1.07x slower │
│ QQuery 89 │        34.72 / 35.20 ±0.48 / 36.11 ms │             37.02 / 37.33 ±0.16 / 37.47 ms │  1.06x slower │
│ QQuery 90 │        15.50 / 15.84 ±0.23 / 16.13 ms │             16.41 / 17.27 ±1.24 / 19.75 ms │  1.09x slower │
│ QQuery 91 │        39.72 / 40.24 ±0.55 / 41.25 ms │             40.56 / 41.38 ±0.66 / 42.51 ms │     no change │
│ QQuery 92 │        27.99 / 28.51 ±0.38 / 29.14 ms │             30.18 / 30.91 ±0.49 / 31.47 ms │  1.08x slower │
│ QQuery 93 │        48.33 / 49.31 ±0.78 / 50.38 ms │             49.78 / 51.41 ±1.58 / 53.97 ms │     no change │
│ QQuery 94 │        36.80 / 37.31 ±0.40 / 38.00 ms │             38.91 / 39.45 ±0.36 / 40.00 ms │  1.06x slower │
│ QQuery 95 │        77.30 / 77.90 ±0.53 / 78.64 ms │             82.42 / 83.41 ±0.53 / 83.94 ms │  1.07x slower │
│ QQuery 96 │        23.24 / 24.19 ±1.75 / 27.68 ms │             24.53 / 24.81 ±0.27 / 25.25 ms │     no change │
│ QQuery 97 │        49.41 / 50.42 ±1.08 / 52.49 ms │             52.92 / 54.26 ±1.21 / 55.79 ms │  1.08x slower │
│ QQuery 98 │        37.07 / 37.61 ±0.43 / 38.23 ms │             39.77 / 40.37 ±0.53 / 41.34 ms │  1.07x slower │
│ QQuery 99 │        55.50 / 56.05 ±0.41 / 56.66 ms │             58.92 / 60.52 ±1.09 / 62.21 ms │  1.08x slower │
└───────────┴───────────────────────────────────────┴────────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Benchmark Summary                                         ┃           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ Total Time (HEAD)                                         │ 9222.75ms │
│ Total Time (rich-T-kid_aggregate-dictionary-hash-cache)   │ 9674.31ms │
│ Average Time (HEAD)                                       │   93.16ms │
│ Average Time (rich-T-kid_aggregate-dictionary-hash-cache) │   97.72ms │
│ Queries Faster                                            │         2 │
│ Queries Slower                                            │        52 │
│ Queries with No Change                                    │        45 │
│ 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: 4ede5833f68dad5bc8169492dedc5749fcc4b8d5 | Changed: e1aa5f4bed1c2880b1043b0d87502e5c984fa9cc

tpcds — tpcds_sf1

Query Base Changed Change
Query 1 198.0 KiB 137.1 KiB -30.8%
Query 2 82.9 MiB 89.1 MiB +7.4%
Query 3 2.1 MiB 1.9 MiB -8.6%
Query 4 79.7 MiB 79.7 MiB -0.0%
Query 5 12.5 MiB 12.5 MiB +0.1%
Query 6 4.4 MiB 4.7 MiB +6.9%
Query 7 3.6 MiB 3.7 MiB +1.4%
Query 8 1.7 MiB 1.9 MiB +11.5%
Query 9 32.1 KiB 32.1 KiB +0.0%
Query 10 2.0 MiB 2.0 MiB +0.0%
Query 11 62.0 MiB 62.0 MiB +0.1%
Query 12 114.4 MiB 114.4 MiB -0.0%
Query 13 13.0 MiB 13.7 MiB +5.1%
Query 14 170.9 MiB 171.7 MiB +0.4%
Query 15 4.2 MiB 4.0 MiB -6.0%
Query 16 118.6 KiB 118.6 KiB +0.0%
Query 17 40.5 MiB 40.6 MiB +0.1%
Query 18 21.2 MiB 21.3 MiB +0.2%
Query 19 2.1 MiB 2.1 MiB +1.2%
Query 20 114.6 MiB 114.6 MiB +0.0%
Query 21 2.5 MiB 3.6 MiB +43.3%
Query 22 61.8 MiB 63.5 MiB +2.8%
Query 23 212.5 MiB 213.2 MiB +0.3%
Query 24 38.7 MiB 38.7 MiB +0.0%
Query 25 99.9 MiB 99.9 MiB +0.0%
Query 26 3.4 MiB 3.6 MiB +4.9%
Query 27 1.6 MiB 1.6 MiB +0.0%
Query 28 1.3 MiB 1.3 MiB +0.0%
Query 29 102.9 MiB 104.7 MiB +1.8%
Query 30 3.9 MiB 3.7 MiB -5.1%
Query 31 13.4 MiB 13.4 MiB +0.0%
Query 32 2.7 MiB 2.5 MiB -8.1%
Query 33 4.2 MiB 4.5 MiB +7.2%
Query 34 6.0 MiB 6.0 MiB +0.0%
Query 35 16.6 MiB 16.6 MiB +0.0%
Query 36 10.3 MiB 10.3 MiB +0.0%
Query 37 3.3 MiB 3.3 MiB +0.0%
Query 38 10.8 MiB 10.8 MiB +0.4%
Query 39 42.1 MiB 53.0 MiB +25.8%
Query 40 12.2 MiB 12.2 MiB +0.0%
Query 41 2.1 MiB 2.1 MiB +0.1%
Query 42 1.3 MiB 1.2 MiB -2.0%
Query 43 275.0 KiB 275.4 KiB +0.1%
Query 44 233.2 KiB 233.2 KiB +0.0%
Query 45 4.5 MiB 4.9 MiB +9.0%
Query 46 6.2 MiB 6.2 MiB +0.0%
Query 47 128.5 MiB 132.6 MiB +3.1%
Query 48 11.8 MiB 11.4 MiB -3.2%
Query 49 51.6 MiB 52.8 MiB +2.4%
Query 50 16.9 MiB 17.7 MiB +4.4%
Query 51 177.7 MiB 178.0 MiB +0.2%
Query 52 1.5 MiB 1.5 MiB +0.1%
Query 53 30.4 MiB 30.4 MiB +0.0%
Query 54 2.2 MiB 2.2 MiB +0.0%
Query 55 1.5 MiB 1.5 MiB +0.8%
Query 56 3.0 MiB 3.0 MiB -0.3%
Query 57 120.8 MiB 120.8 MiB -0.0%
Query 58 4.4 MiB 4.2 MiB -4.8%
Query 59 11.7 MiB 11.7 MiB +0.0%
Query 60 7.2 MiB 7.5 MiB +4.6%
Query 61 2.4 KiB 2.4 KiB +0.7%
Query 62 3.6 MiB 3.3 MiB -8.9%
Query 63 30.4 MiB 20.6 MiB -32.4%
Query 64 83.7 MiB 93.7 MiB +11.9%
Query 65 29.7 MiB 29.7 MiB +0.0%
Query 66 14.9 MiB 14.9 MiB +0.0%
Query 67 137.9 MiB 138.1 MiB +0.2%
Query 68 6.2 MiB 6.2 MiB +0.0%
Query 69 3.7 MiB 3.5 MiB -4.8%
Query 70 44.0 MiB 44.0 MiB +0.0%
Query 71 30.4 MiB 40.4 MiB +32.9%
Query 72 97.2 MiB 97.2 MiB +0.0%
Query 73 6.0 MiB 6.0 MiB +0.0%
Query 74 34.6 MiB 34.6 MiB +0.0%
Query 75 20.3 MiB 21.3 MiB +5.2%
Query 76 7.9 MiB 7.9 MiB +0.0%
Query 77 4.1 MiB 4.1 MiB +0.0%
Query 78 108.2 MiB 111.5 MiB +3.1%
Query 79 8.7 MiB 8.7 MiB +0.0%
Query 80 41.2 MiB 42.0 MiB +2.0%
Query 81 4.1 MiB 4.1 MiB +0.5%
Query 82 4.9 MiB 4.9 MiB +0.0%
Query 83 9.0 MiB 9.0 MiB +0.0%
Query 84 11.9 MiB 11.9 MiB +0.0%
Query 85 17.0 MiB 17.0 MiB +0.0%
Query 86 82.1 MiB 82.1 MiB +0.0%
Query 87 12.9 MiB 13.1 MiB +1.7%
Query 88 1.7 MiB 1.6 MiB -9.9%
Query 89 112.2 MiB 112.2 MiB -0.0%
Query 90 351.7 KiB 345.5 KiB -1.8%
Query 91 31.0 MiB 21.0 MiB -32.2%
Query 92 2.7 MiB 2.7 MiB +0.0%
Query 93 15.1 MiB 15.2 MiB +0.3%
Query 94 3.7 MiB 3.4 MiB -7.6%
Query 95 17.4 MiB 18.4 MiB +5.4%
Query 96 224.7 KiB 224.7 KiB +0.0%
Query 97 33.1 MiB 33.1 MiB +0.0%
Query 98 114.7 MiB 114.7 MiB -0.0%
Query 99 1.7 MiB 1.6 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
tpcds base (4ede5833f68dad5bc8169492dedc5749fcc4b8d5) 212.5 MiB 2.0 GiB 1.8 GiB 9.5×
tpcds changed (e1aa5f4bed1c2880b1043b0d87502e5c984fa9cc) 213.2 MiB 1.9 GiB 1.7 GiB 9.3×
Resource Usage

tpcds — base (merge-base)

Metric Value
Wall time 50.0s
Peak memory 2.0 GiB
Avg memory 1.4 GiB
CPU user 181.8s
CPU sys 5.3s
Peak spill 0 B

tpcds — branch

Metric Value
Wall time 50.0s
Peak memory 1.9 GiB
Avg memory 1.4 GiB
CPU user 192.2s
CPU sys 5.9s
Peak spill 0 B

File an issue against this benchmark runner

@Rich-T-kid
Rich-T-kid force-pushed the rich-T-kid/aggregate-dictionary-hash-cache branch from e1aa5f4 to d49dd6d Compare October 27, 2026 20:22
@Rich-T-kid

Copy link
Copy Markdown
Contributor Author

run benchmark tpch tpcds clickbench_partitioned

env:
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
baseline:
  ref: "4ede5833f68dad5bc8169492dedc5749fcc4b8d5"
changed:
  ref: "d49dd6d5614860d21328eb63633fd9d8e08fbd37"

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c6452661322-3965-np5lm 6.12.105+ #1 SMP Sat Sep 19 07:55:25 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 d49dd6d (d49dd6d) to 4ede583 diff

Run configuration
run benchmark tpch
env:
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "4ede5833f68dad5bc8169492dedc5749fcc4b8d5"
changed:
  ref: "d49dd6d5614860d21328eb63633fd9d8e08fbd37"

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-c6452661322-3966-4g845 6.12.105+ #1 SMP Sat Sep 19 07:55:25 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 d49dd6d (d49dd6d) to 4ede583 diff

Run configuration
run benchmark tpcds
env:
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "4ede5833f68dad5bc8169492dedc5749fcc4b8d5"
changed:
  ref: "d49dd6d5614860d21328eb63633fd9d8e08fbd37"

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-c6452661322-3967-q7l5b 6.12.105+ #1 SMP Sat Sep 19 07:55:25 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 d49dd6d (d49dd6d) to 4ede583 diff

Run configuration
run benchmark clickbench_partitioned
env:
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "4ede5833f68dad5bc8169492dedc5749fcc4b8d5"
changed:
  ref: "d49dd6d5614860d21328eb63633fd9d8e08fbd37"

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 d49dd6d (d49dd6d) to 4ede583 diff

Run configuration
run benchmark tpch
env:
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "4ede5833f68dad5bc8169492dedc5749fcc4b8d5"
changed:
  ref: "d49dd6d5614860d21328eb63633fd9d8e08fbd37"
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_aggregate-dictionary-hash-cache
--------------------
Benchmark tpch_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Query     ┃      HEAD ┃ rich-T-kid_aggregate-dictionary-hash-cache ┃    Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ QQuery 1  │  40.81 ms │                                   40.80 ms │ no change │
│ QQuery 2  │  19.06 ms │                                   19.00 ms │ no change │
│ QQuery 3  │  28.95 ms │                                   29.00 ms │ no change │
│ QQuery 4  │  17.65 ms │                                   17.70 ms │ no change │
│ QQuery 5  │  36.45 ms │                                   36.60 ms │ no change │
│ QQuery 6  │  13.84 ms │                                   14.07 ms │ no change │
│ QQuery 7  │  43.57 ms │                                   43.36 ms │ no change │
│ QQuery 8  │  41.58 ms │                                   41.96 ms │ no change │
│ QQuery 9  │  52.20 ms │                                   52.33 ms │ no change │
│ QQuery 10 │  60.67 ms │                                   59.98 ms │ no change │
│ QQuery 11 │  14.11 ms │                                   14.37 ms │ no change │
│ QQuery 12 │  21.71 ms │                                   21.85 ms │ no change │
│ QQuery 13 │  48.69 ms │                                   48.92 ms │ no change │
│ QQuery 14 │  24.55 ms │                                   24.56 ms │ no change │
│ QQuery 15 │  31.67 ms │                                   31.68 ms │ no change │
│ QQuery 16 │  13.65 ms │                                   13.83 ms │ no change │
│ QQuery 17 │  78.37 ms │                                   78.64 ms │ no change │
│ QQuery 18 │ 119.18 ms │                                  118.26 ms │ no change │
│ QQuery 19 │  30.69 ms │                                   30.96 ms │ no change │
│ QQuery 20 │  34.45 ms │                                   35.10 ms │ no change │
│ QQuery 21 │  54.38 ms │                                   56.48 ms │ no change │
│ QQuery 22 │  16.28 ms │                                   16.23 ms │ no change │
└───────────┴───────────┴────────────────────────────────────────────┴───────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┓
┃ Benchmark Summary                                         ┃          ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━┩
│ Total Time (HEAD)                                         │ 842.52ms │
│ Total Time (rich-T-kid_aggregate-dictionary-hash-cache)   │ 845.66ms │
│ Average Time (HEAD)                                       │  38.30ms │
│ Average Time (rich-T-kid_aggregate-dictionary-hash-cache) │  38.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_aggregate-dictionary-hash-cache
--------------------
Benchmark tpch_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓
┃ Query     ┃                              HEAD ┃ rich-T-kid_aggregate-dictionary-hash-cache ┃       Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━┩
│ QQuery 1  │    40.81 / 42.21 ±1.73 / 45.06 ms │             40.80 / 41.99 ±1.14 / 43.69 ms │    no change │
│ QQuery 2  │    19.06 / 19.86 ±0.59 / 20.66 ms │             19.00 / 19.82 ±1.09 / 21.95 ms │    no change │
│ QQuery 3  │    28.95 / 29.72 ±1.12 / 31.87 ms │             29.00 / 29.75 ±1.08 / 31.86 ms │    no change │
│ QQuery 4  │    17.65 / 18.03 ±0.65 / 19.32 ms │             17.70 / 17.80 ±0.08 / 17.94 ms │    no change │
│ QQuery 5  │    36.45 / 37.49 ±1.00 / 38.88 ms │             36.60 / 36.88 ±0.22 / 37.24 ms │    no change │
│ QQuery 6  │    13.84 / 14.34 ±0.76 / 15.86 ms │             14.07 / 14.58 ±0.84 / 16.24 ms │    no change │
│ QQuery 7  │    43.57 / 45.13 ±1.13 / 46.69 ms │             43.36 / 46.94 ±3.12 / 52.31 ms │    no change │
│ QQuery 8  │    41.58 / 41.96 ±0.37 / 42.58 ms │             41.96 / 42.88 ±1.14 / 45.13 ms │    no change │
│ QQuery 9  │    52.20 / 53.31 ±1.23 / 55.56 ms │             52.33 / 53.66 ±1.10 / 55.58 ms │    no change │
│ QQuery 10 │    60.67 / 61.18 ±0.45 / 61.80 ms │             59.98 / 60.77 ±0.95 / 62.53 ms │    no change │
│ QQuery 11 │    14.11 / 14.40 ±0.33 / 15.05 ms │             14.37 / 14.43 ±0.06 / 14.54 ms │    no change │
│ QQuery 12 │    21.71 / 23.31 ±1.67 / 26.32 ms │             21.85 / 22.46 ±0.68 / 23.72 ms │    no change │
│ QQuery 13 │    48.69 / 49.58 ±0.96 / 51.40 ms │             48.92 / 49.29 ±0.37 / 49.99 ms │    no change │
│ QQuery 14 │    24.55 / 24.62 ±0.06 / 24.69 ms │             24.56 / 24.66 ±0.06 / 24.71 ms │    no change │
│ QQuery 15 │    31.67 / 31.93 ±0.36 / 32.62 ms │             31.68 / 32.20 ±0.36 / 32.79 ms │    no change │
│ QQuery 16 │    13.65 / 13.90 ±0.19 / 14.23 ms │             13.83 / 13.95 ±0.11 / 14.16 ms │    no change │
│ QQuery 17 │    78.37 / 80.11 ±2.47 / 85.00 ms │             78.64 / 80.10 ±1.15 / 81.73 ms │    no change │
│ QQuery 18 │ 119.18 / 123.30 ±4.29 / 130.91 ms │          118.26 / 121.04 ±3.02 / 126.35 ms │    no change │
│ QQuery 19 │    30.69 / 30.97 ±0.23 / 31.23 ms │             30.96 / 33.37 ±3.35 / 39.75 ms │ 1.08x slower │
│ QQuery 20 │    34.45 / 34.97 ±0.51 / 35.84 ms │             35.10 / 35.47 ±0.38 / 35.96 ms │    no change │
│ QQuery 21 │    54.38 / 57.69 ±3.26 / 63.84 ms │             56.48 / 58.76 ±3.23 / 65.12 ms │    no change │
│ QQuery 22 │    16.28 / 16.39 ±0.06 / 16.47 ms │             16.23 / 16.43 ±0.17 / 16.70 ms │    no change │
└───────────┴───────────────────────────────────┴────────────────────────────────────────────┴──────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┓
┃ Benchmark Summary                                         ┃          ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━┩
│ Total Time (HEAD)                                         │ 864.38ms │
│ Total Time (rich-T-kid_aggregate-dictionary-hash-cache)   │ 867.23ms │
│ Average Time (HEAD)                                       │  39.29ms │
│ Average Time (rich-T-kid_aggregate-dictionary-hash-cache) │  39.42ms │
│ Queries Faster                                            │        0 │
│ Queries Slower                                            │        1 │
│ 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: 4ede5833f68dad5bc8169492dedc5749fcc4b8d5 | Changed: d49dd6d5614860d21328eb63633fd9d8e08fbd37

tpch — tpch_sf1

Query Base Changed Change
Query 1 30.1 MiB 30.2 MiB +0.2%
Query 2 23.1 MiB 23.1 MiB +0.0%
Query 3 11.5 MiB 11.5 MiB +0.0%
Query 4 22.3 MiB 22.2 MiB -0.2%
Query 5 42.7 MiB 32.9 MiB -23.1%
Query 6 832 B 832 B +0.0%
Query 7 107.6 MiB 107.6 MiB +0.0%
Query 8 34.6 MiB 34.7 MiB +0.2%
Query 9 155.6 MiB 155.6 MiB +0.0%
Query 10 61.2 MiB 66.3 MiB +8.3%
Query 11 61.7 MiB 72.1 MiB +16.8%
Query 12 20.1 MiB 20.1 MiB +0.0%
Query 13 52.5 MiB 52.6 MiB +0.2%
Query 14 7.7 MiB 7.7 MiB +0.0%
Query 15 12.8 MiB 12.8 MiB -0.0%
Query 16 33.3 MiB 43.5 MiB +30.8%
Query 17 150.3 MiB 150.3 MiB +0.0%
Query 18 2.7 GiB 2.7 GiB -0.0%
Query 19 228.6 KiB 228.6 KiB +0.0%
Query 20 61.8 MiB 61.0 MiB -1.3%
Query 21 37.7 MiB 37.7 MiB +0.0%
Query 22 31.8 MiB 32.1 MiB +1.2%

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 (4ede5833f68dad5bc8169492dedc5749fcc4b8d5) 2.7 GiB 2.0 GiB −696.5 MiB 0.7×
tpch changed (d49dd6d5614860d21328eb63633fd9d8e08fbd37) 2.7 GiB 1.4 GiB −1.3 GiB 0.5×
Resource Usage

tpch — base (merge-base)

Metric Value
Wall time 5.0s
Peak memory 2.0 GiB
Avg memory 803.8 MiB
CPU user 21.8s
CPU sys 1.7s
Peak spill 0 B

tpch — branch

Metric Value
Wall time 5.0s
Peak memory 1.4 GiB
Avg memory 694.2 MiB
CPU user 21.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 d49dd6d (d49dd6d) to 4ede583 diff

Run configuration
run benchmark tpcds
env:
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "4ede5833f68dad5bc8169492dedc5749fcc4b8d5"
changed:
  ref: "d49dd6d5614860d21328eb63633fd9d8e08fbd37"
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_aggregate-dictionary-hash-cache
--------------------
Benchmark tpcds_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃       HEAD ┃ rich-T-kid_aggregate-dictionary-hash-cache ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │    5.26 ms │                                    5.16 ms │     no change │
│ QQuery 2  │   76.38 ms │                                   76.81 ms │     no change │
│ QQuery 3  │   29.07 ms │                                   28.64 ms │     no change │
│ QQuery 4  │  848.25 ms │                                  730.51 ms │ +1.16x faster │
│ QQuery 5  │   49.81 ms │                                   50.70 ms │     no change │
│ QQuery 6  │   33.48 ms │                                   32.91 ms │     no change │
│ QQuery 7  │   71.47 ms │                                   71.77 ms │     no change │
│ QQuery 8  │   38.98 ms │                                   37.49 ms │     no change │
│ QQuery 9  │   51.69 ms │                                   51.63 ms │     no change │
│ QQuery 10 │   61.19 ms │                                   61.23 ms │     no change │
│ QQuery 11 │  474.56 ms │                                  412.40 ms │ +1.15x faster │
│ QQuery 12 │   25.98 ms │                                   25.66 ms │     no change │
│ QQuery 13 │  111.89 ms │                                  112.01 ms │     no change │
│ QQuery 14 │  379.70 ms │                                  381.89 ms │     no change │
│ QQuery 15 │   52.61 ms │                                   50.92 ms │     no change │
│ QQuery 16 │    6.55 ms │                                    5.98 ms │ +1.10x faster │
│ QQuery 17 │   78.89 ms │                                   78.21 ms │     no change │
│ QQuery 18 │  103.45 ms │                                  107.78 ms │     no change │
│ QQuery 19 │   42.06 ms │                                   41.13 ms │     no change │
│ QQuery 20 │   31.44 ms │                                   30.91 ms │     no change │
│ QQuery 21 │   16.75 ms │                                   17.44 ms │     no change │
│ QQuery 22 │   74.72 ms │                                   61.54 ms │ +1.21x faster │
│ QQuery 23 │  300.43 ms │                                  300.97 ms │     no change │
│ QQuery 24 │  185.63 ms │                                  192.11 ms │     no change │
│ QQuery 25 │  105.51 ms │                                  106.48 ms │     no change │
│ QQuery 26 │   45.61 ms │                                   46.64 ms │     no change │
│ QQuery 27 │    5.78 ms │                                    6.39 ms │  1.11x slower │
│ QQuery 28 │   56.78 ms │                                   58.13 ms │     no change │
│ QQuery 29 │   96.63 ms │                                   94.77 ms │     no change │
│ QQuery 30 │   36.03 ms │                                   37.11 ms │     no change │
│ QQuery 31 │  112.74 ms │                                  110.55 ms │     no change │
│ QQuery 32 │   20.62 ms │                                   19.22 ms │ +1.07x faster │
│ QQuery 33 │   38.67 ms │                                   36.87 ms │     no change │
│ QQuery 34 │   10.38 ms │                                    9.57 ms │ +1.09x faster │
│ QQuery 35 │   71.35 ms │                                   70.78 ms │     no change │
│ QQuery 36 │    5.84 ms │                                    5.84 ms │     no change │
│ QQuery 37 │    7.13 ms │                                    7.83 ms │  1.10x slower │
│ QQuery 38 │   63.48 ms │                                   62.04 ms │     no change │
│ QQuery 39 │   70.42 ms │                                   71.68 ms │     no change │
│ QQuery 40 │   22.35 ms │                                   24.63 ms │  1.10x slower │
│ QQuery 41 │   13.39 ms │                                   14.02 ms │     no change │
│ QQuery 42 │   24.48 ms │                                   24.62 ms │     no change │
│ QQuery 43 │    5.59 ms │                                    5.06 ms │ +1.10x faster │
│ QQuery 44 │    9.41 ms │                                    8.51 ms │ +1.11x faster │
│ QQuery 45 │   39.53 ms │                                   34.25 ms │ +1.15x faster │
│ QQuery 46 │   11.60 ms │                                   10.87 ms │ +1.07x faster │
│ QQuery 47 │  211.05 ms │                                  199.24 ms │ +1.06x faster │
│ QQuery 48 │   90.88 ms │                                   89.92 ms │     no change │
│ QQuery 49 │   69.90 ms │                                   68.75 ms │     no change │
│ QQuery 50 │   58.31 ms │                                   57.05 ms │     no change │
│ QQuery 51 │   90.24 ms │                                   90.33 ms │     no change │
│ QQuery 52 │   23.91 ms │                                   24.24 ms │     no change │
│ QQuery 53 │   30.05 ms │                                   29.36 ms │     no change │
│ QQuery 54 │   53.86 ms │                                   52.73 ms │     no change │
│ QQuery 55 │   23.79 ms │                                   24.46 ms │     no change │
│ QQuery 56 │   39.01 ms │                                   38.42 ms │     no change │
│ QQuery 57 │  158.65 ms │                                  149.85 ms │ +1.06x faster │
│ QQuery 58 │  104.71 ms │                                  101.08 ms │     no change │
│ QQuery 59 │  109.43 ms │                                  107.70 ms │     no change │
│ QQuery 60 │   43.30 ms │                                   43.42 ms │     no change │
│ QQuery 61 │    9.78 ms │                                    9.76 ms │     no change │
│ QQuery 62 │   39.14 ms │                                   38.05 ms │     no change │
│ QQuery 63 │   29.99 ms │                                   29.17 ms │     no change │
│ QQuery 64 │  378.84 ms │                                  367.00 ms │     no change │
│ QQuery 65 │  136.15 ms │                                  132.43 ms │     no change │
│ QQuery 66 │   74.80 ms │                                   73.52 ms │     no change │
│ QQuery 67 │  226.00 ms │                                  217.53 ms │     no change │
│ QQuery 68 │   11.14 ms │                                   12.42 ms │  1.11x slower │
│ QQuery 69 │   55.74 ms │                                   57.55 ms │     no change │
│ QQuery 70 │   97.95 ms │                                  100.84 ms │     no change │
│ QQuery 71 │   35.13 ms │                                   34.74 ms │     no change │
│ QQuery 72 │ 1656.75 ms │                                 1589.51 ms │     no change │
│ QQuery 73 │   10.05 ms │                                    9.68 ms │     no change │
│ QQuery 74 │  239.96 ms │                                  232.58 ms │     no change │
│ QQuery 75 │  137.00 ms │                                  139.40 ms │     no change │
│ QQuery 76 │   33.80 ms │                                   33.56 ms │     no change │
│ QQuery 77 │   58.37 ms │                                   59.56 ms │     no change │
│ QQuery 78 │  156.37 ms │                                  156.34 ms │     no change │
│ QQuery 79 │   66.75 ms │                                   66.08 ms │     no change │
│ QQuery 80 │   92.97 ms │                                   93.61 ms │     no change │
│ QQuery 81 │   27.44 ms │                                   27.61 ms │     no change │
│ QQuery 82 │   16.35 ms │                                   17.61 ms │  1.08x slower │
│ QQuery 83 │   31.65 ms │                                   33.19 ms │     no change │
│ QQuery 84 │   32.18 ms │                                   31.24 ms │     no change │
│ QQuery 85 │   99.62 ms │                                  100.13 ms │     no change │
│ QQuery 86 │   24.62 ms │                                   24.93 ms │     no change │
│ QQuery 87 │   68.90 ms │                                   62.78 ms │ +1.10x faster │
│ QQuery 88 │   59.01 ms │                                   58.73 ms │     no change │
│ QQuery 89 │   36.20 ms │                                   36.98 ms │     no change │
│ QQuery 90 │   16.25 ms │                                   16.49 ms │     no change │
│ QQuery 91 │   39.55 ms │                                   41.36 ms │     no change │
│ QQuery 92 │   27.66 ms │                                   30.72 ms │  1.11x slower │
│ QQuery 93 │   51.30 ms │                                   50.46 ms │     no change │
│ QQuery 94 │   37.76 ms │                                   38.76 ms │     no change │
│ QQuery 95 │   77.55 ms │                                   80.17 ms │     no change │
│ QQuery 96 │   23.32 ms │                                   23.91 ms │     no change │
│ QQuery 97 │   50.42 ms │                                   51.17 ms │     no change │
│ QQuery 98 │   39.02 ms │                                   38.09 ms │     no change │
│ QQuery 99 │   56.33 ms │                                   56.66 ms │     no change │
└───────────┴────────────┴────────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Benchmark Summary                                         ┃           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ Total Time (HEAD)                                         │ 9492.48ms │
│ Total Time (rich-T-kid_aggregate-dictionary-hash-cache)   │ 9182.48ms │
│ Average Time (HEAD)                                       │   95.88ms │
│ Average Time (rich-T-kid_aggregate-dictionary-hash-cache) │   92.75ms │
│ Queries Faster                                            │        13 │
│ Queries Slower                                            │         6 │
│ Queries with No Change                                    │        80 │
│ Queries with Failure                                      │         0 │
└───────────────────────────────────────────────────────────┴───────────┘

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

Comparing HEAD and rich-T-kid_aggregate-dictionary-hash-cache
--------------------
Benchmark tpcds_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                  HEAD ┃ rich-T-kid_aggregate-dictionary-hash-cache ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │           5.26 / 5.84 ±1.07 / 7.98 ms │                5.16 / 5.93 ±1.17 / 8.25 ms │     no change │
│ QQuery 2  │        76.38 / 77.28 ±0.52 / 77.90 ms │             76.81 / 77.40 ±0.58 / 78.14 ms │     no change │
│ QQuery 3  │        29.07 / 29.78 ±0.41 / 30.34 ms │             28.64 / 28.89 ±0.19 / 29.17 ms │     no change │
│ QQuery 4  │    848.25 / 875.93 ±16.53 / 899.52 ms │         730.51 / 777.28 ±32.35 / 831.96 ms │ +1.13x faster │
│ QQuery 5  │        49.81 / 50.42 ±0.34 / 50.75 ms │             50.70 / 51.40 ±0.63 / 52.19 ms │     no change │
│ QQuery 6  │        33.48 / 34.02 ±0.44 / 34.62 ms │             32.91 / 33.73 ±0.59 / 34.55 ms │     no change │
│ QQuery 7  │        71.47 / 73.40 ±1.18 / 74.73 ms │             71.77 / 73.51 ±1.67 / 76.54 ms │     no change │
│ QQuery 8  │        38.98 / 39.16 ±0.22 / 39.53 ms │             37.49 / 38.33 ±0.77 / 39.69 ms │     no change │
│ QQuery 9  │        51.69 / 52.82 ±1.15 / 54.87 ms │             51.63 / 52.95 ±0.76 / 53.99 ms │     no change │
│ QQuery 10 │        61.19 / 61.56 ±0.29 / 61.90 ms │             61.23 / 61.66 ±0.31 / 62.04 ms │     no change │
│ QQuery 11 │    474.56 / 494.94 ±15.07 / 520.23 ms │         412.40 / 433.65 ±15.15 / 456.30 ms │ +1.14x faster │
│ QQuery 12 │        25.98 / 27.61 ±1.77 / 30.92 ms │             25.66 / 26.47 ±0.74 / 27.76 ms │     no change │
│ QQuery 13 │     111.89 / 113.95 ±2.13 / 117.94 ms │          112.01 / 115.02 ±1.88 / 117.00 ms │     no change │
│ QQuery 14 │     379.70 / 387.89 ±4.32 / 391.67 ms │          381.89 / 387.80 ±4.42 / 393.90 ms │     no change │
│ QQuery 15 │        52.61 / 54.34 ±1.51 / 56.49 ms │             50.92 / 52.85 ±2.84 / 58.49 ms │     no change │
│ QQuery 16 │           6.55 / 6.82 ±0.19 / 7.02 ms │                5.98 / 6.11 ±0.22 / 6.56 ms │ +1.12x faster │
│ QQuery 17 │        78.89 / 81.77 ±3.20 / 87.48 ms │             78.21 / 81.68 ±4.33 / 90.10 ms │     no change │
│ QQuery 18 │     103.45 / 105.41 ±1.06 / 106.53 ms │          107.78 / 110.07 ±1.67 / 112.57 ms │     no change │
│ QQuery 19 │        42.06 / 42.49 ±0.44 / 43.27 ms │             41.13 / 42.58 ±0.77 / 43.14 ms │     no change │
│ QQuery 20 │        31.44 / 32.34 ±0.62 / 33.03 ms │             30.91 / 31.48 ±0.32 / 31.84 ms │     no change │
│ QQuery 21 │        16.75 / 17.53 ±1.19 / 19.89 ms │             17.44 / 17.56 ±0.07 / 17.62 ms │     no change │
│ QQuery 22 │        74.72 / 77.60 ±1.96 / 80.64 ms │             61.54 / 63.56 ±1.75 / 66.46 ms │ +1.22x faster │
│ QQuery 23 │     300.43 / 310.29 ±9.07 / 321.30 ms │          300.97 / 315.23 ±8.20 / 324.17 ms │     no change │
│ QQuery 24 │     185.63 / 196.96 ±6.03 / 203.32 ms │          192.11 / 196.66 ±3.62 / 201.89 ms │     no change │
│ QQuery 25 │     105.51 / 108.82 ±2.87 / 113.49 ms │          106.48 / 109.90 ±2.22 / 113.00 ms │     no change │
│ QQuery 26 │        45.61 / 46.20 ±0.46 / 46.87 ms │             46.64 / 49.00 ±1.71 / 51.47 ms │  1.06x slower │
│ QQuery 27 │           5.78 / 6.55 ±1.13 / 8.78 ms │                6.39 / 6.50 ±0.12 / 6.71 ms │     no change │
│ QQuery 28 │        56.78 / 59.70 ±2.15 / 62.12 ms │             58.13 / 60.09 ±1.08 / 61.16 ms │     no change │
│ QQuery 29 │       96.63 / 98.44 ±1.32 / 100.46 ms │            94.77 / 96.92 ±1.97 / 100.34 ms │     no change │
│ QQuery 30 │        36.03 / 38.10 ±1.31 / 39.89 ms │             37.11 / 40.38 ±3.26 / 46.47 ms │  1.06x slower │
│ QQuery 31 │     112.74 / 113.75 ±1.26 / 116.23 ms │          110.55 / 113.47 ±2.49 / 118.02 ms │     no change │
│ QQuery 32 │        20.62 / 21.88 ±1.86 / 25.55 ms │             19.22 / 19.69 ±0.61 / 20.77 ms │ +1.11x faster │
│ QQuery 33 │        38.67 / 39.23 ±0.37 / 39.81 ms │             36.87 / 38.20 ±0.78 / 38.99 ms │     no change │
│ QQuery 34 │        10.38 / 10.47 ±0.07 / 10.59 ms │               9.57 / 9.91 ±0.23 / 10.28 ms │ +1.06x faster │
│ QQuery 35 │        71.35 / 72.59 ±2.02 / 76.61 ms │             70.78 / 74.40 ±3.11 / 78.78 ms │     no change │
│ QQuery 36 │           5.84 / 6.15 ±0.29 / 6.64 ms │                5.84 / 6.04 ±0.21 / 6.42 ms │     no change │
│ QQuery 37 │           7.13 / 7.33 ±0.16 / 7.58 ms │                7.83 / 8.05 ±0.16 / 8.31 ms │  1.10x slower │
│ QQuery 38 │        63.48 / 66.31 ±1.63 / 68.28 ms │             62.04 / 63.79 ±1.26 / 65.86 ms │     no change │
│ QQuery 39 │        70.42 / 73.12 ±2.48 / 76.62 ms │             71.68 / 75.26 ±2.50 / 78.40 ms │     no change │
│ QQuery 40 │        22.35 / 22.81 ±0.34 / 23.27 ms │             24.63 / 26.05 ±0.81 / 27.07 ms │  1.14x slower │
│ QQuery 41 │        13.39 / 13.54 ±0.17 / 13.86 ms │             14.02 / 14.22 ±0.15 / 14.48 ms │  1.05x slower │
│ QQuery 42 │        24.48 / 25.05 ±0.64 / 26.21 ms │             24.62 / 24.84 ±0.33 / 25.48 ms │     no change │
│ QQuery 43 │           5.59 / 5.74 ±0.08 / 5.81 ms │                5.06 / 5.37 ±0.26 / 5.81 ms │ +1.07x faster │
│ QQuery 44 │           9.41 / 9.57 ±0.15 / 9.80 ms │                8.51 / 8.82 ±0.26 / 9.18 ms │ +1.08x faster │
│ QQuery 45 │        39.53 / 41.06 ±1.74 / 43.47 ms │             34.25 / 35.84 ±1.28 / 37.80 ms │ +1.15x faster │
│ QQuery 46 │        11.60 / 11.94 ±0.24 / 12.33 ms │             10.87 / 10.99 ±0.08 / 11.11 ms │ +1.09x faster │
│ QQuery 47 │     211.05 / 214.56 ±1.93 / 216.06 ms │          199.24 / 206.96 ±6.81 / 216.99 ms │     no change │
│ QQuery 48 │        90.88 / 92.40 ±1.13 / 94.36 ms │             89.92 / 92.19 ±1.78 / 95.07 ms │     no change │
│ QQuery 49 │        69.90 / 70.92 ±0.99 / 72.24 ms │             68.75 / 70.34 ±1.63 / 73.11 ms │     no change │
│ QQuery 50 │        58.31 / 59.48 ±0.86 / 60.83 ms │             57.05 / 57.93 ±0.60 / 58.92 ms │     no change │
│ QQuery 51 │        90.24 / 94.57 ±2.81 / 97.69 ms │            90.33 / 96.58 ±4.80 / 102.19 ms │     no change │
│ QQuery 52 │        23.91 / 24.72 ±0.56 / 25.23 ms │             24.24 / 24.71 ±0.33 / 25.25 ms │     no change │
│ QQuery 53 │        30.05 / 30.33 ±0.22 / 30.67 ms │             29.36 / 29.85 ±0.28 / 30.17 ms │     no change │
│ QQuery 54 │        53.86 / 56.36 ±3.79 / 63.85 ms │             52.73 / 53.67 ±0.73 / 54.75 ms │     no change │
│ QQuery 55 │        23.79 / 24.26 ±0.28 / 24.67 ms │             24.46 / 25.37 ±1.23 / 27.75 ms │     no change │
│ QQuery 56 │        39.01 / 39.75 ±0.58 / 40.76 ms │             38.42 / 39.06 ±0.42 / 39.43 ms │     no change │
│ QQuery 57 │     158.65 / 159.88 ±1.02 / 161.68 ms │          149.85 / 153.45 ±2.16 / 156.17 ms │     no change │
│ QQuery 58 │     104.71 / 106.79 ±1.54 / 109.33 ms │          101.08 / 103.78 ±3.39 / 110.39 ms │     no change │
│ QQuery 59 │     109.43 / 110.32 ±0.82 / 111.64 ms │          107.70 / 109.11 ±1.07 / 110.63 ms │     no change │
│ QQuery 60 │        43.30 / 43.78 ±0.41 / 44.41 ms │             43.42 / 44.56 ±1.27 / 47.04 ms │     no change │
│ QQuery 61 │          9.78 / 9.92 ±0.12 / 10.06 ms │               9.76 / 9.97 ±0.23 / 10.37 ms │     no change │
│ QQuery 62 │        39.14 / 39.74 ±0.57 / 40.82 ms │             38.05 / 38.73 ±0.52 / 39.58 ms │     no change │
│ QQuery 63 │        29.99 / 30.49 ±0.26 / 30.71 ms │             29.17 / 29.70 ±0.47 / 30.38 ms │     no change │
│ QQuery 64 │     378.84 / 383.66 ±2.86 / 386.66 ms │          367.00 / 374.97 ±6.71 / 386.03 ms │     no change │
│ QQuery 65 │     136.15 / 140.02 ±4.37 / 148.20 ms │          132.43 / 136.12 ±2.47 / 139.93 ms │     no change │
│ QQuery 66 │        74.80 / 80.18 ±4.43 / 88.34 ms │             73.52 / 75.04 ±2.22 / 79.28 ms │ +1.07x faster │
│ QQuery 67 │     226.00 / 240.87 ±7.92 / 248.00 ms │          217.53 / 225.71 ±6.09 / 233.54 ms │ +1.07x faster │
│ QQuery 68 │        11.14 / 11.53 ±0.27 / 11.88 ms │             12.42 / 12.62 ±0.22 / 13.02 ms │  1.09x slower │
│ QQuery 69 │        55.74 / 56.80 ±0.88 / 58.25 ms │             57.55 / 58.47 ±0.51 / 59.13 ms │     no change │
│ QQuery 70 │      97.95 / 101.77 ±4.75 / 111.15 ms │          100.84 / 103.19 ±2.05 / 106.92 ms │     no change │
│ QQuery 71 │        35.13 / 35.32 ±0.16 / 35.55 ms │             34.74 / 35.52 ±0.79 / 36.86 ms │     no change │
│ QQuery 72 │ 1656.75 / 1671.63 ±12.48 / 1689.66 ms │      1589.51 / 1616.54 ±27.62 / 1662.47 ms │     no change │
│ QQuery 73 │        10.05 / 10.20 ±0.12 / 10.39 ms │               9.68 / 9.87 ±0.15 / 10.08 ms │     no change │
│ QQuery 74 │    239.96 / 249.79 ±10.12 / 264.52 ms │         232.58 / 244.38 ±11.01 / 261.43 ms │     no change │
│ QQuery 75 │     137.00 / 142.18 ±3.48 / 145.86 ms │          139.40 / 140.18 ±0.79 / 141.57 ms │     no change │
│ QQuery 76 │        33.80 / 34.66 ±0.77 / 35.62 ms │             33.56 / 34.48 ±1.02 / 36.33 ms │     no change │
│ QQuery 77 │        58.37 / 60.80 ±2.39 / 64.20 ms │             59.56 / 60.89 ±1.20 / 62.39 ms │     no change │
│ QQuery 78 │     156.37 / 164.51 ±6.87 / 173.81 ms │          156.34 / 162.43 ±6.86 / 174.22 ms │     no change │
│ QQuery 79 │        66.75 / 69.03 ±2.02 / 72.48 ms │             66.08 / 69.92 ±4.12 / 77.69 ms │     no change │
│ QQuery 80 │        92.97 / 95.96 ±2.22 / 98.11 ms │             93.61 / 95.92 ±1.90 / 98.82 ms │     no change │
│ QQuery 81 │        27.44 / 27.74 ±0.24 / 28.17 ms │             27.61 / 29.06 ±0.86 / 30.19 ms │     no change │
│ QQuery 82 │        16.35 / 16.92 ±0.83 / 18.56 ms │             17.61 / 19.13 ±2.39 / 23.88 ms │  1.13x slower │
│ QQuery 83 │        31.65 / 32.28 ±0.65 / 33.40 ms │             33.19 / 33.72 ±0.43 / 34.28 ms │     no change │
│ QQuery 84 │        32.18 / 32.45 ±0.25 / 32.91 ms │             31.24 / 31.84 ±0.49 / 32.44 ms │     no change │
│ QQuery 85 │      99.62 / 103.16 ±2.77 / 107.50 ms │          100.13 / 101.06 ±0.89 / 102.23 ms │     no change │
│ QQuery 86 │        24.62 / 25.54 ±0.65 / 26.26 ms │             24.93 / 25.29 ±0.19 / 25.43 ms │     no change │
│ QQuery 87 │        68.90 / 70.07 ±1.62 / 73.17 ms │             62.78 / 65.27 ±1.71 / 67.39 ms │ +1.07x faster │
│ QQuery 88 │        59.01 / 60.00 ±0.64 / 60.64 ms │             58.73 / 59.60 ±0.59 / 60.28 ms │     no change │
│ QQuery 89 │        36.20 / 36.86 ±0.55 / 37.69 ms │             36.98 / 37.26 ±0.33 / 37.86 ms │     no change │
│ QQuery 90 │        16.25 / 16.48 ±0.19 / 16.75 ms │             16.49 / 17.47 ±1.37 / 20.19 ms │  1.06x slower │
│ QQuery 91 │        39.55 / 40.55 ±1.29 / 43.08 ms │             41.36 / 42.39 ±1.10 / 44.39 ms │     no change │
│ QQuery 92 │        27.66 / 28.51 ±0.66 / 29.47 ms │             30.72 / 31.14 ±0.23 / 31.38 ms │  1.09x slower │
│ QQuery 93 │        51.30 / 51.62 ±0.23 / 51.99 ms │             50.46 / 51.07 ±0.57 / 52.14 ms │     no change │
│ QQuery 94 │        37.76 / 38.98 ±0.63 / 39.56 ms │             38.76 / 39.48 ±0.44 / 40.09 ms │     no change │
│ QQuery 95 │        77.55 / 79.68 ±2.44 / 84.16 ms │             80.17 / 83.79 ±2.22 / 86.26 ms │  1.05x slower │
│ QQuery 96 │        23.32 / 23.95 ±0.63 / 25.15 ms │             23.91 / 24.34 ±0.25 / 24.66 ms │     no change │
│ QQuery 97 │        50.42 / 51.93 ±0.88 / 52.90 ms │             51.17 / 52.24 ±1.65 / 55.53 ms │     no change │
│ QQuery 98 │        39.02 / 39.59 ±0.39 / 39.93 ms │             38.09 / 38.39 ±0.27 / 38.85 ms │     no change │
│ QQuery 99 │        56.33 / 57.72 ±0.78 / 58.54 ms │             56.66 / 57.39 ±0.57 / 58.24 ms │     no change │
└───────────┴───────────────────────────────────────┴────────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Benchmark Summary                                         ┃           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ Total Time (HEAD)                                         │ 9739.73ms │
│ Total Time (rich-T-kid_aggregate-dictionary-hash-cache)   │ 9461.66ms │
│ Average Time (HEAD)                                       │   98.38ms │
│ Average Time (rich-T-kid_aggregate-dictionary-hash-cache) │   95.57ms │
│ Queries Faster                                            │        13 │
│ Queries Slower                                            │        10 │
│ Queries with No Change                                    │        76 │
│ 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: 4ede5833f68dad5bc8169492dedc5749fcc4b8d5 | Changed: d49dd6d5614860d21328eb63633fd9d8e08fbd37

tpcds — tpcds_sf1

Query Base Changed Change
Query 1 198.0 KiB 197.5 KiB -0.3%
Query 2 70.8 MiB 88.1 MiB +24.4%
Query 3 1.9 MiB 1.7 MiB -11.1%
Query 4 79.7 MiB 79.7 MiB +0.0%
Query 5 13.0 MiB 13.0 MiB -0.0%
Query 6 4.7 MiB 4.4 MiB -6.2%
Query 7 3.7 MiB 3.7 MiB +1.0%
Query 8 1.7 MiB 2.2 MiB +27.7%
Query 9 32.1 KiB 32.1 KiB +0.0%
Query 10 2.0 MiB 2.0 MiB +0.0%
Query 11 62.0 MiB 62.0 MiB +0.0%
Query 12 114.4 MiB 114.4 MiB +0.0%
Query 13 13.7 MiB 13.7 MiB +0.0%
Query 14 171.0 MiB 171.6 MiB +0.4%
Query 15 4.2 MiB 4.3 MiB +2.8%
Query 16 118.6 KiB 118.6 KiB +0.0%
Query 17 40.6 MiB 41.0 MiB +1.2%
Query 18 21.2 MiB 21.2 MiB +0.0%
Query 19 2.1 MiB 1.8 MiB -14.4%
Query 20 114.6 MiB 114.6 MiB -0.0%
Query 21 3.3 MiB 3.7 MiB +11.1%
Query 22 61.8 MiB 63.5 MiB +2.8%
Query 23 211.9 MiB 211.5 MiB -0.1%
Query 24 38.7 MiB 38.7 MiB +0.0%
Query 25 99.9 MiB 99.9 MiB +0.0%
Query 26 3.5 MiB 3.5 MiB -0.0%
Query 27 1.6 MiB 1.6 MiB +0.0%
Query 28 1.5 MiB 1.3 MiB -9.1%
Query 29 104.7 MiB 104.7 MiB +0.0%
Query 30 3.8 MiB 3.7 MiB -2.6%
Query 31 13.4 MiB 13.4 MiB +0.0%
Query 32 2.5 MiB 2.7 MiB +8.9%
Query 33 5.5 MiB 4.2 MiB -22.9%
Query 34 6.0 MiB 6.0 MiB +0.0%
Query 35 16.6 MiB 17.5 MiB +5.3%
Query 36 10.3 MiB 10.3 MiB +0.0%
Query 37 3.3 MiB 3.3 MiB +0.0%
Query 38 10.8 MiB 10.8 MiB +0.2%
Query 39 53.0 MiB 43.6 MiB -17.7%
Query 40 12.2 MiB 12.2 MiB +0.0%
Query 41 2.1 MiB 2.1 MiB +0.1%
Query 42 1.1 MiB 1.3 MiB +21.9%
Query 43 257.8 KiB 327.1 KiB +26.9%
Query 44 233.2 KiB 233.2 KiB +0.0%
Query 45 4.5 MiB 4.5 MiB +0.0%
Query 46 6.2 MiB 6.2 MiB +0.0%
Query 47 132.5 MiB 128.5 MiB -3.1%
Query 48 11.4 MiB 11.8 MiB +3.3%
Query 49 52.8 MiB 42.8 MiB -18.9%
Query 50 17.3 MiB 16.9 MiB -2.5%
Query 51 177.7 MiB 177.7 MiB +0.0%
Query 52 1.5 MiB 1.5 MiB +3.0%
Query 53 30.6 MiB 30.4 MiB -0.5%
Query 54 2.1 MiB 2.1 MiB +0.0%
Query 55 1.5 MiB 1.3 MiB -14.5%
Query 56 3.5 MiB 3.0 MiB -12.4%
Query 57 120.8 MiB 120.8 MiB -0.0%
Query 58 4.2 MiB 4.2 MiB +0.0%
Query 59 11.7 MiB 11.7 MiB +0.0%
Query 60 7.2 MiB 7.2 MiB +0.2%
Query 61 2.4 KiB 2.5 KiB +3.3%
Query 62 3.7 MiB 3.6 MiB -0.1%
Query 63 20.6 MiB 20.6 MiB -0.0%
Query 64 94.8 MiB 84.7 MiB -10.6%
Query 65 29.7 MiB 29.7 MiB +0.0%
Query 66 14.9 MiB 14.9 MiB +0.0%
Query 67 137.5 MiB 140.2 MiB +2.0%
Query 68 6.2 MiB 6.2 MiB +0.0%
Query 69 3.7 MiB 3.8 MiB +3.2%
Query 70 44.0 MiB 44.0 MiB -0.0%
Query 71 40.4 MiB 40.4 MiB +0.1%
Query 72 97.2 MiB 97.2 MiB +0.0%
Query 73 6.0 MiB 6.0 MiB +0.0%
Query 74 34.6 MiB 34.6 MiB +0.0%
Query 75 20.7 MiB 20.2 MiB -2.8%
Query 76 7.9 MiB 7.9 MiB +0.0%
Query 77 4.1 MiB 4.1 MiB +0.0%
Query 78 111.1 MiB 111.5 MiB +0.4%
Query 79 8.7 MiB 9.3 MiB +7.5%
Query 80 42.8 MiB 42.0 MiB -1.9%
Query 81 4.0 MiB 4.2 MiB +2.8%
Query 82 4.9 MiB 4.9 MiB +0.0%
Query 83 9.7 MiB 9.0 MiB -7.0%
Query 84 11.9 MiB 11.9 MiB +0.0%
Query 85 17.0 MiB 17.0 MiB +0.0%
Query 86 82.1 MiB 82.1 MiB -0.0%
Query 87 12.9 MiB 13.1 MiB +1.7%
Query 88 1.6 MiB 1.7 MiB +6.8%
Query 89 112.2 MiB 112.2 MiB -0.0%
Query 90 348.6 KiB 363.7 KiB +4.3%
Query 91 21.1 MiB 11.4 MiB -46.3%
Query 92 2.7 MiB 2.7 MiB +0.0%
Query 93 15.2 MiB 15.4 MiB +1.4%
Query 94 3.4 MiB 3.7 MiB +8.2%
Query 95 18.3 MiB 17.5 MiB -4.8%
Query 96 224.7 KiB 224.7 KiB +0.0%
Query 97 33.1 MiB 33.1 MiB +0.0%
Query 98 124.4 MiB 114.7 MiB -7.8%
Query 99 1.9 MiB 1.9 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
tpcds base (4ede5833f68dad5bc8169492dedc5749fcc4b8d5) 211.9 MiB 1.9 GiB 1.7 GiB 9.4×
tpcds changed (d49dd6d5614860d21328eb63633fd9d8e08fbd37) 211.5 MiB 1.9 GiB 1.7 GiB 9.2×
Resource Usage

tpcds — base (merge-base)

Metric Value
Wall time 50.0s
Peak memory 1.9 GiB
Avg memory 1.4 GiB
CPU user 199.1s
CPU sys 5.7s
Peak spill 0 B

tpcds — branch

Metric Value
Wall time 50.0s
Peak memory 1.9 GiB
Avg memory 1.4 GiB
CPU user 192.3s
CPU sys 5.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 e1aa5f4 (e1aa5f4) to 4ede583 diff

Run configuration
run benchmark clickbench_partitioned
env:
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "4ede5833f68dad5bc8169492dedc5749fcc4b8d5"
changed:
  ref: "e1aa5f4bed1c2880b1043b0d87502e5c984fa9cc"
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_aggregate-dictionary-hash-cache
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓
┃ Query     ┃        HEAD ┃ rich-T-kid_aggregate-dictionary-hash-cache ┃       Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━┩
│ QQuery 0  │     1.14 ms │                                    1.13 ms │    no change │
│ QQuery 1  │    10.80 ms │                                   11.11 ms │    no change │
│ QQuery 2  │    36.17 ms │                                   35.69 ms │    no change │
│ QQuery 3  │    30.82 ms │                                   31.28 ms │    no change │
│ QQuery 4  │   230.48 ms │                                  237.01 ms │    no change │
│ QQuery 5  │  1467.64 ms │                                 1491.31 ms │    no change │
│ QQuery 6  │     1.16 ms │                                    1.17 ms │    no change │
│ QQuery 7  │    12.06 ms │                                   12.32 ms │    no change │
│ QQuery 8  │   330.97 ms │                                  335.77 ms │    no change │
│ QQuery 9  │   467.95 ms │                                  472.92 ms │    no change │
│ QQuery 10 │   197.33 ms │                                  199.89 ms │    no change │
│ QQuery 11 │   208.43 ms │                                  209.93 ms │    no change │
│ QQuery 12 │  1503.49 ms │                                 1516.12 ms │    no change │
│ QQuery 13 │  2036.41 ms │                                 1964.48 ms │    no change │
│ QQuery 14 │  1578.00 ms │                                 1667.91 ms │ 1.06x slower │
│ QQuery 15 │   285.68 ms │                                  284.88 ms │    no change │
│ QQuery 16 │  3527.19 ms │                                 3623.24 ms │    no change │
│ QQuery 17 │  3673.63 ms │                                 3667.34 ms │    no change │
│ QQuery 18 │  7064.88 ms │                                 6800.53 ms │    no change │
│ QQuery 19 │    26.58 ms │                                   26.80 ms │    no change │
│ QQuery 20 │  1042.27 ms │                                 1048.38 ms │    no change │
│ QQuery 21 │  1349.53 ms │                                 1359.83 ms │    no change │
│ QQuery 22 │  3228.98 ms │                                 3221.52 ms │    no change │
│ QQuery 23 │  9041.74 ms │                                 9198.98 ms │    no change │
│ QQuery 24 │    94.75 ms │                                   96.48 ms │    no change │
│ QQuery 25 │   349.45 ms │                                  349.39 ms │    no change │
│ QQuery 26 │    97.43 ms │                                   96.10 ms │    no change │
│ QQuery 27 │  1143.59 ms │                                 1129.82 ms │    no change │
│ QQuery 28 │  2807.12 ms │                                 2747.76 ms │    no change │
│ QQuery 29 │    39.53 ms │                                   38.75 ms │    no change │
│ QQuery 30 │   536.26 ms │                                  539.05 ms │    no change │
│ QQuery 31 │   546.36 ms │                                  539.95 ms │    no change │
│ QQuery 32 │  1008.59 ms │                                 1023.93 ms │    no change │
│ QQuery 33 │ 13780.06 ms │                                13431.55 ms │    no change │
│ QQuery 34 │ 13782.38 ms │                                13762.29 ms │    no change │
│ QQuery 35 │   296.92 ms │                                  303.46 ms │    no change │
│ QQuery 36 │   176.71 ms │                                  175.99 ms │    no change │
│ QQuery 37 │    96.70 ms │                                   97.82 ms │    no change │
│ QQuery 38 │    79.89 ms │                                   79.34 ms │    no change │
│ QQuery 39 │   400.18 ms │                                  387.95 ms │    no change │
│ QQuery 40 │    14.42 ms │                                   14.45 ms │    no change │
│ QQuery 41 │    13.47 ms │                                   13.88 ms │    no change │
│ QQuery 42 │    13.00 ms │                                   13.53 ms │    no change │
└───────────┴─────────────┴────────────────────────────────────────────┴──────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                                         ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                                         │ 72630.14ms │
│ Total Time (rich-T-kid_aggregate-dictionary-hash-cache)   │ 72261.02ms │
│ Average Time (HEAD)                                       │  1689.07ms │
│ Average Time (rich-T-kid_aggregate-dictionary-hash-cache) │  1680.49ms │
│ 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_aggregate-dictionary-hash-cache
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                        HEAD ┃ rich-T-kid_aggregate-dictionary-hash-cache ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0  │                1.14 / 4.18 ±5.98 / 16.14 ms │               1.13 / 4.27 ±6.10 / 16.47 ms │     no change │
│ QQuery 1  │              10.80 / 10.99 ±0.14 / 11.20 ms │             11.11 / 11.23 ±0.09 / 11.34 ms │     no change │
│ QQuery 2  │              36.17 / 36.83 ±1.07 / 38.97 ms │             35.69 / 35.99 ±0.28 / 36.44 ms │     no change │
│ QQuery 3  │              30.82 / 31.53 ±1.08 / 33.67 ms │             31.28 / 32.27 ±1.46 / 35.16 ms │     no change │
│ QQuery 4  │           230.48 / 234.14 ±2.26 / 236.54 ms │          237.01 / 240.52 ±2.11 / 243.16 ms │     no change │
│ QQuery 5  │       1467.64 / 1484.99 ±11.03 / 1497.97 ms │      1491.31 / 1533.94 ±54.06 / 1632.03 ms │     no change │
│ QQuery 6  │                 1.16 / 1.32 ±0.24 / 1.80 ms │                1.17 / 1.33 ±0.24 / 1.79 ms │     no change │
│ QQuery 7  │              12.06 / 12.13 ±0.05 / 12.19 ms │             12.32 / 12.44 ±0.10 / 12.55 ms │     no change │
│ QQuery 8  │           330.97 / 337.01 ±5.04 / 343.89 ms │          335.77 / 342.35 ±5.76 / 352.32 ms │     no change │
│ QQuery 9  │           467.95 / 480.37 ±9.25 / 493.27 ms │         472.92 / 494.92 ±16.75 / 523.40 ms │     no change │
│ QQuery 10 │           197.33 / 199.70 ±2.51 / 203.99 ms │          199.89 / 201.38 ±1.72 / 204.61 ms │     no change │
│ QQuery 11 │           208.43 / 209.44 ±0.87 / 210.60 ms │          209.93 / 211.23 ±0.84 / 212.32 ms │     no change │
│ QQuery 12 │       1503.49 / 1535.07 ±25.89 / 1572.52 ms │      1516.12 / 1564.18 ±35.33 / 1616.44 ms │     no change │
│ QQuery 13 │      2036.41 / 2254.22 ±336.04 / 2922.97 ms │     1964.48 / 2335.35 ±308.32 / 2729.20 ms │     no change │
│ QQuery 14 │       1578.00 / 1685.09 ±80.99 / 1823.81 ms │      1667.91 / 1695.99 ±30.93 / 1745.75 ms │     no change │
│ QQuery 15 │          285.68 / 299.88 ±14.50 / 325.36 ms │         284.88 / 296.94 ±17.93 / 332.58 ms │     no change │
│ QQuery 16 │       3527.19 / 3672.89 ±93.87 / 3821.62 ms │     3623.24 / 3823.62 ±136.69 / 4028.06 ms │     no change │
│ QQuery 17 │       3673.63 / 3733.76 ±49.39 / 3813.53 ms │     3667.34 / 3878.87 ±128.71 / 4052.94 ms │     no change │
│ QQuery 18 │      7064.88 / 7245.16 ±235.14 / 7700.36 ms │     6800.53 / 7240.54 ±265.34 / 7621.10 ms │     no change │
│ QQuery 19 │              26.58 / 29.36 ±4.35 / 38.02 ms │            26.80 / 36.64 ±15.43 / 67.01 ms │  1.25x slower │
│ QQuery 20 │        1042.27 / 1054.90 ±8.77 / 1067.41 ms │      1048.38 / 1071.18 ±30.03 / 1129.71 ms │     no change │
│ QQuery 21 │        1349.53 / 1363.17 ±8.87 / 1377.19 ms │       1359.83 / 1376.97 ±9.07 / 1386.81 ms │     no change │
│ QQuery 22 │       3228.98 / 3249.21 ±16.65 / 3271.17 ms │      3221.52 / 3295.26 ±59.82 / 3373.24 ms │     no change │
│ QQuery 23 │      9041.74 / 9283.64 ±165.92 / 9531.68 ms │      9198.98 / 9329.24 ±94.54 / 9439.52 ms │     no change │
│ QQuery 24 │           94.75 / 135.78 ±48.58 / 196.87 ms │          96.48 / 143.80 ±69.12 / 275.93 ms │  1.06x slower │
│ QQuery 25 │           349.45 / 352.10 ±1.36 / 353.22 ms │          349.39 / 355.17 ±7.77 / 370.55 ms │     no change │
│ QQuery 26 │             97.43 / 98.91 ±1.10 / 100.11 ms │            96.10 / 99.29 ±4.08 / 107.12 ms │     no change │
│ QQuery 27 │        1143.59 / 1148.20 ±3.00 / 1152.32 ms │       1129.82 / 1146.92 ±9.21 / 1157.10 ms │     no change │
│ QQuery 28 │       2807.12 / 2849.63 ±27.94 / 2890.02 ms │      2747.76 / 2787.28 ±24.10 / 2821.54 ms │     no change │
│ QQuery 29 │              39.53 / 43.83 ±8.33 / 60.49 ms │             38.75 / 39.08 ±0.19 / 39.34 ms │ +1.12x faster │
│ QQuery 30 │           536.26 / 546.65 ±6.13 / 555.06 ms │          539.05 / 548.76 ±6.67 / 557.69 ms │     no change │
│ QQuery 31 │           546.36 / 553.11 ±7.46 / 567.49 ms │          539.95 / 545.52 ±4.30 / 550.77 ms │     no change │
│ QQuery 32 │       1008.59 / 1115.50 ±72.87 / 1233.51 ms │      1023.93 / 1083.95 ±50.75 / 1154.90 ms │     no change │
│ QQuery 33 │ 13780.06 / 20866.61 ±13226.03 / 47312.57 ms │  13431.55 / 14250.97 ±528.68 / 15007.84 ms │ +1.46x faster │
│ QQuery 34 │   13782.38 / 14561.46 ±717.08 / 15639.69 ms │  13762.29 / 14494.61 ±518.20 / 15230.09 ms │     no change │
│ QQuery 35 │          296.92 / 328.39 ±39.87 / 399.86 ms │        303.46 / 395.00 ±154.14 / 702.59 ms │  1.20x slower │
│ QQuery 36 │           176.71 / 184.60 ±7.48 / 197.92 ms │         175.99 / 190.33 ±23.74 / 237.72 ms │     no change │
│ QQuery 37 │            96.70 / 103.60 ±6.15 / 114.79 ms │           97.82 / 101.79 ±4.38 / 110.02 ms │     no change │
│ QQuery 38 │              79.89 / 83.44 ±2.11 / 85.82 ms │             79.34 / 82.00 ±2.05 / 84.21 ms │     no change │
│ QQuery 39 │           400.18 / 414.50 ±9.40 / 429.15 ms │          387.95 / 397.29 ±9.45 / 410.36 ms │     no change │
│ QQuery 40 │              14.42 / 14.79 ±0.41 / 15.55 ms │             14.45 / 16.28 ±1.53 / 18.94 ms │  1.10x slower │
│ QQuery 41 │              13.47 / 15.09 ±2.59 / 20.25 ms │             13.88 / 17.86 ±7.55 / 32.96 ms │  1.18x slower │
│ QQuery 42 │              13.00 / 14.41 ±2.35 / 19.10 ms │             13.53 / 15.61 ±3.44 / 22.46 ms │  1.08x slower │
└───────────┴─────────────────────────────────────────────┴────────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                                         ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                                         │ 81879.57ms │
│ Total Time (rich-T-kid_aggregate-dictionary-hash-cache)   │ 75778.17ms │
│ Average Time (HEAD)                                       │  1904.18ms │
│ Average Time (rich-T-kid_aggregate-dictionary-hash-cache) │  1762.28ms │
│ Queries Faster                                            │          2 │
│ Queries Slower                                            │          6 │
│ 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: 4ede5833f68dad5bc8169492dedc5749fcc4b8d5 | Changed: e1aa5f4bed1c2880b1043b0d87502e5c984fa9cc

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 815.1 MiB 832.3 MiB +2.1%
Query 5 1.4 GiB 1.5 GiB +3.6%
Query 6 0 B 0 B 0.0%
Query 7 50.0 MiB 50.3 MiB +0.5%
Query 8 943.6 MiB 944.0 MiB +0.0%
Query 9 552.2 MiB 552.2 MiB +0.0%
Query 10 72.8 MiB 72.7 MiB -0.1%
Query 11 78.9 MiB 76.7 MiB -2.8%
Query 12 1.6 GiB 1.6 GiB -1.2%
Query 13 1.9 GiB 1.9 GiB -1.3%
Query 14 1.9 GiB 1.9 GiB +0.0%
Query 15 1.2 GiB 1.2 GiB +2.4%
Query 16 3.2 GiB 3.4 GiB +5.5%
Query 17 3.4 GiB 3.3 GiB -2.4%
Query 18 7.6 GiB 7.3 GiB -3.0%
Query 19 0 B 0 B 0.0%
Query 20 104 B 104 B +0.0%
Query 21 1.3 MiB 1.6 MiB +16.8%
Query 22 2.4 MiB 2.6 MiB +8.6%
Query 23 12.7 MiB 12.9 MiB +1.9%
Query 24 6.1 MiB 6.9 MiB +12.7%
Query 25 6.9 MiB 8.1 MiB +17.6%
Query 26 7.1 MiB 7.9 MiB +12.5%
Query 27 2.2 MiB 2.5 MiB +9.7%
Query 28 1.9 GiB 2.0 GiB +2.4%
Query 29 624 B 624 B +0.0%
Query 30 639.4 MiB 692.6 MiB +8.3%
Query 31 1.6 GiB 1.5 GiB -5.9%
Query 32 7.1 GiB 7.2 GiB +0.6%
Query 33 12.7 GiB 12.7 GiB +0.2%
Query 34 13.8 GiB 12.7 GiB -7.7%
Query 35 675.3 MiB 669.7 MiB -0.8%
Query 36 474.1 MiB 475.6 MiB +0.3%
Query 37 8.1 MiB 8.6 MiB +6.2%
Query 38 5.3 MiB 5.3 MiB +0.0%
Query 39 450.8 MiB 478.9 MiB +6.2%
Query 40 2.3 MiB 2.3 MiB -3.2%
Query 41 3.1 MiB 3.1 MiB +0.0%
Query 42 1.7 MiB 1.8 MiB +6.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 (4ede5833f68dad5bc8169492dedc5749fcc4b8d5) 13.8 GiB 16.0 GiB 2.2 GiB 1.2×
clickbench_partitioned changed (e1aa5f4bed1c2880b1043b0d87502e5c984fa9cc) 12.7 GiB 14.1 GiB 1.4 GiB 1.1×
Resource Usage

clickbench_partitioned — base (merge-base)

Metric Value
Wall time 410.1s
Peak memory 16.0 GiB
Avg memory 6.6 GiB
CPU user 3295.8s
CPU sys 241.7s
Peak spill 12.2 GiB

clickbench_partitioned — branch

Metric Value
Wall time 380.1s
Peak memory 14.1 GiB
Avg memory 6.3 GiB
CPU user 3285.7s
CPU sys 203.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 d49dd6d (d49dd6d) to 4ede583 diff

Run configuration
run benchmark clickbench_partitioned
env:
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "4ede5833f68dad5bc8169492dedc5749fcc4b8d5"
changed:
  ref: "d49dd6d5614860d21328eb63633fd9d8e08fbd37"
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_aggregate-dictionary-hash-cache
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃        HEAD ┃ rich-T-kid_aggregate-dictionary-hash-cache ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0  │     1.24 ms │                                    1.23 ms │     no change │
│ QQuery 1  │    11.39 ms │                                   11.48 ms │     no change │
│ QQuery 2  │    36.00 ms │                                   36.24 ms │     no change │
│ QQuery 3  │    30.84 ms │                                   32.19 ms │     no change │
│ QQuery 4  │   250.17 ms │                                  259.56 ms │     no change │
│ QQuery 5  │  1554.87 ms │                                 1688.98 ms │  1.09x slower │
│ QQuery 6  │     1.35 ms │                                    1.29 ms │     no change │
│ QQuery 7  │    13.48 ms │                                   12.89 ms │     no change │
│ QQuery 8  │   369.87 ms │                                  370.98 ms │     no change │
│ QQuery 9  │   537.62 ms │                                  535.14 ms │     no change │
│ QQuery 10 │   204.04 ms │                                  200.65 ms │     no change │
│ QQuery 11 │   211.91 ms │                                  213.47 ms │     no change │
│ QQuery 12 │  1629.48 ms │                                 1653.94 ms │     no change │
│ QQuery 13 │  2421.02 ms │                                 2102.30 ms │ +1.15x faster │
│ QQuery 14 │  1766.15 ms │                                 1771.41 ms │     no change │
│ QQuery 15 │   324.18 ms │                                  340.62 ms │  1.05x slower │
│ QQuery 16 │  3813.31 ms │                                 3929.59 ms │     no change │
│ QQuery 17 │  3958.39 ms │                                 4102.62 ms │     no change │
│ QQuery 18 │  6952.31 ms │                                 7161.41 ms │     no change │
│ QQuery 19 │    27.38 ms │                                   26.61 ms │     no change │
│ QQuery 20 │  1065.79 ms │                                 1071.70 ms │     no change │
│ QQuery 21 │  1391.73 ms │                                 1413.93 ms │     no change │
│ QQuery 22 │  3262.20 ms │                                 3306.94 ms │     no change │
│ QQuery 23 │  9309.46 ms │                                 9508.51 ms │     no change │
│ QQuery 24 │   101.84 ms │                                   97.65 ms │     no change │
│ QQuery 25 │   353.30 ms │                                  353.21 ms │     no change │
│ QQuery 26 │    96.95 ms │                                   97.87 ms │     no change │
│ QQuery 27 │  1175.64 ms │                                 1175.20 ms │     no change │
│ QQuery 28 │  2818.59 ms │                                 2922.48 ms │     no change │
│ QQuery 29 │    40.14 ms │                                   40.73 ms │     no change │
│ QQuery 30 │   554.76 ms │                                  578.14 ms │     no change │
│ QQuery 31 │   556.13 ms │                                  548.69 ms │     no change │
│ QQuery 32 │  1132.26 ms │                                 1098.89 ms │     no change │
│ QQuery 33 │ 14715.69 ms │                                14171.04 ms │     no change │
│ QQuery 34 │ 15011.51 ms │                                14579.01 ms │     no change │
│ QQuery 35 │   344.75 ms │                                  342.47 ms │     no change │
│ QQuery 36 │   192.27 ms │                                  191.39 ms │     no change │
│ QQuery 37 │    98.50 ms │                                  104.12 ms │  1.06x slower │
│ QQuery 38 │    85.78 ms │                                   78.85 ms │ +1.09x faster │
│ QQuery 39 │   434.83 ms │                                  400.76 ms │ +1.09x faster │
│ QQuery 40 │    15.97 ms │                                   15.10 ms │ +1.06x faster │
│ QQuery 41 │    14.85 ms │                                   14.49 ms │     no change │
│ QQuery 42 │    14.43 ms │                                   14.46 ms │     no change │
└───────────┴─────────────┴────────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                                         ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                                         │ 76902.36ms │
│ Total Time (rich-T-kid_aggregate-dictionary-hash-cache)   │ 76578.25ms │
│ Average Time (HEAD)                                       │  1788.43ms │
│ Average Time (rich-T-kid_aggregate-dictionary-hash-cache) │  1780.89ms │
│ Queries Faster                                            │          4 │
│ Queries Slower                                            │          3 │
│ Queries with No Change                                    │         36 │
│ Queries with Failure                                      │          0 │
└───────────────────────────────────────────────────────────┴────────────┘

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

Comparing HEAD and rich-T-kid_aggregate-dictionary-hash-cache
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                      HEAD ┃ rich-T-kid_aggregate-dictionary-hash-cache ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0  │              1.24 / 4.56 ±6.42 / 17.40 ms │               1.23 / 4.81 ±6.62 / 18.04 ms │  1.06x slower │
│ QQuery 1  │            11.39 / 11.54 ±0.13 / 11.78 ms │             11.48 / 11.67 ±0.16 / 11.86 ms │     no change │
│ QQuery 2  │            36.00 / 36.43 ±0.41 / 37.04 ms │             36.24 / 36.55 ±0.30 / 37.10 ms │     no change │
│ QQuery 3  │            30.84 / 31.73 ±0.60 / 32.54 ms │             32.19 / 32.69 ±0.51 / 33.67 ms │     no change │
│ QQuery 4  │         250.17 / 267.15 ±9.92 / 281.00 ms │          259.56 / 270.29 ±6.57 / 279.89 ms │     no change │
│ QQuery 5  │     1554.87 / 1667.36 ±72.28 / 1755.81 ms │      1688.98 / 1703.75 ±14.27 / 1730.86 ms │     no change │
│ QQuery 6  │               1.35 / 1.61 ±0.40 / 2.42 ms │                1.29 / 1.43 ±0.22 / 1.87 ms │ +1.13x faster │
│ QQuery 7  │            13.48 / 17.86 ±8.13 / 34.10 ms │             12.89 / 13.13 ±0.13 / 13.26 ms │ +1.36x faster │
│ QQuery 8  │        369.87 / 382.96 ±11.37 / 403.44 ms │         370.98 / 385.50 ±13.16 / 408.54 ms │     no change │
│ QQuery 9  │         537.62 / 544.29 ±5.20 / 549.45 ms │          535.14 / 542.94 ±7.16 / 552.17 ms │     no change │
│ QQuery 10 │         204.04 / 206.76 ±1.59 / 208.70 ms │          200.65 / 205.63 ±5.29 / 215.08 ms │     no change │
│ QQuery 11 │         211.91 / 213.64 ±1.18 / 214.98 ms │          213.47 / 214.70 ±1.12 / 216.20 ms │     no change │
│ QQuery 12 │     1629.48 / 1741.26 ±73.26 / 1851.64 ms │      1653.94 / 1708.64 ±47.88 / 1769.51 ms │     no change │
│ QQuery 13 │    2421.02 / 2702.60 ±271.76 / 3037.20 ms │     2102.30 / 2479.87 ±334.68 / 3094.71 ms │ +1.09x faster │
│ QQuery 14 │     1766.15 / 1834.88 ±49.09 / 1899.70 ms │      1771.41 / 1872.15 ±51.11 / 1910.89 ms │     no change │
│ QQuery 15 │        324.18 / 344.26 ±18.20 / 374.68 ms │         340.62 / 369.46 ±20.68 / 396.33 ms │  1.07x slower │
│ QQuery 16 │    3813.31 / 3938.51 ±105.32 / 4116.87 ms │     3929.59 / 4064.22 ±114.89 / 4268.20 ms │     no change │
│ QQuery 17 │    3958.39 / 4184.28 ±129.41 / 4321.73 ms │      4102.62 / 4192.06 ±82.27 / 4334.57 ms │     no change │
│ QQuery 18 │    6952.31 / 7665.23 ±419.46 / 8162.61 ms │     7161.41 / 7425.32 ±219.89 / 7766.80 ms │     no change │
│ QQuery 19 │            27.38 / 32.25 ±5.75 / 41.77 ms │             26.61 / 27.48 ±0.98 / 29.17 ms │ +1.17x faster │
│ QQuery 20 │     1065.79 / 1088.95 ±15.37 / 1104.44 ms │      1071.70 / 1085.88 ±10.18 / 1102.78 ms │     no change │
│ QQuery 21 │     1391.73 / 1406.13 ±14.66 / 1430.25 ms │      1413.93 / 1430.49 ±17.85 / 1463.07 ms │     no change │
│ QQuery 22 │     3262.20 / 3389.02 ±93.77 / 3534.14 ms │      3306.94 / 3373.73 ±50.16 / 3461.65 ms │     no change │
│ QQuery 23 │    9309.46 / 9567.68 ±193.63 / 9804.41 ms │     9508.51 / 9646.63 ±178.94 / 9988.42 ms │     no change │
│ QQuery 24 │        101.84 / 149.15 ±77.08 / 302.52 ms │            97.65 / 99.10 ±1.04 / 100.72 ms │ +1.51x faster │
│ QQuery 25 │         353.30 / 356.51 ±1.89 / 358.44 ms │          353.21 / 357.76 ±4.99 / 366.61 ms │     no change │
│ QQuery 26 │           96.95 / 99.40 ±1.56 / 101.75 ms │             97.87 / 98.57 ±0.53 / 99.15 ms │     no change │
│ QQuery 27 │     1175.64 / 1205.67 ±21.36 / 1236.82 ms │      1175.20 / 1212.64 ±50.29 / 1310.46 ms │     no change │
│ QQuery 28 │     2818.59 / 2922.65 ±53.25 / 2957.81 ms │      2922.48 / 2945.87 ±31.62 / 3008.16 ms │     no change │
│ QQuery 29 │            40.14 / 43.01 ±4.71 / 52.36 ms │             40.73 / 40.98 ±0.21 / 41.33 ms │     no change │
│ QQuery 30 │        554.76 / 567.63 ±11.79 / 589.53 ms │         578.14 / 588.15 ±13.28 / 614.22 ms │     no change │
│ QQuery 31 │        556.13 / 573.35 ±14.56 / 600.31 ms │         548.69 / 567.49 ±11.38 / 583.75 ms │     no change │
│ QQuery 32 │     1132.26 / 1188.28 ±57.99 / 1298.51 ms │      1098.89 / 1218.91 ±63.09 / 1279.77 ms │     no change │
│ QQuery 33 │ 14715.69 / 15022.68 ±347.44 / 15683.19 ms │ 14171.04 / 15250.71 ±1026.77 / 16989.54 ms │     no change │
│ QQuery 34 │ 15011.51 / 15685.87 ±539.53 / 16206.31 ms │  14579.01 / 15472.00 ±575.12 / 16350.90 ms │     no change │
│ QQuery 35 │        344.75 / 407.59 ±80.14 / 565.99 ms │         342.47 / 384.69 ±67.82 / 519.70 ms │ +1.06x faster │
│ QQuery 36 │        192.27 / 221.76 ±25.01 / 256.30 ms │          191.39 / 198.98 ±6.05 / 209.81 ms │ +1.11x faster │
│ QQuery 37 │         98.50 / 105.27 ±10.59 / 126.34 ms │          104.12 / 110.47 ±8.61 / 127.21 ms │     no change │
│ QQuery 38 │            85.78 / 87.93 ±1.27 / 89.40 ms │             78.85 / 84.68 ±3.66 / 88.79 ms │     no change │
│ QQuery 39 │        434.83 / 451.44 ±12.53 / 466.06 ms │         400.76 / 420.86 ±15.08 / 443.28 ms │ +1.07x faster │
│ QQuery 40 │            15.97 / 16.82 ±0.51 / 17.56 ms │             15.10 / 15.51 ±0.24 / 15.84 ms │ +1.08x faster │
│ QQuery 41 │            14.85 / 17.84 ±4.82 / 27.40 ms │             14.49 / 18.97 ±5.43 / 27.47 ms │  1.06x slower │
│ QQuery 42 │            14.43 / 14.65 ±0.17 / 14.87 ms │             14.46 / 14.86 ±0.36 / 15.34 ms │     no change │
└───────────┴───────────────────────────────────────────┴────────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                                         ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                                         │ 80418.43ms │
│ Total Time (rich-T-kid_aggregate-dictionary-hash-cache)   │ 80200.18ms │
│ Average Time (HEAD)                                       │  1870.20ms │
│ Average Time (rich-T-kid_aggregate-dictionary-hash-cache) │  1865.12ms │
│ Queries Faster                                            │          9 │
│ Queries Slower                                            │          3 │
│ 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: 4ede5833f68dad5bc8169492dedc5749fcc4b8d5 | Changed: d49dd6d5614860d21328eb63633fd9d8e08fbd37

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 831.8 MiB 833.1 MiB +0.2%
Query 5 1.4 GiB 1.4 GiB -0.2%
Query 6 0 B 0 B 0.0%
Query 7 50.3 MiB 50.3 MiB -0.0%
Query 8 944.3 MiB 966.1 MiB +2.3%
Query 9 552.0 MiB 594.2 MiB +7.6%
Query 10 70.9 MiB 75.1 MiB +5.9%
Query 11 76.6 MiB 78.6 MiB +2.6%
Query 12 1.6 GiB 1.6 GiB +0.4%
Query 13 2.0 GiB 2.0 GiB +0.0%
Query 14 1.9 GiB 1.9 GiB -1.1%
Query 15 1.2 GiB 1.2 GiB -2.8%
Query 16 3.3 GiB 3.4 GiB +2.1%
Query 17 3.3 GiB 3.5 GiB +5.0%
Query 18 7.4 GiB 7.4 GiB +0.3%
Query 19 0 B 0 B 0.0%
Query 20 104 B 104 B +0.0%
Query 21 1.5 MiB 1.5 MiB -0.6%
Query 22 2.5 MiB 2.4 MiB -4.8%
Query 23 12.9 MiB 12.1 MiB -5.9%
Query 24 6.9 MiB 6.9 MiB +0.1%
Query 25 8.1 MiB 8.1 MiB -0.0%
Query 26 7.8 MiB 8.2 MiB +5.4%
Query 27 2.7 MiB 2.5 MiB -8.2%
Query 28 2.0 GiB 2.1 GiB +5.9%
Query 29 624 B 624 B +0.0%
Query 30 653.5 MiB 682.9 MiB +4.5%
Query 31 1.5 GiB 1.5 GiB -0.0%
Query 32 7.2 GiB 7.1 GiB -0.1%
Query 33 12.7 GiB 12.7 GiB -0.1%
Query 34 13.3 GiB 12.7 GiB -4.0%
Query 35 668.7 MiB 678.7 MiB +1.5%
Query 36 474.1 MiB 475.6 MiB +0.3%
Query 37 8.6 MiB 8.9 MiB +3.2%
Query 38 5.3 MiB 5.0 MiB -4.9%
Query 39 460.4 MiB 478.9 MiB +4.0%
Query 40 2.3 MiB 2.3 MiB +0.7%
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 (4ede5833f68dad5bc8169492dedc5749fcc4b8d5) 13.3 GiB 13.0 GiB −285.9 MiB 1.0×
clickbench_partitioned changed (d49dd6d5614860d21328eb63633fd9d8e08fbd37) 12.7 GiB 13.8 GiB 1.0 GiB 1.1×
Resource Usage

clickbench_partitioned — base (merge-base)

Metric Value
Wall time 405.1s
Peak memory 13.0 GiB
Avg memory 6.0 GiB
CPU user 3486.1s
CPU sys 221.4s
Peak spill 0 B

clickbench_partitioned — branch

Metric Value
Wall time 405.1s
Peak memory 13.8 GiB
Avg memory 6.2 GiB
CPU user 3471.2s
CPU sys 219.6s
Peak spill 0 B

File an issue against this benchmark runner

@Rich-T-kid

Copy link
Copy Markdown
Contributor Author

run benchmark dictionary_group_values

env:
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
baseline:
  ref: "4ede5833f68dad5bc8169492dedc5749fcc4b8d5"
changed:
  ref: "d49dd6d5614860d21328eb63633fd9d8e08fbd37"

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c6453176160-3969-rwqx7 6.12.105+ #1 SMP Sat Sep 19 07:55:25 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 d49dd6d (d49dd6d) to 4ede583 diff

Run configuration
run benchmark dictionary_group_values
env:
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
baseline:
  ref: "4ede5833f68dad5bc8169492dedc5749fcc4b8d5"
changed:
  ref: "d49dd6d5614860d21328eb63633fd9d8e08fbd37"

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 d49dd6d (d49dd6d) to 4ede583 diff

Run configuration
run benchmark dictionary_group_values
env:
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
baseline:
  ref: "4ede5833f68dad5bc8169492dedc5749fcc4b8d5"
changed:
  ref: "d49dd6d5614860d21328eb63633fd9d8e08fbd37"
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_aggregate-dictionary-hash-cache
-----                                                                             ----                                    ------------------------------------------
dict_intern_emit/intern_emit/size_65536_card_1000_null_0.00                       1.00    477.9±2.34µs 130.8 MElem/sec    1.03    491.0±1.92µs 127.3 MElem/sec
dict_intern_emit/intern_emit/size_65536_card_20_null_0.00                         1.00    411.0±2.88µs 152.1 MElem/sec    1.04    429.4±2.75µs 145.6 MElem/sec
dict_intern_emit/intern_emit/size_65536_card_300_null_0.00                        1.00    440.5±2.96µs 141.9 MElem/sec    1.03    453.9±4.36µs 137.7 MElem/sec
dict_intern_emit/intern_emit/size_65536_card_65536_null_0.00                      1.03      6.2±0.01ms 10.1 MElem/sec     1.00      6.0±0.01ms 10.4 MElem/sec
dict_intern_emit/intern_emit/size_65536_card_75_null_0.00                         1.00    433.8±2.49µs 144.1 MElem/sec    1.02    443.4±2.78µs 141.0 MElem/sec
dict_intern_emit/intern_emit/size_8192_card_1000_null_0.00                        1.01    112.3±0.71µs 69.6 MElem/sec     1.00    111.4±5.95µs 70.1 MElem/sec
dict_intern_emit/intern_emit/size_8192_card_20_null_0.00                          1.00     55.2±0.40µs 141.5 MElem/sec    1.04     57.4±0.24µs 136.1 MElem/sec
dict_intern_emit/intern_emit/size_8192_card_300_null_0.00                         1.00     72.2±0.54µs 108.2 MElem/sec    1.01     73.2±0.32µs 106.7 MElem/sec
dict_intern_emit/intern_emit/size_8192_card_75_null_0.00                          1.00     60.9±0.44µs 128.3 MElem/sec    1.02     62.0±0.37µs 125.9 MElem/sec
dict_intern_emit/intern_emit/size_8192_card_8192_null_0.00                        1.03    529.7±1.96µs 14.7 MElem/sec     1.00    512.4±2.55µs 15.2 MElem/sec
dict_repeated_intern_emit/repeated_intern_emit/size_65536_card_1000_null_0.10     1.00      2.3±0.01ms 106.6 MElem/sec    1.02      2.4±0.01ms 105.0 MElem/sec
dict_repeated_intern_emit/repeated_intern_emit/size_65536_card_20_null_0.10       1.00      2.2±0.01ms 114.8 MElem/sec    1.02      2.2±0.01ms 112.3 MElem/sec
dict_repeated_intern_emit/repeated_intern_emit/size_65536_card_300_null_0.10      1.00      2.3±0.01ms 109.8 MElem/sec    1.01      2.3±0.00ms 108.3 MElem/sec
dict_repeated_intern_emit/repeated_intern_emit/size_65536_card_65536_null_0.10    1.05     19.1±0.09ms 13.1 MElem/sec     1.00     18.2±0.07ms 13.7 MElem/sec
dict_repeated_intern_emit/repeated_intern_emit/size_65536_card_75_null_0.10       1.00      2.3±0.01ms 110.8 MElem/sec    1.01      2.3±0.01ms 109.3 MElem/sec
dict_repeated_intern_emit/repeated_intern_emit/size_8192_card_1000_null_0.10      1.00    400.5±1.55µs 78.0 MElem/sec     1.00    402.2±2.05µs 77.7 MElem/sec
dict_repeated_intern_emit/repeated_intern_emit/size_8192_card_20_null_0.10        1.00    263.9±1.99µs 118.4 MElem/sec    1.03    270.9±1.29µs 115.4 MElem/sec
dict_repeated_intern_emit/repeated_intern_emit/size_8192_card_300_null_0.10       1.00    308.6±2.88µs 101.3 MElem/sec    1.01    311.8±1.96µs 100.2 MElem/sec
dict_repeated_intern_emit/repeated_intern_emit/size_8192_card_75_null_0.10        1.05  298.4±189.04µs 104.7 MElem/sec    1.00    285.1±1.42µs 109.6 MElem/sec
dict_repeated_intern_emit/repeated_intern_emit/size_8192_card_8192_null_0.10      1.03   1306.9±7.76µs 23.9 MElem/sec     1.00   1268.0±3.25µs 24.6 MElem/sec
dict_scalar_append_equal/scalar_append_equal/size_65536_card_1000_null_0.10       1.00   1360.3±3.99µs 45.9 MElem/sec     1.04   1421.3±8.39µs 44.0 MElem/sec
dict_scalar_append_equal/scalar_append_equal/size_65536_card_20_null_0.10         1.01   1269.3±3.30µs 49.2 MElem/sec     1.00   1262.3±9.32µs 49.5 MElem/sec
dict_scalar_append_equal/scalar_append_equal/size_65536_card_300_null_0.10        1.00   1266.1±3.76µs 49.4 MElem/sec     1.02   1294.7±8.27µs 48.3 MElem/sec
dict_scalar_append_equal/scalar_append_equal/size_65536_card_65536_null_0.10      1.01      7.6±0.02ms  8.3 MElem/sec     1.00      7.5±0.02ms  8.4 MElem/sec
dict_scalar_append_equal/scalar_append_equal/size_65536_card_75_null_0.10         1.00   1251.9±3.12µs 49.9 MElem/sec     1.06   1321.1±8.66µs 47.3 MElem/sec
dict_shared_values_arc/shared_values_arc/size_8192_card_100000                    1.48     18.0±0.07ms 13.9 MElem/sec     1.00     12.2±0.06ms 20.4 MElem/sec
dict_shared_values_arc/shared_values_arc/size_8192_card_32768                     1.32      8.1±0.01ms 31.0 MElem/sec     1.00      6.1±0.01ms 40.9 MElem/sec
dict_shared_values_arc/shared_values_arc/size_8192_card_500000                    1.86     60.7±1.55ms  4.1 MElem/sec     1.00     32.6±1.49ms  7.7 MElem/sec
dict_shared_values_arc/shared_values_arc/size_8192_card_65536                     1.44     14.3±0.03ms 17.5 MElem/sec     1.00      9.9±0.05ms 25.2 MElem/sec
dict_shared_values_arc/shared_values_arc/size_8192_card_8192                      1.20      2.8±0.01ms 88.7 MElem/sec     1.00      2.3±0.01ms 106.6 MElem/sec
dict_take_n/take_n/size_65536_card_1000_null_0.10                                 1.00      2.5±0.01ms 100.5 MElem/sec    1.02      2.5±0.01ms 98.8 MElem/sec
dict_take_n/take_n/size_65536_card_20_null_0.10                                   1.00      2.2±0.01ms 116.2 MElem/sec    1.03      2.2±0.01ms 113.2 MElem/sec
dict_take_n/take_n/size_65536_card_300_null_0.10                                  1.00      2.3±0.01ms 109.1 MElem/sec    1.02      2.3±0.01ms 107.0 MElem/sec
dict_take_n/take_n/size_65536_card_65536_null_0.10                                1.03     26.1±0.04ms  9.6 MElem/sec     1.00     25.4±0.08ms  9.8 MElem/sec
dict_take_n/take_n/size_65536_card_75_null_0.10                                   1.00      2.3±0.01ms 111.1 MElem/sec    1.01      2.3±0.01ms 110.3 MElem/sec

Resource Usage

dictionary_group_values — base (merge-base)

Metric Value
Wall time 675.2s
Peak memory 900.7 MiB
Avg memory 60.5 MiB
CPU user 408.6s
CPU sys 23.3s
Peak spill 0 B

dictionary_group_values — branch

Metric Value
Wall time 675.1s
Peak memory 949.8 MiB
Avg memory 69.6 MiB
CPU user 416.7s
CPU sys 18.5s
Peak spill 0 B

File an issue against this benchmark runner

Comment on lines +368 to +370
fn create_hashes(&mut self, cols: &[ArrayRef], hashes: &mut [u64]) -> Result<()> {
if !self.has_dictionary {
create_hashes(cols, &self.random_state, hashes)?;

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this gets re-used across all 3 PR's I think we should move it up into the hash util PR

@Rich-T-kid
Rich-T-kid force-pushed the rich-T-kid/aggregate-dictionary-hash-cache branch from d49dd6d to 0044519 Compare October 27, 2026 23:09
@Rich-T-kid

Copy link
Copy Markdown
Contributor Author

run benchmark dictionary_group_values

env:
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
baseline:
  ref: "4ede5833f68dad5bc8169492dedc5749fcc4b8d5"
changed:
  ref: "0044519d3b609ae6fbb0cfc59500b322ea368d39"

@Rich-T-kid

Copy link
Copy Markdown
Contributor Author

run benchmark tpch tpcds clickbench_partitioned

env:
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
baseline:
  ref: "4ede5833f68dad5bc8169492dedc5749fcc4b8d5"
changed:
  ref: "0044519d3b609ae6fbb0cfc59500b322ea368d39"

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c6455848174-3972-xhsnq 6.12.105+ #1 SMP Sat Sep 19 07:55:25 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 0044519 (0044519) to 4ede583 diff

Run configuration
run benchmark dictionary_group_values
env:
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
baseline:
  ref: "4ede5833f68dad5bc8169492dedc5749fcc4b8d5"
changed:
  ref: "0044519d3b609ae6fbb0cfc59500b322ea368d39"

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-c6455848444-3973-sqhb6 6.12.105+ #1 SMP Sat Sep 19 07:55:25 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 0044519 (0044519) to 4ede583 diff

Run configuration
run benchmark tpch
env:
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "4ede5833f68dad5bc8169492dedc5749fcc4b8d5"
changed:
  ref: "0044519d3b609ae6fbb0cfc59500b322ea368d39"

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-c6455848444-3974-r4cll 6.12.105+ #1 SMP Sat Sep 19 07:55:25 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 0044519 (0044519) to 4ede583 diff

Run configuration
run benchmark tpcds
env:
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "4ede5833f68dad5bc8169492dedc5749fcc4b8d5"
changed:
  ref: "0044519d3b609ae6fbb0cfc59500b322ea368d39"

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-c6455848444-3975-2tqtv 6.12.105+ #1 SMP Sat Sep 19 07:55:25 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 0044519 (0044519) to 4ede583 diff

Run configuration
run benchmark clickbench_partitioned
env:
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "4ede5833f68dad5bc8169492dedc5749fcc4b8d5"
changed:
  ref: "0044519d3b609ae6fbb0cfc59500b322ea368d39"

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 0044519 (0044519) to 4ede583 diff

Run configuration
run benchmark tpch
env:
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "4ede5833f68dad5bc8169492dedc5749fcc4b8d5"
changed:
  ref: "0044519d3b609ae6fbb0cfc59500b322ea368d39"
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_aggregate-dictionary-hash-cache
--------------------
Benchmark tpch_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Query     ┃      HEAD ┃ rich-T-kid_aggregate-dictionary-hash-cache ┃    Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ QQuery 1  │  40.85 ms │                                   40.83 ms │ no change │
│ QQuery 2  │  19.18 ms │                                   19.03 ms │ no change │
│ QQuery 3  │  28.77 ms │                                   28.76 ms │ no change │
│ QQuery 4  │  17.57 ms │                                   17.58 ms │ no change │
│ QQuery 5  │  36.13 ms │                                   36.05 ms │ no change │
│ QQuery 6  │  14.09 ms │                                   13.92 ms │ no change │
│ QQuery 7  │  42.62 ms │                                   42.94 ms │ no change │
│ QQuery 8  │  41.94 ms │                                   41.72 ms │ no change │
│ QQuery 9  │  52.06 ms │                                   51.86 ms │ no change │
│ QQuery 10 │  60.40 ms │                                   59.50 ms │ no change │
│ QQuery 11 │  14.07 ms │                                   14.12 ms │ no change │
│ QQuery 12 │  21.89 ms │                                   21.48 ms │ no change │
│ QQuery 13 │  48.25 ms │                                   48.79 ms │ no change │
│ QQuery 14 │  24.65 ms │                                   24.61 ms │ no change │
│ QQuery 15 │  31.74 ms │                                   31.94 ms │ no change │
│ QQuery 16 │  13.65 ms │                                   13.84 ms │ no change │
│ QQuery 17 │  79.35 ms │                                   77.76 ms │ no change │
│ QQuery 18 │ 118.15 ms │                                  117.09 ms │ no change │
│ QQuery 19 │  30.82 ms │                                   30.48 ms │ no change │
│ QQuery 20 │  34.07 ms │                                   34.44 ms │ no change │
│ QQuery 21 │  54.90 ms │                                   55.75 ms │ no change │
│ QQuery 22 │  16.19 ms │                                   16.25 ms │ no change │
└───────────┴───────────┴────────────────────────────────────────────┴───────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┓
┃ Benchmark Summary                                         ┃          ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━┩
│ Total Time (HEAD)                                         │ 841.34ms │
│ Total Time (rich-T-kid_aggregate-dictionary-hash-cache)   │ 838.72ms │
│ Average Time (HEAD)                                       │  38.24ms │
│ Average Time (rich-T-kid_aggregate-dictionary-hash-cache) │  38.12ms │
│ 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_aggregate-dictionary-hash-cache
--------------------
Benchmark tpch_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Query     ┃                              HEAD ┃ rich-T-kid_aggregate-dictionary-hash-cache ┃    Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ QQuery 1  │    40.85 / 42.02 ±1.36 / 43.94 ms │             40.83 / 42.70 ±1.45 / 44.47 ms │ no change │
│ QQuery 2  │    19.18 / 19.58 ±0.48 / 20.44 ms │             19.03 / 19.25 ±0.25 / 19.69 ms │ no change │
│ QQuery 3  │    28.77 / 29.59 ±1.21 / 31.99 ms │             28.76 / 28.95 ±0.12 / 29.11 ms │ no change │
│ QQuery 4  │    17.57 / 17.67 ±0.10 / 17.87 ms │             17.58 / 17.95 ±0.62 / 19.19 ms │ no change │
│ QQuery 5  │    36.13 / 36.45 ±0.24 / 36.79 ms │             36.05 / 36.39 ±0.26 / 36.68 ms │ no change │
│ QQuery 6  │    14.09 / 14.72 ±0.72 / 16.07 ms │             13.92 / 14.18 ±0.38 / 14.94 ms │ no change │
│ QQuery 7  │    42.62 / 45.12 ±1.41 / 46.61 ms │             42.94 / 44.78 ±1.31 / 46.43 ms │ no change │
│ QQuery 8  │    41.94 / 42.15 ±0.18 / 42.43 ms │             41.72 / 41.85 ±0.15 / 42.13 ms │ no change │
│ QQuery 9  │    52.06 / 53.00 ±0.98 / 54.51 ms │             51.86 / 52.92 ±0.59 / 53.66 ms │ no change │
│ QQuery 10 │    60.40 / 61.24 ±0.66 / 62.30 ms │             59.50 / 59.60 ±0.12 / 59.82 ms │ no change │
│ QQuery 11 │    14.07 / 14.26 ±0.12 / 14.38 ms │             14.12 / 14.25 ±0.14 / 14.51 ms │ no change │
│ QQuery 12 │    21.89 / 22.00 ±0.13 / 22.21 ms │             21.48 / 21.78 ±0.19 / 22.06 ms │ no change │
│ QQuery 13 │    48.25 / 49.49 ±1.61 / 52.68 ms │             48.79 / 49.90 ±1.78 / 53.45 ms │ no change │
│ QQuery 14 │    24.65 / 24.72 ±0.06 / 24.80 ms │             24.61 / 24.81 ±0.12 / 24.94 ms │ no change │
│ QQuery 15 │    31.74 / 32.13 ±0.38 / 32.79 ms │             31.94 / 32.56 ±0.95 / 34.42 ms │ no change │
│ QQuery 16 │    13.65 / 13.79 ±0.08 / 13.88 ms │             13.84 / 14.01 ±0.09 / 14.11 ms │ no change │
│ QQuery 17 │    79.35 / 80.70 ±1.27 / 82.89 ms │             77.76 / 79.80 ±1.94 / 82.34 ms │ no change │
│ QQuery 18 │ 118.15 / 122.22 ±6.81 / 135.78 ms │          117.09 / 124.20 ±7.55 / 138.47 ms │ no change │
│ QQuery 19 │    30.82 / 31.02 ±0.15 / 31.23 ms │             30.48 / 30.74 ±0.30 / 31.30 ms │ no change │
│ QQuery 20 │    34.07 / 34.72 ±0.34 / 35.04 ms │             34.44 / 34.51 ±0.05 / 34.58 ms │ no change │
│ QQuery 21 │    54.90 / 58.71 ±6.41 / 71.48 ms │             55.75 / 57.74 ±1.59 / 60.55 ms │ no change │
│ QQuery 22 │    16.19 / 16.57 ±0.21 / 16.84 ms │             16.25 / 16.44 ±0.15 / 16.62 ms │ no change │
└───────────┴───────────────────────────────────┴────────────────────────────────────────────┴───────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┓
┃ Benchmark Summary                                         ┃          ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━┩
│ Total Time (HEAD)                                         │ 861.88ms │
│ Total Time (rich-T-kid_aggregate-dictionary-hash-cache)   │ 859.31ms │
│ Average Time (HEAD)                                       │  39.18ms │
│ Average Time (rich-T-kid_aggregate-dictionary-hash-cache) │  39.06ms │
│ 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: 4ede5833f68dad5bc8169492dedc5749fcc4b8d5 | Changed: 0044519d3b609ae6fbb0cfc59500b322ea368d39

tpch — tpch_sf1

Query Base Changed Change
Query 1 20.1 MiB 30.1 MiB +49.8%
Query 2 23.1 MiB 23.1 MiB +0.0%
Query 3 11.5 MiB 11.5 MiB +0.0%
Query 4 22.2 MiB 32.2 MiB +45.0%
Query 5 42.8 MiB 42.8 MiB +0.0%
Query 6 832 B 832 B +0.0%
Query 7 107.6 MiB 107.6 MiB +0.0%
Query 8 35.5 MiB 33.1 MiB -6.6%
Query 9 155.6 MiB 155.6 MiB +0.0%
Query 10 62.4 MiB 66.3 MiB +6.3%
Query 11 61.4 MiB 71.9 MiB +17.2%
Query 12 20.1 MiB 20.0 MiB -0.3%
Query 13 62.3 MiB 43.0 MiB -31.1%
Query 14 7.7 MiB 7.7 MiB +0.0%
Query 15 12.8 MiB 12.8 MiB -0.0%
Query 16 43.1 MiB 33.8 MiB -21.7%
Query 17 150.3 MiB 150.3 MiB +0.0%
Query 18 2.7 GiB 2.7 GiB -0.0%
Query 19 228.6 KiB 228.6 KiB +0.0%
Query 20 58.6 MiB 59.2 MiB +1.1%
Query 21 37.7 MiB 37.7 MiB +0.0%
Query 22 22.1 MiB 31.8 MiB +43.4%

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 (4ede5833f68dad5bc8169492dedc5749fcc4b8d5) 2.7 GiB 2.0 GiB −677.4 MiB 0.8×
tpch changed (0044519d3b609ae6fbb0cfc59500b322ea368d39) 2.7 GiB 2.0 GiB −666.5 MiB 0.8×
Resource Usage

tpch — base (merge-base)

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

tpch — branch

Metric Value
Wall time 5.0s
Peak memory 2.0 GiB
Avg memory 813.6 MiB
CPU user 21.8s
CPU sys 1.5s
Peak spill 0 B

File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark completed (GKE) | trigger

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

Comparing 0044519 (0044519) to 4ede583 diff

Run configuration
run benchmark tpcds
env:
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "4ede5833f68dad5bc8169492dedc5749fcc4b8d5"
changed:
  ref: "0044519d3b609ae6fbb0cfc59500b322ea368d39"
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_aggregate-dictionary-hash-cache
--------------------
Benchmark tpcds_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃       HEAD ┃ rich-T-kid_aggregate-dictionary-hash-cache ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │    5.28 ms │                                    5.30 ms │     no change │
│ QQuery 2  │   76.60 ms │                                   77.13 ms │     no change │
│ QQuery 3  │   28.91 ms │                                   28.63 ms │     no change │
│ QQuery 4  │  808.96 ms │                                  735.65 ms │ +1.10x faster │
│ QQuery 5  │   49.96 ms │                                   49.96 ms │     no change │
│ QQuery 6  │   33.25 ms │                                   33.15 ms │     no change │
│ QQuery 7  │   72.26 ms │                                   73.08 ms │     no change │
│ QQuery 8  │   37.83 ms │                                   38.13 ms │     no change │
│ QQuery 9  │   51.66 ms │                                   51.30 ms │     no change │
│ QQuery 10 │   61.32 ms │                                   61.37 ms │     no change │
│ QQuery 11 │  463.01 ms │                                  421.54 ms │ +1.10x faster │
│ QQuery 12 │   25.70 ms │                                   26.03 ms │     no change │
│ QQuery 13 │  111.29 ms │                                  112.07 ms │     no change │
│ QQuery 14 │  385.25 ms │                                  385.72 ms │     no change │
│ QQuery 15 │   51.31 ms │                                   50.96 ms │     no change │
│ QQuery 16 │    6.16 ms │                                    6.32 ms │     no change │
│ QQuery 17 │   79.69 ms │                                   79.58 ms │     no change │
│ QQuery 18 │  105.60 ms │                                  105.42 ms │     no change │
│ QQuery 19 │   40.85 ms │                                   41.29 ms │     no change │
│ QQuery 20 │   30.88 ms │                                   31.52 ms │     no change │
│ QQuery 21 │   17.06 ms │                                   17.19 ms │     no change │
│ QQuery 22 │   70.99 ms │                                   61.20 ms │ +1.16x faster │
│ QQuery 23 │  300.87 ms │                                  301.28 ms │     no change │
│ QQuery 24 │  188.43 ms │                                  190.42 ms │     no change │
│ QQuery 25 │  107.42 ms │                                  105.53 ms │     no change │
│ QQuery 26 │   46.12 ms │                                   46.78 ms │     no change │
│ QQuery 27 │    5.90 ms │                                    5.98 ms │     no change │
│ QQuery 28 │   56.64 ms │                                   60.31 ms │  1.06x slower │
│ QQuery 29 │   95.87 ms │                                   94.06 ms │     no change │
│ QQuery 30 │   36.34 ms │                                   36.14 ms │     no change │
│ QQuery 31 │  110.42 ms │                                  111.11 ms │     no change │
│ QQuery 32 │   19.90 ms │                                   19.91 ms │     no change │
│ QQuery 33 │   37.43 ms │                                   37.44 ms │     no change │
│ QQuery 34 │    9.40 ms │                                    9.51 ms │     no change │
│ QQuery 35 │   70.45 ms │                                   71.69 ms │     no change │
│ QQuery 36 │    5.81 ms │                                    6.02 ms │     no change │
│ QQuery 37 │    7.15 ms │                                    7.34 ms │     no change │
│ QQuery 38 │   63.86 ms │                                   64.15 ms │     no change │
│ QQuery 39 │   71.21 ms │                                   71.92 ms │     no change │
│ QQuery 40 │   22.33 ms │                                   23.18 ms │     no change │
│ QQuery 41 │   13.79 ms │                                   13.50 ms │     no change │
│ QQuery 42 │   23.84 ms │                                   23.87 ms │     no change │
│ QQuery 43 │    5.10 ms │                                    4.91 ms │     no change │
│ QQuery 44 │    8.58 ms │                                    8.22 ms │     no change │
│ QQuery 45 │   34.68 ms │                                   34.67 ms │     no change │
│ QQuery 46 │   11.37 ms │                                   11.10 ms │     no change │
│ QQuery 47 │  201.54 ms │                                  202.26 ms │     no change │
│ QQuery 48 │   89.99 ms │                                   90.74 ms │     no change │
│ QQuery 49 │   69.24 ms │                                   69.82 ms │     no change │
│ QQuery 50 │   58.06 ms │                                   57.13 ms │     no change │
│ QQuery 51 │   90.44 ms │                                   92.39 ms │     no change │
│ QQuery 52 │   24.01 ms │                                   23.91 ms │     no change │
│ QQuery 53 │   29.21 ms │                                   29.05 ms │     no change │
│ QQuery 54 │   52.69 ms │                                   52.87 ms │     no change │
│ QQuery 55 │   23.39 ms │                                   23.43 ms │     no change │
│ QQuery 56 │   38.20 ms │                                   38.63 ms │     no change │
│ QQuery 57 │  151.73 ms │                                  150.67 ms │     no change │
│ QQuery 58 │  102.30 ms │                                  103.36 ms │     no change │
│ QQuery 59 │  106.34 ms │                                  106.93 ms │     no change │
│ QQuery 60 │   42.75 ms │                                   42.50 ms │     no change │
│ QQuery 61 │    9.47 ms │                                    9.43 ms │     no change │
│ QQuery 62 │   38.25 ms │                                   38.44 ms │     no change │
│ QQuery 63 │   29.26 ms │                                   29.37 ms │     no change │
│ QQuery 64 │  366.93 ms │                                  364.72 ms │     no change │
│ QQuery 65 │  132.26 ms │                                  128.56 ms │     no change │
│ QQuery 66 │   72.87 ms │                                   73.64 ms │     no change │
│ QQuery 67 │  226.95 ms │                                  215.75 ms │     no change │
│ QQuery 68 │   11.38 ms │                                   11.23 ms │     no change │
│ QQuery 69 │   56.33 ms │                                   56.54 ms │     no change │
│ QQuery 70 │   99.19 ms │                                   98.29 ms │     no change │
│ QQuery 71 │   34.59 ms │                                   34.85 ms │     no change │
│ QQuery 72 │ 1514.18 ms │                                 1553.28 ms │     no change │
│ QQuery 73 │    9.31 ms │                                    9.12 ms │     no change │
│ QQuery 74 │  241.08 ms │                                  232.19 ms │     no change │
│ QQuery 75 │  138.07 ms │                                  137.72 ms │     no change │
│ QQuery 76 │   33.79 ms │                                   34.11 ms │     no change │
│ QQuery 77 │   58.63 ms │                                   59.73 ms │     no change │
│ QQuery 78 │  158.60 ms │                                  160.51 ms │     no change │
│ QQuery 79 │   66.63 ms │                                   66.91 ms │     no change │
│ QQuery 80 │   94.10 ms │                                   94.86 ms │     no change │
│ QQuery 81 │   28.08 ms │                                   28.43 ms │     no change │
│ QQuery 82 │   17.08 ms │                                   17.14 ms │     no change │
│ QQuery 83 │   32.11 ms │                                   32.11 ms │     no change │
│ QQuery 84 │   30.64 ms │                                   31.17 ms │     no change │
│ QQuery 85 │   97.46 ms │                                   98.72 ms │     no change │
│ QQuery 86 │   24.61 ms │                                   24.63 ms │     no change │
│ QQuery 87 │   64.34 ms │                                   64.57 ms │     no change │
│ QQuery 88 │   59.07 ms │                                   58.35 ms │     no change │
│ QQuery 89 │   35.52 ms │                                   35.63 ms │     no change │
│ QQuery 90 │   16.04 ms │                                   16.11 ms │     no change │
│ QQuery 91 │   39.86 ms │                                   40.06 ms │     no change │
│ QQuery 92 │   28.56 ms │                                   28.70 ms │     no change │
│ QQuery 93 │   47.83 ms │                                   48.40 ms │     no change │
│ QQuery 94 │   37.40 ms │                                   37.48 ms │     no change │
│ QQuery 95 │   79.05 ms │                                   78.40 ms │     no change │
│ QQuery 96 │   23.69 ms │                                   23.76 ms │     no change │
│ QQuery 97 │   51.53 ms │                                   50.04 ms │     no change │
│ QQuery 98 │   38.29 ms │                                   37.34 ms │     no change │
│ QQuery 99 │   56.36 ms │                                   56.15 ms │     no change │
└───────────┴────────────┴────────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Benchmark Summary                                         ┃           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ Total Time (HEAD)                                         │ 9246.00ms │
│ Total Time (rich-T-kid_aggregate-dictionary-hash-cache)   │ 9151.66ms │
│ Average Time (HEAD)                                       │   93.39ms │
│ Average Time (rich-T-kid_aggregate-dictionary-hash-cache) │   92.44ms │
│ Queries Faster                                            │         3 │
│ Queries Slower                                            │         1 │
│ Queries with No Change                                    │        95 │
│ Queries with Failure                                      │         0 │
└───────────────────────────────────────────────────────────┴───────────┘

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

Comparing HEAD and rich-T-kid_aggregate-dictionary-hash-cache
--------------------
Benchmark tpcds_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                  HEAD ┃ rich-T-kid_aggregate-dictionary-hash-cache ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │           5.28 / 5.88 ±1.06 / 7.99 ms │                5.30 / 5.91 ±1.08 / 8.06 ms │     no change │
│ QQuery 2  │        76.60 / 77.00 ±0.31 / 77.52 ms │             77.13 / 77.42 ±0.15 / 77.58 ms │     no change │
│ QQuery 3  │        28.91 / 29.03 ±0.07 / 29.10 ms │             28.63 / 28.94 ±0.27 / 29.41 ms │     no change │
│ QQuery 4  │     808.96 / 818.02 ±9.17 / 833.98 ms │          735.65 / 740.30 ±3.60 / 745.39 ms │ +1.10x faster │
│ QQuery 5  │        49.96 / 50.68 ±0.47 / 51.27 ms │             49.96 / 50.64 ±0.81 / 52.16 ms │     no change │
│ QQuery 6  │        33.25 / 35.60 ±3.72 / 42.98 ms │             33.15 / 33.49 ±0.23 / 33.87 ms │ +1.06x faster │
│ QQuery 7  │        72.26 / 73.54 ±1.15 / 75.69 ms │             73.08 / 73.30 ±0.19 / 73.67 ms │     no change │
│ QQuery 8  │        37.83 / 37.92 ±0.06 / 38.00 ms │             38.13 / 38.48 ±0.35 / 39.13 ms │     no change │
│ QQuery 9  │        51.66 / 53.42 ±0.94 / 54.24 ms │             51.30 / 53.80 ±1.77 / 56.46 ms │     no change │
│ QQuery 10 │        61.32 / 63.40 ±2.42 / 68.11 ms │             61.37 / 61.72 ±0.40 / 62.35 ms │     no change │
│ QQuery 11 │     463.01 / 469.74 ±4.66 / 475.00 ms │          421.54 / 429.43 ±6.50 / 438.90 ms │ +1.09x faster │
│ QQuery 12 │        25.70 / 26.01 ±0.27 / 26.38 ms │             26.03 / 27.80 ±2.15 / 31.85 ms │  1.07x slower │
│ QQuery 13 │     111.29 / 113.26 ±1.96 / 116.80 ms │          112.07 / 113.55 ±1.31 / 115.74 ms │     no change │
│ QQuery 14 │     385.25 / 387.84 ±2.47 / 391.77 ms │          385.72 / 389.69 ±4.25 / 396.80 ms │     no change │
│ QQuery 15 │        51.31 / 53.16 ±2.92 / 58.92 ms │             50.96 / 51.97 ±0.71 / 52.94 ms │     no change │
│ QQuery 16 │           6.16 / 6.31 ±0.25 / 6.82 ms │               6.32 / 7.45 ±1.73 / 10.89 ms │  1.18x slower │
│ QQuery 17 │        79.69 / 80.54 ±0.81 / 81.99 ms │             79.58 / 81.28 ±2.63 / 86.43 ms │     no change │
│ QQuery 18 │     105.60 / 107.33 ±2.18 / 111.63 ms │          105.42 / 105.92 ±0.60 / 107.08 ms │     no change │
│ QQuery 19 │        40.85 / 41.31 ±0.46 / 42.07 ms │             41.29 / 41.79 ±0.53 / 42.74 ms │     no change │
│ QQuery 20 │        30.88 / 31.48 ±0.31 / 31.71 ms │             31.52 / 31.82 ±0.16 / 31.97 ms │     no change │
│ QQuery 21 │        17.06 / 17.35 ±0.19 / 17.53 ms │             17.19 / 17.45 ±0.32 / 18.00 ms │     no change │
│ QQuery 22 │        70.99 / 72.67 ±1.13 / 74.13 ms │             61.20 / 61.94 ±0.62 / 62.78 ms │ +1.17x faster │
│ QQuery 23 │     300.87 / 306.09 ±5.34 / 315.64 ms │          301.28 / 305.38 ±3.34 / 311.31 ms │     no change │
│ QQuery 24 │     188.43 / 191.07 ±1.50 / 192.92 ms │          190.42 / 195.43 ±7.98 / 211.26 ms │     no change │
│ QQuery 25 │     107.42 / 108.39 ±0.93 / 110.05 ms │          105.53 / 107.99 ±2.45 / 112.58 ms │     no change │
│ QQuery 26 │        46.12 / 47.77 ±2.32 / 52.34 ms │             46.78 / 46.89 ±0.09 / 47.00 ms │     no change │
│ QQuery 27 │           5.90 / 6.00 ±0.15 / 6.30 ms │                5.98 / 6.15 ±0.16 / 6.43 ms │     no change │
│ QQuery 28 │        56.64 / 59.09 ±1.78 / 60.94 ms │             60.31 / 61.07 ±0.46 / 61.65 ms │     no change │
│ QQuery 29 │        95.87 / 97.00 ±0.93 / 97.99 ms │             94.06 / 95.34 ±1.54 / 98.26 ms │     no change │
│ QQuery 30 │        36.34 / 37.59 ±1.99 / 41.56 ms │             36.14 / 36.53 ±0.26 / 36.89 ms │     no change │
│ QQuery 31 │     110.42 / 111.73 ±1.58 / 114.76 ms │          111.11 / 112.47 ±0.88 / 113.55 ms │     no change │
│ QQuery 32 │        19.90 / 20.29 ±0.43 / 21.09 ms │             19.91 / 20.18 ±0.16 / 20.31 ms │     no change │
│ QQuery 33 │        37.43 / 38.00 ±0.60 / 39.10 ms │             37.44 / 38.56 ±0.70 / 39.35 ms │     no change │
│ QQuery 34 │           9.40 / 9.58 ±0.20 / 9.96 ms │               9.51 / 9.78 ±0.29 / 10.31 ms │     no change │
│ QQuery 35 │        70.45 / 71.06 ±0.47 / 71.80 ms │             71.69 / 72.64 ±1.11 / 74.79 ms │     no change │
│ QQuery 36 │           5.81 / 5.92 ±0.18 / 6.28 ms │                6.02 / 6.15 ±0.20 / 6.54 ms │     no change │
│ QQuery 37 │           7.15 / 7.32 ±0.14 / 7.55 ms │                7.34 / 7.73 ±0.34 / 8.16 ms │  1.06x slower │
│ QQuery 38 │        63.86 / 64.44 ±0.49 / 65.20 ms │             64.15 / 64.78 ±0.55 / 65.71 ms │     no change │
│ QQuery 39 │        71.21 / 71.82 ±0.46 / 72.45 ms │             71.92 / 72.88 ±0.61 / 73.70 ms │     no change │
│ QQuery 40 │        22.33 / 22.86 ±0.43 / 23.59 ms │             23.18 / 24.22 ±0.92 / 25.89 ms │  1.06x slower │
│ QQuery 41 │        13.79 / 14.07 ±0.21 / 14.38 ms │             13.50 / 14.55 ±1.65 / 17.85 ms │     no change │
│ QQuery 42 │        23.84 / 24.25 ±0.35 / 24.78 ms │             23.87 / 24.35 ±0.31 / 24.69 ms │     no change │
│ QQuery 43 │           5.10 / 5.29 ±0.21 / 5.69 ms │                4.91 / 5.06 ±0.26 / 5.59 ms │     no change │
│ QQuery 44 │           8.58 / 8.86 ±0.19 / 9.11 ms │                8.22 / 8.34 ±0.10 / 8.52 ms │ +1.06x faster │
│ QQuery 45 │        34.68 / 35.72 ±1.44 / 38.59 ms │             34.67 / 34.93 ±0.18 / 35.21 ms │     no change │
│ QQuery 46 │        11.37 / 11.56 ±0.11 / 11.68 ms │             11.10 / 11.35 ±0.26 / 11.83 ms │     no change │
│ QQuery 47 │     201.54 / 203.00 ±0.95 / 204.44 ms │          202.26 / 205.64 ±4.98 / 215.51 ms │     no change │
│ QQuery 48 │        89.99 / 92.61 ±1.64 / 95.13 ms │             90.74 / 91.56 ±0.65 / 92.44 ms │     no change │
│ QQuery 49 │        69.24 / 69.53 ±0.27 / 70.04 ms │             69.82 / 70.51 ±0.73 / 71.54 ms │     no change │
│ QQuery 50 │        58.06 / 59.46 ±1.66 / 62.24 ms │             57.13 / 57.83 ±0.42 / 58.40 ms │     no change │
│ QQuery 51 │       90.44 / 93.20 ±3.87 / 100.81 ms │            92.39 / 96.02 ±3.54 / 102.58 ms │     no change │
│ QQuery 52 │        24.01 / 24.14 ±0.13 / 24.33 ms │             23.91 / 24.15 ±0.23 / 24.55 ms │     no change │
│ QQuery 53 │        29.21 / 29.44 ±0.20 / 29.75 ms │             29.05 / 29.19 ±0.12 / 29.37 ms │     no change │
│ QQuery 54 │        52.69 / 53.21 ±0.61 / 54.36 ms │             52.87 / 53.37 ±0.40 / 54.08 ms │     no change │
│ QQuery 55 │        23.39 / 23.78 ±0.42 / 24.59 ms │             23.43 / 23.59 ±0.13 / 23.78 ms │     no change │
│ QQuery 56 │        38.20 / 38.54 ±0.37 / 39.25 ms │             38.63 / 39.86 ±1.74 / 43.29 ms │     no change │
│ QQuery 57 │     151.73 / 152.95 ±1.40 / 155.46 ms │          150.67 / 153.08 ±2.73 / 158.37 ms │     no change │
│ QQuery 58 │     102.30 / 104.10 ±1.46 / 106.33 ms │          103.36 / 104.95 ±1.43 / 106.96 ms │     no change │
│ QQuery 59 │     106.34 / 106.69 ±0.21 / 106.91 ms │          106.93 / 107.22 ±0.30 / 107.60 ms │     no change │
│ QQuery 60 │        42.75 / 43.66 ±0.99 / 45.54 ms │             42.50 / 42.88 ±0.39 / 43.54 ms │     no change │
│ QQuery 61 │          9.47 / 9.71 ±0.20 / 10.05 ms │                9.43 / 9.62 ±0.19 / 9.97 ms │     no change │
│ QQuery 62 │        38.25 / 38.50 ±0.24 / 38.91 ms │             38.44 / 39.58 ±1.70 / 42.93 ms │     no change │
│ QQuery 63 │        29.26 / 29.60 ±0.31 / 30.12 ms │             29.37 / 29.67 ±0.18 / 29.88 ms │     no change │
│ QQuery 64 │     366.93 / 368.60 ±1.64 / 370.72 ms │          364.72 / 369.54 ±4.53 / 375.10 ms │     no change │
│ QQuery 65 │     132.26 / 134.37 ±1.74 / 136.60 ms │          128.56 / 132.53 ±3.07 / 136.53 ms │     no change │
│ QQuery 66 │        72.87 / 74.67 ±2.48 / 79.59 ms │             73.64 / 74.58 ±1.08 / 76.38 ms │     no change │
│ QQuery 67 │     226.95 / 229.27 ±2.14 / 232.08 ms │          215.75 / 222.09 ±3.58 / 226.73 ms │     no change │
│ QQuery 68 │        11.38 / 11.57 ±0.18 / 11.88 ms │             11.23 / 11.64 ±0.45 / 12.52 ms │     no change │
│ QQuery 69 │        56.33 / 56.58 ±0.23 / 57.00 ms │             56.54 / 56.72 ±0.13 / 56.87 ms │     no change │
│ QQuery 70 │      99.19 / 101.20 ±2.28 / 104.98 ms │           98.29 / 101.21 ±3.36 / 107.13 ms │     no change │
│ QQuery 71 │        34.59 / 34.80 ±0.12 / 34.97 ms │             34.85 / 35.06 ±0.21 / 35.42 ms │     no change │
│ QQuery 72 │ 1514.18 / 1558.62 ±50.15 / 1654.49 ms │      1553.28 / 1654.09 ±88.21 / 1812.25 ms │  1.06x slower │
│ QQuery 73 │           9.31 / 9.50 ±0.22 / 9.91 ms │               9.12 / 9.52 ±0.58 / 10.68 ms │     no change │
│ QQuery 74 │     241.08 / 246.25 ±4.37 / 253.97 ms │          232.19 / 237.93 ±5.10 / 245.21 ms │     no change │
│ QQuery 75 │     138.07 / 139.67 ±1.29 / 141.44 ms │          137.72 / 140.56 ±2.97 / 146.15 ms │     no change │
│ QQuery 76 │        33.79 / 34.19 ±0.39 / 34.74 ms │             34.11 / 34.32 ±0.11 / 34.43 ms │     no change │
│ QQuery 77 │        58.63 / 58.85 ±0.15 / 59.07 ms │             59.73 / 61.26 ±2.56 / 66.38 ms │     no change │
│ QQuery 78 │     158.60 / 161.90 ±2.86 / 166.52 ms │          160.51 / 163.55 ±4.06 / 171.55 ms │     no change │
│ QQuery 79 │        66.63 / 69.32 ±3.19 / 75.45 ms │             66.91 / 67.18 ±0.26 / 67.64 ms │     no change │
│ QQuery 80 │        94.10 / 94.69 ±0.90 / 96.47 ms │             94.86 / 96.07 ±1.04 / 97.81 ms │     no change │
│ QQuery 81 │        28.08 / 28.20 ±0.16 / 28.52 ms │             28.43 / 28.72 ±0.21 / 28.96 ms │     no change │
│ QQuery 82 │        17.08 / 17.69 ±0.74 / 19.11 ms │             17.14 / 17.44 ±0.37 / 18.15 ms │     no change │
│ QQuery 83 │        32.11 / 32.33 ±0.19 / 32.60 ms │             32.11 / 34.50 ±3.66 / 41.76 ms │  1.07x slower │
│ QQuery 84 │        30.64 / 32.28 ±2.95 / 38.17 ms │             31.17 / 32.53 ±1.57 / 35.21 ms │     no change │
│ QQuery 85 │      97.46 / 100.17 ±2.89 / 105.77 ms │            98.72 / 99.64 ±0.88 / 100.79 ms │     no change │
│ QQuery 86 │        24.61 / 24.86 ±0.16 / 25.09 ms │             24.63 / 24.86 ±0.15 / 24.99 ms │     no change │
│ QQuery 87 │        64.34 / 65.96 ±1.98 / 69.73 ms │             64.57 / 66.76 ±3.09 / 72.87 ms │     no change │
│ QQuery 88 │        59.07 / 60.09 ±1.31 / 62.69 ms │             58.35 / 58.95 ±0.40 / 59.44 ms │     no change │
│ QQuery 89 │        35.52 / 35.99 ±0.44 / 36.72 ms │             35.63 / 35.80 ±0.14 / 35.93 ms │     no change │
│ QQuery 90 │        16.04 / 16.17 ±0.12 / 16.38 ms │             16.11 / 16.26 ±0.10 / 16.36 ms │     no change │
│ QQuery 91 │        39.86 / 40.73 ±0.73 / 41.93 ms │             40.06 / 40.31 ±0.22 / 40.69 ms │     no change │
│ QQuery 92 │        28.56 / 28.94 ±0.34 / 29.50 ms │             28.70 / 30.06 ±1.41 / 32.76 ms │     no change │
│ QQuery 93 │        47.83 / 49.13 ±1.14 / 51.21 ms │             48.40 / 49.92 ±1.90 / 53.59 ms │     no change │
│ QQuery 94 │        37.40 / 39.04 ±1.48 / 41.81 ms │             37.48 / 37.72 ±0.14 / 37.88 ms │     no change │
│ QQuery 95 │        79.05 / 79.70 ±0.73 / 81.07 ms │             78.40 / 78.99 ±0.47 / 79.73 ms │     no change │
│ QQuery 96 │        23.69 / 23.86 ±0.17 / 24.15 ms │             23.76 / 24.73 ±1.22 / 27.03 ms │     no change │
│ QQuery 97 │        51.53 / 52.43 ±0.81 / 53.59 ms │             50.04 / 52.64 ±2.26 / 56.29 ms │     no change │
│ QQuery 98 │        38.29 / 39.08 ±1.11 / 41.25 ms │             37.34 / 37.77 ±0.31 / 38.17 ms │     no change │
│ QQuery 99 │        56.36 / 56.84 ±0.39 / 57.44 ms │             56.15 / 56.57 ±0.36 / 57.12 ms │     no change │
└───────────┴───────────────────────────────────────┴────────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Benchmark Summary                                         ┃           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ Total Time (HEAD)                                         │ 9406.91ms │
│ Total Time (rich-T-kid_aggregate-dictionary-hash-cache)   │ 9377.60ms │
│ Average Time (HEAD)                                       │   95.02ms │
│ Average Time (rich-T-kid_aggregate-dictionary-hash-cache) │   94.72ms │
│ Queries Faster                                            │         5 │
│ Queries Slower                                            │         6 │
│ Queries with No Change                                    │        88 │
│ 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: 4ede5833f68dad5bc8169492dedc5749fcc4b8d5 | Changed: 0044519d3b609ae6fbb0cfc59500b322ea368d39

tpcds — tpcds_sf1

Query Base Changed Change
Query 1 197.5 KiB 139.9 KiB -29.2%
Query 2 71.8 MiB 80.9 MiB +12.8%
Query 3 1.7 MiB 1.5 MiB -11.2%
Query 4 79.7 MiB 79.7 MiB +0.0%
Query 5 12.5 MiB 13.0 MiB +4.2%
Query 6 4.4 MiB 4.4 MiB +0.2%
Query 7 3.7 MiB 3.6 MiB -1.6%
Query 8 2.1 MiB 2.1 MiB +0.1%
Query 9 32.1 KiB 32.1 KiB +0.0%
Query 10 2.0 MiB 2.0 MiB +0.0%
Query 11 62.0 MiB 62.0 MiB +0.0%
Query 12 114.4 MiB 114.4 MiB -0.0%
Query 13 13.0 MiB 13.7 MiB +5.1%
Query 14 170.9 MiB 170.9 MiB +0.0%
Query 15 4.3 MiB 4.2 MiB -1.8%
Query 16 118.6 KiB 118.6 KiB +0.0%
Query 17 40.6 MiB 40.6 MiB +0.0%
Query 18 21.2 MiB 21.2 MiB +0.2%
Query 19 2.1 MiB 1.9 MiB -9.1%
Query 20 124.3 MiB 114.6 MiB -7.8%
Query 21 3.3 MiB 3.7 MiB +11.0%
Query 22 61.8 MiB 63.4 MiB +2.7%
Query 23 212.6 MiB 212.2 MiB -0.2%
Query 24 38.7 MiB 38.7 MiB +0.0%
Query 25 99.9 MiB 99.9 MiB +0.0%
Query 26 3.5 MiB 3.9 MiB +10.6%
Query 27 1.6 MiB 1.6 MiB +0.0%
Query 28 1.5 MiB 1.3 MiB -9.1%
Query 29 104.7 MiB 104.7 MiB +0.0%
Query 30 3.8 MiB 3.7 MiB -2.3%
Query 31 13.4 MiB 13.4 MiB +0.0%
Query 32 2.5 MiB 2.7 MiB +8.9%
Query 33 5.8 MiB 4.2 MiB -27.1%
Query 34 6.0 MiB 6.0 MiB +0.0%
Query 35 17.5 MiB 17.5 MiB +0.0%
Query 36 10.3 MiB 10.3 MiB +0.0%
Query 37 3.3 MiB 3.3 MiB +0.0%
Query 38 10.8 MiB 10.5 MiB -2.3%
Query 39 42.4 MiB 52.6 MiB +23.9%
Query 40 12.2 MiB 12.2 MiB +0.0%
Query 41 2.1 MiB 2.1 MiB +0.1%
Query 42 1.3 MiB 1.5 MiB +14.7%
Query 43 275.0 KiB 275.5 KiB +0.2%
Query 44 233.2 KiB 233.2 KiB +0.0%
Query 45 4.5 MiB 4.5 MiB +0.0%
Query 46 6.2 MiB 6.2 MiB +0.0%
Query 47 132.6 MiB 128.5 MiB -3.1%
Query 48 11.8 MiB 11.8 MiB +0.0%
Query 49 42.9 MiB 43.2 MiB +0.6%
Query 50 16.9 MiB 17.7 MiB +4.4%
Query 51 177.7 MiB 178.0 MiB +0.2%
Query 52 1.5 MiB 1.3 MiB -15.6%
Query 53 20.6 MiB 20.6 MiB +0.0%
Query 54 2.1 MiB 2.1 MiB +0.0%
Query 55 1.3 MiB 1.4 MiB +11.5%
Query 56 3.0 MiB 3.2 MiB +7.0%
Query 57 120.8 MiB 120.8 MiB +0.0%
Query 58 4.4 MiB 4.2 MiB -4.8%
Query 59 11.7 MiB 11.7 MiB +0.0%
Query 60 7.2 MiB 7.2 MiB +0.2%
Query 61 2.4 KiB 2.5 KiB +3.3%
Query 62 3.7 MiB 3.6 MiB -0.1%
Query 63 30.6 MiB 20.6 MiB -32.7%
Query 64 84.7 MiB 82.9 MiB -2.1%
Query 65 29.7 MiB 29.7 MiB -0.0%
Query 66 14.9 MiB 14.9 MiB +0.0%
Query 67 140.3 MiB 137.9 MiB -1.8%
Query 68 6.2 MiB 6.2 MiB +0.0%
Query 69 3.8 MiB 3.5 MiB -7.6%
Query 70 44.0 MiB 44.0 MiB -0.0%
Query 71 40.4 MiB 40.4 MiB +0.1%
Query 72 97.2 MiB 97.2 MiB +0.0%
Query 73 6.0 MiB 6.0 MiB +0.0%
Query 74 34.6 MiB 34.6 MiB +0.0%
Query 75 21.4 MiB 21.3 MiB -0.3%
Query 76 7.9 MiB 7.9 MiB +0.0%
Query 77 4.0 MiB 4.1 MiB +2.0%
Query 78 111.1 MiB 109.9 MiB -1.1%
Query 79 8.0 MiB 8.7 MiB +8.1%
Query 80 41.7 MiB 41.6 MiB -0.3%
Query 81 4.0 MiB 4.1 MiB +0.3%
Query 82 4.9 MiB 4.9 MiB +0.0%
Query 83 8.6 MiB 9.7 MiB +13.6%
Query 84 11.9 MiB 11.9 MiB +0.0%
Query 85 17.0 MiB 17.0 MiB +0.0%
Query 86 82.1 MiB 92.1 MiB +12.2%
Query 87 12.9 MiB 13.0 MiB +0.5%
Query 88 1.5 MiB 1.5 MiB -1.3%
Query 89 112.2 MiB 112.2 MiB -0.0%
Query 90 351.7 KiB 351.7 KiB +0.0%
Query 91 31.0 MiB 21.1 MiB -31.9%
Query 92 2.7 MiB 2.7 MiB +0.0%
Query 93 15.1 MiB 14.9 MiB -1.7%
Query 94 3.7 MiB 3.4 MiB -7.6%
Query 95 18.4 MiB 17.5 MiB -5.0%
Query 96 224.7 KiB 224.7 KiB +0.0%
Query 97 33.1 MiB 33.1 MiB +0.2%
Query 98 114.7 MiB 124.8 MiB +8.7%
Query 99 1.6 MiB 1.9 MiB +17.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
tpcds base (4ede5833f68dad5bc8169492dedc5749fcc4b8d5) 212.6 MiB 2.0 GiB 1.8 GiB 9.8×
tpcds changed (0044519d3b609ae6fbb0cfc59500b322ea368d39) 212.2 MiB 1.9 GiB 1.7 GiB 9.1×
Resource Usage

tpcds — base (merge-base)

Metric Value
Wall time 50.0s
Peak memory 2.0 GiB
Avg memory 1.5 GiB
CPU user 186.2s
CPU sys 5.4s
Peak spill 0 B

tpcds — branch

Metric Value
Wall time 50.0s
Peak memory 1.9 GiB
Avg memory 1.3 GiB
CPU user 188.9s
CPU sys 5.5s
Peak spill 0 B

File an issue against this benchmark runner

@Rich-T-kid

Copy link
Copy Markdown
Contributor Author

run benchmark dictionary_group_values
env:
DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
baseline:
ref: "9f6f79f717429e45575fcae6223bdc31671d3890"
changed:
ref: "61a5ed2b22cffc3b7882214722cc6c7421401e6e"

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c6460666156-3995-ztffc 6.12.105+ #1 SMP Sat Sep 19 07:55:25 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 61a5ed2 (61a5ed2) to 9f6f79f diff

Run configuration
run benchmark dictionary_group_values
env:
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
baseline:
  ref: "9f6f79f717429e45575fcae6223bdc31671d3890"
changed:
  ref: "61a5ed2b22cffc3b7882214722cc6c7421401e6e"

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 d38518d (d38518d) to 9f6f79f diff

Run configuration
run benchmark clickbench_partitioned
env:
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "9f6f79f717429e45575fcae6223bdc31671d3890"
changed:
  ref: "d38518df108a966db16970c8cb62d4aaaba5355a"
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_aggregate-dictionary-hash-cache
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃        HEAD ┃ rich-T-kid_aggregate-dictionary-hash-cache ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0  │     1.14 ms │                                    1.15 ms │     no change │
│ QQuery 1  │    11.08 ms │                                   10.98 ms │     no change │
│ QQuery 2  │    35.34 ms │                                   35.95 ms │     no change │
│ QQuery 3  │    30.64 ms │                                   30.73 ms │     no change │
│ QQuery 4  │   234.29 ms │                                  234.05 ms │     no change │
│ QQuery 5  │  1493.39 ms │                                 1465.74 ms │     no change │
│ QQuery 6  │     1.17 ms │                                    1.21 ms │     no change │
│ QQuery 7  │    12.17 ms │                                   12.67 ms │     no change │
│ QQuery 8  │   335.46 ms │                                  331.77 ms │     no change │
│ QQuery 9  │   467.54 ms │                                  484.57 ms │     no change │
│ QQuery 10 │   198.65 ms │                                  198.53 ms │     no change │
│ QQuery 11 │   208.65 ms │                                  210.23 ms │     no change │
│ QQuery 12 │  1528.43 ms │                                 1512.43 ms │     no change │
│ QQuery 13 │  2054.68 ms │                                 1987.10 ms │     no change │
│ QQuery 14 │  1633.70 ms │                                 1592.42 ms │     no change │
│ QQuery 15 │   286.22 ms │                                  288.83 ms │     no change │
│ QQuery 16 │  3474.31 ms │                                 3563.28 ms │     no change │
│ QQuery 17 │  3664.58 ms │                                 3731.19 ms │     no change │
│ QQuery 18 │  6631.84 ms │                                 6672.07 ms │     no change │
│ QQuery 19 │    26.33 ms │                                   26.66 ms │     no change │
│ QQuery 20 │  1036.21 ms │                                 1038.76 ms │     no change │
│ QQuery 21 │  1363.32 ms │                                 1353.98 ms │     no change │
│ QQuery 22 │  3207.09 ms │                                 3197.38 ms │     no change │
│ QQuery 23 │  9118.32 ms │                                 9142.72 ms │     no change │
│ QQuery 24 │    94.70 ms │                                   96.92 ms │     no change │
│ QQuery 25 │   351.54 ms │                                  349.42 ms │     no change │
│ QQuery 26 │    96.42 ms │                                   97.08 ms │     no change │
│ QQuery 27 │  1135.23 ms │                                 1146.59 ms │     no change │
│ QQuery 28 │  2762.59 ms │                                 2763.93 ms │     no change │
│ QQuery 29 │    39.04 ms │                                   39.13 ms │     no change │
│ QQuery 30 │   538.27 ms │                                  549.02 ms │     no change │
│ QQuery 31 │   547.23 ms │                                  536.32 ms │     no change │
│ QQuery 32 │   992.24 ms │                                 1047.49 ms │  1.06x slower │
│ QQuery 33 │ 13358.16 ms │                                14208.29 ms │  1.06x slower │
│ QQuery 34 │ 13943.57 ms │                                14484.36 ms │     no change │
│ QQuery 35 │   294.40 ms │                                  293.35 ms │     no change │
│ QQuery 36 │   175.05 ms │                                  163.89 ms │ +1.07x faster │
│ QQuery 37 │    94.94 ms │                                   96.11 ms │     no change │
│ QQuery 38 │    79.48 ms │                                   80.90 ms │     no change │
│ QQuery 39 │   384.67 ms │                                  390.01 ms │     no change │
│ QQuery 40 │    13.63 ms │                                   13.82 ms │     no change │
│ QQuery 41 │    13.05 ms │                                   13.07 ms │     no change │
│ QQuery 42 │    12.62 ms │                                   12.63 ms │     no change │
└───────────┴─────────────┴────────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                                         ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                                         │ 71981.39ms │
│ Total Time (rich-T-kid_aggregate-dictionary-hash-cache)   │ 73506.74ms │
│ Average Time (HEAD)                                       │  1673.99ms │
│ Average Time (rich-T-kid_aggregate-dictionary-hash-cache) │  1709.46ms │
│ Queries Faster                                            │          1 │
│ Queries Slower                                            │          2 │
│ Queries with No Change                                    │         40 │
│ Queries with Failure                                      │          0 │
└───────────────────────────────────────────────────────────┴────────────┘

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

Comparing HEAD and rich-T-kid_aggregate-dictionary-hash-cache
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                      HEAD ┃ rich-T-kid_aggregate-dictionary-hash-cache ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0  │              1.14 / 4.24 ±6.05 / 16.35 ms │               1.15 / 4.22 ±6.05 / 16.31 ms │     no change │
│ QQuery 1  │            11.08 / 11.23 ±0.12 / 11.40 ms │             10.98 / 11.31 ±0.23 / 11.60 ms │     no change │
│ QQuery 2  │            35.34 / 35.86 ±0.54 / 36.85 ms │             35.95 / 36.26 ±0.32 / 36.81 ms │     no change │
│ QQuery 3  │            30.64 / 31.43 ±0.91 / 33.16 ms │             30.73 / 31.53 ±0.58 / 32.33 ms │     no change │
│ QQuery 4  │         234.29 / 239.20 ±3.07 / 243.67 ms │          234.05 / 243.08 ±5.46 / 250.32 ms │     no change │
│ QQuery 5  │     1493.39 / 1510.45 ±17.64 / 1538.49 ms │      1465.74 / 1522.11 ±37.19 / 1566.57 ms │     no change │
│ QQuery 6  │               1.17 / 1.33 ±0.24 / 1.81 ms │                1.21 / 1.36 ±0.24 / 1.85 ms │     no change │
│ QQuery 7  │            12.17 / 12.26 ±0.10 / 12.45 ms │             12.67 / 12.92 ±0.22 / 13.31 ms │  1.05x slower │
│ QQuery 8  │         335.46 / 339.15 ±3.36 / 344.60 ms │         331.77 / 341.13 ±10.09 / 359.73 ms │     no change │
│ QQuery 9  │         467.54 / 478.26 ±9.62 / 491.46 ms │          484.57 / 496.47 ±8.86 / 509.45 ms │     no change │
│ QQuery 10 │         198.65 / 199.82 ±0.87 / 201.05 ms │          198.53 / 199.60 ±1.01 / 201.02 ms │     no change │
│ QQuery 11 │         208.65 / 210.86 ±1.49 / 213.01 ms │          210.23 / 211.45 ±1.17 / 213.39 ms │     no change │
│ QQuery 12 │     1528.43 / 1575.90 ±33.59 / 1617.57 ms │      1512.43 / 1560.56 ±37.51 / 1623.13 ms │     no change │
│ QQuery 13 │    2054.68 / 2625.12 ±356.99 / 3073.33 ms │     1987.10 / 2181.74 ±176.06 / 2417.68 ms │ +1.20x faster │
│ QQuery 14 │     1633.70 / 1683.82 ±37.44 / 1740.18 ms │      1592.42 / 1670.39 ±40.53 / 1706.10 ms │     no change │
│ QQuery 15 │        286.22 / 302.21 ±14.80 / 327.97 ms │          288.83 / 297.28 ±5.91 / 306.79 ms │     no change │
│ QQuery 16 │    3474.31 / 3708.58 ±170.42 / 3948.02 ms │     3563.28 / 3722.81 ±104.10 / 3855.25 ms │     no change │
│ QQuery 17 │    3664.58 / 3843.79 ±108.54 / 3977.80 ms │      3731.19 / 3811.63 ±50.13 / 3871.72 ms │     no change │
│ QQuery 18 │    6631.84 / 7009.95 ±309.10 / 7304.90 ms │     6672.07 / 7029.67 ±222.00 / 7352.91 ms │     no change │
│ QQuery 19 │            26.33 / 28.31 ±2.62 / 33.40 ms │             26.66 / 27.38 ±0.61 / 28.17 ms │     no change │
│ QQuery 20 │      1036.21 / 1047.18 ±8.87 / 1057.74 ms │       1038.76 / 1046.67 ±6.75 / 1057.41 ms │     no change │
│ QQuery 21 │      1363.32 / 1368.96 ±6.43 / 1381.13 ms │       1353.98 / 1368.62 ±8.08 / 1376.83 ms │     no change │
│ QQuery 22 │     3207.09 / 3232.98 ±22.50 / 3269.08 ms │      3197.38 / 3250.23 ±79.06 / 3407.65 ms │     no change │
│ QQuery 23 │    9118.32 / 9429.48 ±197.75 / 9658.10 ms │     9142.72 / 9368.62 ±134.29 / 9560.07 ms │     no change │
│ QQuery 24 │           94.70 / 98.98 ±4.52 / 107.72 ms │          96.92 / 147.80 ±77.98 / 299.23 ms │  1.49x slower │
│ QQuery 25 │         351.54 / 354.51 ±3.88 / 361.96 ms │          349.42 / 352.72 ±2.83 / 355.95 ms │     no change │
│ QQuery 26 │           96.42 / 98.44 ±1.80 / 101.69 ms │            97.08 / 98.63 ±1.30 / 100.69 ms │     no change │
│ QQuery 27 │      1135.23 / 1144.99 ±7.94 / 1156.93 ms │       1146.59 / 1153.16 ±4.52 / 1160.39 ms │     no change │
│ QQuery 28 │     2762.59 / 2815.38 ±37.35 / 2857.04 ms │      2763.93 / 2797.35 ±35.45 / 2858.06 ms │     no change │
│ QQuery 29 │          39.04 / 68.43 ±48.86 / 165.45 ms │            39.13 / 46.15 ±13.56 / 73.26 ms │ +1.48x faster │
│ QQuery 30 │         538.27 / 547.29 ±7.07 / 559.34 ms │          549.02 / 556.47 ±4.90 / 564.50 ms │     no change │
│ QQuery 31 │         547.23 / 556.10 ±7.77 / 568.25 ms │          536.32 / 546.05 ±6.69 / 556.92 ms │     no change │
│ QQuery 32 │      992.24 / 1067.92 ±44.05 / 1124.54 ms │      1047.49 / 1119.22 ±56.24 / 1190.59 ms │     no change │
│ QQuery 33 │ 13358.16 / 14492.89 ±921.79 / 15588.89 ms │  14208.29 / 14570.41 ±309.42 / 15040.76 ms │     no change │
│ QQuery 34 │ 13943.57 / 14707.30 ±442.29 / 15310.31 ms │  14484.36 / 14707.19 ±253.89 / 15165.09 ms │     no change │
│ QQuery 35 │        294.40 / 338.41 ±70.68 / 478.74 ms │        293.35 / 356.30 ±107.16 / 570.03 ms │  1.05x slower │
│ QQuery 36 │        175.05 / 198.96 ±25.38 / 233.66 ms │         163.89 / 190.52 ±26.55 / 240.95 ms │     no change │
│ QQuery 37 │          94.94 / 106.91 ±8.31 / 116.71 ms │           96.11 / 102.80 ±5.64 / 110.34 ms │     no change │
│ QQuery 38 │            79.48 / 82.68 ±2.80 / 86.34 ms │             80.90 / 83.73 ±2.40 / 87.56 ms │     no change │
│ QQuery 39 │        384.67 / 412.21 ±18.61 / 434.26 ms │          390.01 / 396.67 ±6.57 / 407.77 ms │     no change │
│ QQuery 40 │            13.63 / 14.28 ±0.70 / 15.61 ms │             13.82 / 14.51 ±0.52 / 15.30 ms │     no change │
│ QQuery 41 │            13.05 / 13.19 ±0.12 / 13.42 ms │             13.07 / 13.34 ±0.19 / 13.60 ms │     no change │
│ QQuery 42 │            12.62 / 12.76 ±0.10 / 12.88 ms │             12.63 / 13.99 ±2.36 / 18.71 ms │  1.10x slower │
└───────────┴───────────────────────────────────────────┴────────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                                         ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                                         │ 76062.00ms │
│ Total Time (rich-T-kid_aggregate-dictionary-hash-cache)   │ 75714.05ms │
│ Average Time (HEAD)                                       │  1768.88ms │
│ Average Time (rich-T-kid_aggregate-dictionary-hash-cache) │  1760.79ms │
│ 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: 9f6f79f717429e45575fcae6223bdc31671d3890 | Changed: d38518df108a966db16970c8cb62d4aaaba5355a

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 833.3 MiB 811.8 MiB -2.6%
Query 5 1.4 GiB 1.4 GiB +0.0%
Query 6 0 B 0 B 0.0%
Query 7 40.3 MiB 50.0 MiB +24.2%
Query 8 943.6 MiB 969.0 MiB +2.7%
Query 9 593.9 MiB 594.0 MiB +0.0%
Query 10 73.2 MiB 73.4 MiB +0.3%
Query 11 75.2 MiB 76.9 MiB +2.2%
Query 12 1.6 GiB 1.6 GiB +2.6%
Query 13 1.8 GiB 1.9 GiB +1.2%
Query 14 1.9 GiB 1.9 GiB +0.2%
Query 15 1.2 GiB 1.2 GiB +2.3%
Query 16 3.5 GiB 3.4 GiB -2.3%
Query 17 3.3 GiB 3.5 GiB +7.2%
Query 18 7.2 GiB 7.2 GiB -0.2%
Query 19 0 B 0 B 0.0%
Query 20 104 B 104 B +0.0%
Query 21 1.3 MiB 1.3 MiB +0.1%
Query 22 2.5 MiB 2.4 MiB -6.1%
Query 23 12.8 MiB 11.5 MiB -9.9%
Query 24 6.8 MiB 5.7 MiB -15.6%
Query 25 8.1 MiB 8.1 MiB +0.0%
Query 26 7.9 MiB 7.9 MiB -0.6%
Query 27 2.5 MiB 2.5 MiB +0.0%
Query 28 2.0 GiB 2.0 GiB +4.7%
Query 29 624 B 624 B +0.0%
Query 30 629.4 MiB 650.0 MiB +3.3%
Query 31 1.5 GiB 1.5 GiB -0.0%
Query 32 7.1 GiB 7.1 GiB -0.0%
Query 33 12.7 GiB 12.7 GiB -0.1%
Query 34 12.3 GiB 12.8 GiB +4.2%
Query 35 669.4 MiB 674.4 MiB +0.8%
Query 36 474.1 MiB 474.1 MiB +0.0%
Query 37 8.7 MiB 8.1 MiB -6.8%
Query 38 5.3 MiB 5.1 MiB -3.7%
Query 39 450.8 MiB 478.7 MiB +6.2%
Query 40 2.6 MiB 2.3 MiB -11.7%
Query 41 3.1 MiB 3.1 MiB -0.1%
Query 42 1.7 MiB 1.6 MiB -5.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 (9f6f79f717429e45575fcae6223bdc31671d3890) 12.7 GiB 13.4 GiB 733.0 MiB 1.1×
clickbench_partitioned changed (d38518df108a966db16970c8cb62d4aaaba5355a) 12.8 GiB 13.4 GiB 648.0 MiB 1.0×
Resource Usage

clickbench_partitioned — base (merge-base)

Metric Value
Wall time 385.1s
Peak memory 13.4 GiB
Avg memory 6.1 GiB
CPU user 3299.7s
CPU sys 207.0s
Peak spill 0 B

clickbench_partitioned — branch

Metric Value
Wall time 380.1s
Peak memory 13.4 GiB
Avg memory 6.2 GiB
CPU user 3285.8s
CPU sys 209.8s
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-c6460665981-3998-8rrqr 6.12.105+ #1 SMP Sat Sep 19 07:55:25 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 61a5ed2 (61a5ed2) to 9f6f79f diff

Run configuration
run benchmark clickbench_partitioned
env:
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "9f6f79f717429e45575fcae6223bdc31671d3890"
changed:
  ref: "61a5ed2b22cffc3b7882214722cc6c7421401e6e"

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-c6460665981-3996-bdjw4 6.12.105+ #1 SMP Sat Sep 19 07:55:25 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 61a5ed2 (61a5ed2) to 9f6f79f diff

Run configuration
run benchmark tpch
env:
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "9f6f79f717429e45575fcae6223bdc31671d3890"
changed:
  ref: "61a5ed2b22cffc3b7882214722cc6c7421401e6e"

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-c6460665981-3997-ql86p 6.12.105+ #1 SMP Sat Sep 19 07:55:25 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 61a5ed2 (61a5ed2) to 9f6f79f diff

Run configuration
run benchmark tpcds
env:
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "9f6f79f717429e45575fcae6223bdc31671d3890"
changed:
  ref: "61a5ed2b22cffc3b7882214722cc6c7421401e6e"

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 61a5ed2 (61a5ed2) to 9f6f79f diff

Run configuration
run benchmark tpch
env:
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "9f6f79f717429e45575fcae6223bdc31671d3890"
changed:
  ref: "61a5ed2b22cffc3b7882214722cc6c7421401e6e"
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_aggregate-dictionary-hash-cache
--------------------
Benchmark tpch_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃      HEAD ┃ rich-T-kid_aggregate-dictionary-hash-cache ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │  40.30 ms │                                   40.12 ms │     no change │
│ QQuery 2  │  18.61 ms │                                   19.01 ms │     no change │
│ QQuery 3  │  28.29 ms │                                   28.92 ms │     no change │
│ QQuery 4  │  17.25 ms │                                   18.09 ms │     no change │
│ QQuery 5  │  35.15 ms │                                   36.23 ms │     no change │
│ QQuery 6  │  13.80 ms │                                   14.04 ms │     no change │
│ QQuery 7  │  41.41 ms │                                   44.61 ms │  1.08x slower │
│ QQuery 8  │  40.94 ms │                                   41.65 ms │     no change │
│ QQuery 9  │  51.89 ms │                                   51.10 ms │     no change │
│ QQuery 10 │  59.51 ms │                                   57.99 ms │     no change │
│ QQuery 11 │  13.37 ms │                                   13.68 ms │     no change │
│ QQuery 12 │  21.40 ms │                                   21.40 ms │     no change │
│ QQuery 13 │  46.07 ms │                                   46.77 ms │     no change │
│ QQuery 14 │  24.25 ms │                                   24.35 ms │     no change │
│ QQuery 15 │  31.45 ms │                                   31.41 ms │     no change │
│ QQuery 16 │  13.53 ms │                                   13.83 ms │     no change │
│ QQuery 17 │  75.36 ms │                                   74.13 ms │     no change │
│ QQuery 18 │ 112.76 ms │                                  116.04 ms │     no change │
│ QQuery 19 │  30.38 ms │                                   29.91 ms │     no change │
│ QQuery 20 │  33.55 ms │                                   33.53 ms │     no change │
│ QQuery 21 │  54.59 ms │                                   55.95 ms │     no change │
│ QQuery 22 │  16.82 ms │                                   15.79 ms │ +1.06x faster │
└───────────┴───────────┴────────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┓
┃ Benchmark Summary                                         ┃          ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━┩
│ Total Time (HEAD)                                         │ 820.66ms │
│ Total Time (rich-T-kid_aggregate-dictionary-hash-cache)   │ 828.54ms │
│ Average Time (HEAD)                                       │  37.30ms │
│ Average Time (rich-T-kid_aggregate-dictionary-hash-cache) │  37.66ms │
│ Queries Faster                                            │        1 │
│ Queries Slower                                            │        1 │
│ Queries with No Change                                    │       20 │
│ Queries with Failure                                      │        0 │
└───────────────────────────────────────────────────────────┴──────────┘

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

Comparing HEAD and rich-T-kid_aggregate-dictionary-hash-cache
--------------------
Benchmark tpch_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓
┃ Query     ┃                              HEAD ┃ rich-T-kid_aggregate-dictionary-hash-cache ┃       Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━┩
│ QQuery 1  │    40.30 / 41.02 ±1.22 / 43.45 ms │             40.12 / 41.67 ±1.12 / 42.98 ms │    no change │
│ QQuery 2  │    18.61 / 19.19 ±0.48 / 19.91 ms │             19.01 / 19.34 ±0.40 / 20.05 ms │    no change │
│ QQuery 3  │    28.29 / 28.55 ±0.14 / 28.69 ms │             28.92 / 29.99 ±0.54 / 30.43 ms │ 1.05x slower │
│ QQuery 4  │    17.25 / 17.31 ±0.08 / 17.46 ms │             18.09 / 18.28 ±0.20 / 18.64 ms │ 1.06x slower │
│ QQuery 5  │    35.15 / 36.49 ±1.33 / 38.48 ms │             36.23 / 38.02 ±2.12 / 41.99 ms │    no change │
│ QQuery 6  │    13.80 / 14.00 ±0.32 / 14.63 ms │             14.04 / 14.80 ±0.56 / 15.63 ms │ 1.06x slower │
│ QQuery 7  │    41.41 / 44.43 ±1.91 / 46.99 ms │             44.61 / 46.59 ±1.50 / 49.13 ms │    no change │
│ QQuery 8  │    40.94 / 41.70 ±0.49 / 42.47 ms │             41.65 / 43.07 ±1.46 / 45.72 ms │    no change │
│ QQuery 9  │    51.89 / 52.27 ±0.44 / 52.98 ms │             51.10 / 52.63 ±1.11 / 54.46 ms │    no change │
│ QQuery 10 │    59.51 / 61.32 ±1.29 / 62.64 ms │             57.99 / 58.94 ±1.07 / 61.02 ms │    no change │
│ QQuery 11 │    13.37 / 13.76 ±0.25 / 14.15 ms │             13.68 / 14.07 ±0.63 / 15.32 ms │    no change │
│ QQuery 12 │    21.40 / 21.94 ±0.46 / 22.60 ms │             21.40 / 21.60 ±0.14 / 21.83 ms │    no change │
│ QQuery 13 │    46.07 / 47.61 ±1.58 / 50.48 ms │             46.77 / 48.22 ±2.19 / 52.56 ms │    no change │
│ QQuery 14 │    24.25 / 24.53 ±0.27 / 25.02 ms │             24.35 / 24.43 ±0.04 / 24.46 ms │    no change │
│ QQuery 15 │    31.45 / 31.53 ±0.07 / 31.64 ms │             31.41 / 32.11 ±0.83 / 33.16 ms │    no change │
│ QQuery 16 │    13.53 / 13.64 ±0.08 / 13.78 ms │             13.83 / 13.93 ±0.11 / 14.15 ms │    no change │
│ QQuery 17 │    75.36 / 75.80 ±0.41 / 76.34 ms │             74.13 / 76.36 ±1.45 / 78.40 ms │    no change │
│ QQuery 18 │ 112.76 / 120.04 ±5.30 / 126.94 ms │          116.04 / 118.30 ±1.58 / 120.79 ms │    no change │
│ QQuery 19 │    30.38 / 30.50 ±0.15 / 30.75 ms │             29.91 / 31.20 ±1.52 / 33.44 ms │    no change │
│ QQuery 20 │    33.55 / 34.09 ±0.35 / 34.55 ms │             33.53 / 34.01 ±0.45 / 34.61 ms │    no change │
│ QQuery 21 │    54.59 / 56.59 ±2.49 / 61.49 ms │             55.95 / 59.47 ±3.36 / 63.58 ms │ 1.05x slower │
│ QQuery 22 │    16.82 / 16.96 ±0.15 / 17.24 ms │             15.79 / 16.17 ±0.25 / 16.58 ms │    no change │
└───────────┴───────────────────────────────────┴────────────────────────────────────────────┴──────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┓
┃ Benchmark Summary                                         ┃          ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━┩
│ Total Time (HEAD)                                         │ 843.26ms │
│ Total Time (rich-T-kid_aggregate-dictionary-hash-cache)   │ 853.22ms │
│ Average Time (HEAD)                                       │  38.33ms │
│ Average Time (rich-T-kid_aggregate-dictionary-hash-cache) │  38.78ms │
│ Queries Faster                                            │        0 │
│ Queries Slower                                            │        4 │
│ Queries with No Change                                    │       18 │
│ 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: 9f6f79f717429e45575fcae6223bdc31671d3890 | Changed: 61a5ed2b22cffc3b7882214722cc6c7421401e6e

tpch — tpch_sf1

Query Base Changed Change
Query 1 30.1 MiB 40.1 MiB +33.2%
Query 2 23.1 MiB 23.1 MiB +0.0%
Query 3 11.5 MiB 11.5 MiB +0.0%
Query 4 22.3 MiB 22.2 MiB -0.3%
Query 5 32.9 MiB 52.8 MiB +60.4%
Query 6 832 B 832 B +0.0%
Query 7 107.6 MiB 109.3 MiB +1.6%
Query 8 33.2 MiB 34.1 MiB +2.6%
Query 9 155.6 MiB 155.6 MiB +0.0%
Query 10 61.2 MiB 68.4 MiB +11.7%
Query 11 41.2 MiB 61.5 MiB +49.5%
Query 12 10.2 MiB 10.2 MiB +0.0%
Query 13 72.3 MiB 43.0 MiB -40.6%
Query 14 7.7 MiB 7.7 MiB +0.0%
Query 15 13.3 MiB 13.0 MiB -2.5%
Query 16 33.6 MiB 33.6 MiB +0.2%
Query 17 150.3 MiB 150.3 MiB +0.0%
Query 18 2.7 GiB 2.7 GiB +0.0%
Query 19 228.6 KiB 228.6 KiB +0.0%
Query 20 58.8 MiB 60.8 MiB +3.5%
Query 21 37.7 MiB 37.7 MiB +0.0%
Query 22 41.8 MiB 22.0 MiB -47.4%

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 (9f6f79f717429e45575fcae6223bdc31671d3890) 2.7 GiB 2.0 GiB −689.4 MiB 0.8×
tpch changed (61a5ed2b22cffc3b7882214722cc6c7421401e6e) 2.7 GiB 1.4 GiB −1.3 GiB 0.5×
Resource Usage

tpch — base (merge-base)

Metric Value
Wall time 5.0s
Peak memory 2.0 GiB
Avg memory 821.7 MiB
CPU user 21.6s
CPU sys 1.6s
Peak spill 0 B

tpch — branch

Metric Value
Wall time 5.0s
Peak memory 1.4 GiB
Avg memory 697.8 MiB
CPU user 21.7s
CPU sys 1.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 61a5ed2 (61a5ed2) to 9f6f79f diff

Run configuration
run benchmark tpcds
env:
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "9f6f79f717429e45575fcae6223bdc31671d3890"
changed:
  ref: "61a5ed2b22cffc3b7882214722cc6c7421401e6e"
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_aggregate-dictionary-hash-cache
--------------------
Benchmark tpcds_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃       HEAD ┃ rich-T-kid_aggregate-dictionary-hash-cache ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │    5.86 ms │                                    6.15 ms │     no change │
│ QQuery 2  │   78.60 ms │                                   80.45 ms │     no change │
│ QQuery 3  │   29.23 ms │                                   30.00 ms │     no change │
│ QQuery 4  │  949.89 ms │                                  860.02 ms │ +1.10x faster │
│ QQuery 5  │   52.87 ms │                                   51.49 ms │     no change │
│ QQuery 6  │   35.35 ms │                                   34.04 ms │     no change │
│ QQuery 7  │   75.83 ms │                                   74.27 ms │     no change │
│ QQuery 8  │   39.47 ms │                                   39.03 ms │     no change │
│ QQuery 9  │   54.72 ms │                                   54.03 ms │     no change │
│ QQuery 10 │   63.17 ms │                                   62.74 ms │     no change │
│ QQuery 11 │  554.84 ms │                                  493.46 ms │ +1.12x faster │
│ QQuery 12 │   27.39 ms │                                   26.43 ms │     no change │
│ QQuery 13 │  117.72 ms │                                  118.63 ms │     no change │
│ QQuery 14 │  399.71 ms │                                  394.36 ms │     no change │
│ QQuery 15 │   59.13 ms │                                   56.63 ms │     no change │
│ QQuery 16 │    6.96 ms │                                    6.74 ms │     no change │
│ QQuery 17 │   83.28 ms │                                   81.83 ms │     no change │
│ QQuery 18 │  113.04 ms │                                  111.77 ms │     no change │
│ QQuery 19 │   44.47 ms │                                   42.52 ms │     no change │
│ QQuery 20 │   33.71 ms │                                   32.57 ms │     no change │
│ QQuery 21 │   18.20 ms │                                   18.23 ms │     no change │
│ QQuery 22 │   78.09 ms │                                   68.23 ms │ +1.14x faster │
│ QQuery 23 │  341.92 ms │                                  330.37 ms │     no change │
│ QQuery 24 │  209.39 ms │                                  216.11 ms │     no change │
│ QQuery 25 │  110.72 ms │                                  111.34 ms │     no change │
│ QQuery 26 │   48.08 ms │                                   48.32 ms │     no change │
│ QQuery 27 │    6.65 ms │                                    6.69 ms │     no change │
│ QQuery 28 │   57.51 ms │                                   61.78 ms │  1.07x slower │
│ QQuery 29 │  100.60 ms │                                   99.95 ms │     no change │
│ QQuery 30 │   40.20 ms │                                   38.70 ms │     no change │
│ QQuery 31 │  118.41 ms │                                  118.36 ms │     no change │
│ QQuery 32 │   22.26 ms │                                   21.40 ms │     no change │
│ QQuery 33 │   40.53 ms │                                   39.56 ms │     no change │
│ QQuery 34 │   10.42 ms │                                   10.41 ms │     no change │
│ QQuery 35 │   77.68 ms │                                   77.71 ms │     no change │
│ QQuery 36 │    6.44 ms │                                    6.70 ms │     no change │
│ QQuery 37 │    7.91 ms │                                    8.04 ms │     no change │
│ QQuery 38 │   71.35 ms │                                   69.90 ms │     no change │
│ QQuery 39 │   78.50 ms │                                   79.14 ms │     no change │
│ QQuery 40 │   25.79 ms │                                   25.09 ms │     no change │
│ QQuery 41 │   15.08 ms │                                   14.62 ms │     no change │
│ QQuery 42 │   25.19 ms │                                   25.32 ms │     no change │
│ QQuery 43 │    5.78 ms │                                    5.54 ms │     no change │
│ QQuery 44 │    9.55 ms │                                    9.27 ms │     no change │
│ QQuery 45 │   41.36 ms │                                   41.57 ms │     no change │
│ QQuery 46 │   12.61 ms │                                   12.42 ms │     no change │
│ QQuery 47 │  238.30 ms │                                  236.50 ms │     no change │
│ QQuery 48 │   96.55 ms │                                   96.03 ms │     no change │
│ QQuery 49 │   73.30 ms │                                   74.39 ms │     no change │
│ QQuery 50 │   61.94 ms │                                   61.54 ms │     no change │
│ QQuery 51 │   96.00 ms │                                   93.79 ms │     no change │
│ QQuery 52 │   25.94 ms │                                   25.57 ms │     no change │
│ QQuery 53 │   30.83 ms │                                   30.43 ms │     no change │
│ QQuery 54 │   56.45 ms │                                   55.73 ms │     no change │
│ QQuery 55 │   25.63 ms │                                   24.96 ms │     no change │
│ QQuery 56 │   42.47 ms │                                   41.98 ms │     no change │
│ QQuery 57 │  162.53 ms │                                  161.88 ms │     no change │
│ QQuery 58 │  111.15 ms │                                  109.29 ms │     no change │
│ QQuery 59 │  112.25 ms │                                  112.05 ms │     no change │
│ QQuery 60 │   47.00 ms │                                   45.49 ms │     no change │
│ QQuery 61 │   10.48 ms │                                   10.76 ms │     no change │
│ QQuery 62 │   40.88 ms │                                   40.43 ms │     no change │
│ QQuery 63 │   30.67 ms │                                   30.99 ms │     no change │
│ QQuery 64 │  403.41 ms │                                  406.60 ms │     no change │
│ QQuery 65 │  140.03 ms │                                  144.84 ms │     no change │
│ QQuery 66 │   80.25 ms │                                   81.95 ms │     no change │
│ QQuery 67 │  265.57 ms │                                  261.62 ms │     no change │
│ QQuery 68 │   12.68 ms │                                   12.99 ms │     no change │
│ QQuery 69 │   59.62 ms │                                   60.00 ms │     no change │
│ QQuery 70 │  103.10 ms │                                  104.46 ms │     no change │
│ QQuery 71 │   37.73 ms │                                   37.26 ms │     no change │
│ QQuery 72 │ 1773.53 ms │                                 1747.01 ms │     no change │
│ QQuery 73 │   10.39 ms │                                   10.07 ms │     no change │
│ QQuery 74 │  308.98 ms │                                  283.64 ms │ +1.09x faster │
│ QQuery 75 │  144.20 ms │                                  147.49 ms │     no change │
│ QQuery 76 │   35.16 ms │                                   36.80 ms │     no change │
│ QQuery 77 │   60.00 ms │                                   64.05 ms │  1.07x slower │
│ QQuery 78 │  167.34 ms │                                  186.94 ms │  1.12x slower │
│ QQuery 79 │   68.66 ms │                                   73.91 ms │  1.08x slower │
│ QQuery 80 │   98.77 ms │                                  115.72 ms │  1.17x slower │
│ QQuery 81 │   31.07 ms │                                   35.30 ms │  1.14x slower │
│ QQuery 82 │   18.55 ms │                                   18.69 ms │     no change │
│ QQuery 83 │   34.12 ms │                                   35.15 ms │     no change │
│ QQuery 84 │   32.22 ms │                                   32.60 ms │     no change │
│ QQuery 85 │  102.11 ms │                                  106.18 ms │     no change │
│ QQuery 86 │   25.21 ms │                                   26.41 ms │     no change │
│ QQuery 87 │   69.15 ms │                                   72.47 ms │     no change │
│ QQuery 88 │   61.57 ms │                                   62.95 ms │     no change │
│ QQuery 89 │   37.37 ms │                                   37.68 ms │     no change │
│ QQuery 90 │   16.96 ms │                                   17.44 ms │     no change │
│ QQuery 91 │   42.47 ms │                                   43.53 ms │     no change │
│ QQuery 92 │   31.31 ms │                                   31.46 ms │     no change │
│ QQuery 93 │   53.66 ms │                                   54.20 ms │     no change │
│ QQuery 94 │   40.10 ms │                                   40.42 ms │     no change │
│ QQuery 95 │   83.14 ms │                                   85.00 ms │     no change │
│ QQuery 96 │   24.27 ms │                                   24.90 ms │     no change │
│ QQuery 97 │   53.80 ms │                                   55.35 ms │     no change │
│ QQuery 98 │   40.89 ms │                                   40.89 ms │     no change │
│ QQuery 99 │   59.51 ms │                                   59.54 ms │     no change │
└───────────┴────────────┴────────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                                         ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                                         │ 10294.76ms │
│ Total Time (rich-T-kid_aggregate-dictionary-hash-cache)   │ 10129.21ms │
│ Average Time (HEAD)                                       │   103.99ms │
│ Average Time (rich-T-kid_aggregate-dictionary-hash-cache) │   102.32ms │
│ Queries Faster                                            │          4 │
│ Queries Slower                                            │          6 │
│ Queries with No Change                                    │         89 │
│ Queries with Failure                                      │          0 │
└───────────────────────────────────────────────────────────┴────────────┘

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

Comparing HEAD and rich-T-kid_aggregate-dictionary-hash-cache
--------------------
Benchmark tpcds_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                  HEAD ┃ rich-T-kid_aggregate-dictionary-hash-cache ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │           5.86 / 6.47 ±1.06 / 8.58 ms │                6.15 / 6.75 ±1.02 / 8.78 ms │     no change │
│ QQuery 2  │        78.60 / 78.88 ±0.16 / 79.07 ms │             80.45 / 80.97 ±0.28 / 81.27 ms │     no change │
│ QQuery 3  │        29.23 / 29.58 ±0.20 / 29.79 ms │             30.00 / 30.63 ±0.43 / 31.21 ms │     no change │
│ QQuery 4  │     949.89 / 961.50 ±9.85 / 977.47 ms │         860.02 / 887.66 ±21.18 / 911.97 ms │ +1.08x faster │
│ QQuery 5  │        52.87 / 53.68 ±0.68 / 54.79 ms │             51.49 / 52.60 ±0.81 / 53.54 ms │     no change │
│ QQuery 6  │        35.35 / 35.67 ±0.25 / 36.05 ms │             34.04 / 34.82 ±0.41 / 35.21 ms │     no change │
│ QQuery 7  │        75.83 / 78.11 ±3.70 / 85.48 ms │             74.27 / 74.89 ±0.38 / 75.37 ms │     no change │
│ QQuery 8  │        39.47 / 39.80 ±0.23 / 40.07 ms │             39.03 / 41.07 ±3.43 / 47.91 ms │     no change │
│ QQuery 9  │        54.72 / 56.97 ±2.07 / 60.85 ms │             54.03 / 55.59 ±1.24 / 57.75 ms │     no change │
│ QQuery 10 │        63.17 / 64.92 ±2.51 / 69.90 ms │             62.74 / 63.00 ±0.21 / 63.27 ms │     no change │
│ QQuery 11 │     554.84 / 557.56 ±2.70 / 562.34 ms │         493.46 / 502.68 ±12.50 / 526.92 ms │ +1.11x faster │
│ QQuery 12 │        27.39 / 27.52 ±0.09 / 27.65 ms │             26.43 / 27.54 ±0.75 / 28.40 ms │     no change │
│ QQuery 13 │     117.72 / 120.43 ±2.17 / 123.07 ms │          118.63 / 119.46 ±0.57 / 120.05 ms │     no change │
│ QQuery 14 │     399.71 / 402.62 ±3.07 / 407.69 ms │          394.36 / 399.06 ±4.12 / 403.95 ms │     no change │
│ QQuery 15 │        59.13 / 59.87 ±1.11 / 62.07 ms │             56.63 / 58.57 ±2.71 / 63.94 ms │     no change │
│ QQuery 16 │           6.96 / 7.28 ±0.27 / 7.67 ms │                6.74 / 6.94 ±0.13 / 7.12 ms │     no change │
│ QQuery 17 │        83.28 / 85.70 ±2.39 / 89.89 ms │             81.83 / 83.66 ±2.01 / 87.35 ms │     no change │
│ QQuery 18 │     113.04 / 113.96 ±0.94 / 115.71 ms │          111.77 / 112.89 ±0.97 / 114.61 ms │     no change │
│ QQuery 19 │        44.47 / 45.61 ±1.71 / 48.92 ms │             42.52 / 42.95 ±0.33 / 43.41 ms │ +1.06x faster │
│ QQuery 20 │        33.71 / 34.03 ±0.30 / 34.59 ms │             32.57 / 32.92 ±0.19 / 33.08 ms │     no change │
│ QQuery 21 │        18.20 / 18.49 ±0.17 / 18.67 ms │             18.23 / 18.50 ±0.19 / 18.75 ms │     no change │
│ QQuery 22 │        78.09 / 80.04 ±1.05 / 81.05 ms │             68.23 / 69.10 ±0.87 / 70.51 ms │ +1.16x faster │
│ QQuery 23 │     341.92 / 346.72 ±4.07 / 354.09 ms │          330.37 / 340.65 ±5.24 / 344.56 ms │     no change │
│ QQuery 24 │     209.39 / 212.54 ±3.66 / 219.29 ms │          216.11 / 218.83 ±2.00 / 221.57 ms │     no change │
│ QQuery 25 │     110.72 / 113.40 ±3.18 / 119.37 ms │          111.34 / 113.36 ±2.15 / 116.99 ms │     no change │
│ QQuery 26 │        48.08 / 48.91 ±0.48 / 49.50 ms │             48.32 / 48.49 ±0.15 / 48.73 ms │     no change │
│ QQuery 27 │           6.65 / 6.83 ±0.10 / 6.92 ms │                6.69 / 6.82 ±0.08 / 6.93 ms │     no change │
│ QQuery 28 │        57.51 / 62.23 ±2.39 / 63.90 ms │             61.78 / 62.80 ±0.67 / 63.62 ms │     no change │
│ QQuery 29 │     100.60 / 105.72 ±6.16 / 117.39 ms │           99.95 / 101.68 ±2.49 / 106.52 ms │     no change │
│ QQuery 30 │        40.20 / 41.44 ±0.90 / 42.71 ms │             38.70 / 39.43 ±0.82 / 40.98 ms │     no change │
│ QQuery 31 │     118.41 / 119.68 ±1.13 / 121.46 ms │          118.36 / 120.95 ±2.79 / 124.90 ms │     no change │
│ QQuery 32 │        22.26 / 24.08 ±2.57 / 29.15 ms │             21.40 / 21.86 ±0.28 / 22.27 ms │ +1.10x faster │
│ QQuery 33 │        40.53 / 41.10 ±0.60 / 42.24 ms │             39.56 / 40.25 ±0.38 / 40.71 ms │     no change │
│ QQuery 34 │        10.42 / 10.68 ±0.17 / 10.94 ms │             10.41 / 10.54 ±0.22 / 10.98 ms │     no change │
│ QQuery 35 │        77.68 / 79.03 ±0.97 / 79.95 ms │             77.71 / 79.92 ±2.93 / 85.69 ms │     no change │
│ QQuery 36 │           6.44 / 6.80 ±0.23 / 7.15 ms │                6.70 / 6.72 ±0.01 / 6.73 ms │     no change │
│ QQuery 37 │           7.91 / 8.08 ±0.13 / 8.26 ms │               8.04 / 9.14 ±1.33 / 11.72 ms │  1.13x slower │
│ QQuery 38 │        71.35 / 72.12 ±0.68 / 72.97 ms │             69.90 / 70.43 ±0.58 / 71.21 ms │     no change │
│ QQuery 39 │        78.50 / 80.45 ±1.32 / 82.50 ms │             79.14 / 80.60 ±1.38 / 82.76 ms │     no change │
│ QQuery 40 │        25.79 / 26.43 ±0.62 / 27.52 ms │             25.09 / 25.87 ±0.60 / 26.48 ms │     no change │
│ QQuery 41 │        15.08 / 15.36 ±0.26 / 15.72 ms │             14.62 / 15.05 ±0.32 / 15.47 ms │     no change │
│ QQuery 42 │        25.19 / 25.66 ±0.46 / 26.49 ms │             25.32 / 26.09 ±1.16 / 28.38 ms │     no change │
│ QQuery 43 │           5.78 / 5.91 ±0.09 / 6.00 ms │                5.54 / 5.73 ±0.15 / 5.97 ms │     no change │
│ QQuery 44 │         9.55 / 10.67 ±2.01 / 14.69 ms │               9.27 / 9.64 ±0.24 / 10.00 ms │ +1.11x faster │
│ QQuery 45 │        41.36 / 44.75 ±2.22 / 48.32 ms │             41.57 / 42.18 ±0.46 / 42.98 ms │ +1.06x faster │
│ QQuery 46 │        12.61 / 12.85 ±0.18 / 13.09 ms │             12.42 / 12.80 ±0.30 / 13.33 ms │     no change │
│ QQuery 47 │     238.30 / 239.79 ±1.26 / 241.50 ms │          236.50 / 241.08 ±3.90 / 247.61 ms │     no change │
│ QQuery 48 │       96.55 / 98.58 ±1.26 / 100.41 ms │            96.03 / 98.67 ±1.93 / 101.97 ms │     no change │
│ QQuery 49 │        73.30 / 76.96 ±3.36 / 83.23 ms │             74.39 / 76.34 ±1.55 / 78.90 ms │     no change │
│ QQuery 50 │        61.94 / 62.33 ±0.40 / 63.03 ms │             61.54 / 62.56 ±0.73 / 63.51 ms │     no change │
│ QQuery 51 │      96.00 / 104.38 ±7.92 / 116.38 ms │            93.79 / 99.09 ±3.42 / 103.65 ms │ +1.05x faster │
│ QQuery 52 │        25.94 / 26.94 ±0.67 / 27.85 ms │             25.57 / 25.94 ±0.32 / 26.31 ms │     no change │
│ QQuery 53 │        30.83 / 31.11 ±0.23 / 31.50 ms │             30.43 / 30.75 ±0.29 / 31.21 ms │     no change │
│ QQuery 54 │        56.45 / 56.86 ±0.27 / 57.22 ms │             55.73 / 59.01 ±4.93 / 68.75 ms │     no change │
│ QQuery 55 │        25.63 / 25.95 ±0.23 / 26.31 ms │             24.96 / 25.82 ±0.66 / 26.96 ms │     no change │
│ QQuery 56 │        42.47 / 44.99 ±2.19 / 48.41 ms │             41.98 / 42.31 ±0.24 / 42.66 ms │ +1.06x faster │
│ QQuery 57 │     162.53 / 165.20 ±1.69 / 166.67 ms │          161.88 / 164.93 ±2.31 / 168.47 ms │     no change │
│ QQuery 58 │     111.15 / 113.38 ±2.22 / 117.49 ms │          109.29 / 111.07 ±1.17 / 112.83 ms │     no change │
│ QQuery 59 │     112.25 / 114.67 ±3.46 / 121.52 ms │          112.05 / 113.32 ±1.53 / 116.25 ms │     no change │
│ QQuery 60 │        47.00 / 47.65 ±0.35 / 48.05 ms │             45.49 / 46.85 ±0.95 / 48.36 ms │     no change │
│ QQuery 61 │        10.48 / 10.78 ±0.24 / 11.08 ms │             10.76 / 10.90 ±0.13 / 11.09 ms │     no change │
│ QQuery 62 │        40.88 / 41.02 ±0.10 / 41.16 ms │             40.43 / 40.91 ±0.30 / 41.39 ms │     no change │
│ QQuery 63 │        30.67 / 31.05 ±0.30 / 31.54 ms │             30.99 / 32.40 ±2.30 / 36.99 ms │     no change │
│ QQuery 64 │     403.41 / 409.20 ±6.67 / 420.20 ms │          406.60 / 412.41 ±7.09 / 426.01 ms │     no change │
│ QQuery 65 │     140.03 / 145.61 ±5.04 / 155.12 ms │          144.84 / 147.30 ±2.16 / 150.25 ms │     no change │
│ QQuery 66 │        80.25 / 81.12 ±0.78 / 82.54 ms │             81.95 / 84.81 ±3.86 / 92.26 ms │     no change │
│ QQuery 67 │     265.57 / 271.57 ±4.93 / 280.11 ms │          261.62 / 266.60 ±5.07 / 275.65 ms │     no change │
│ QQuery 68 │        12.68 / 12.85 ±0.15 / 13.11 ms │             12.99 / 13.16 ±0.13 / 13.36 ms │     no change │
│ QQuery 69 │        59.62 / 60.29 ±0.59 / 61.30 ms │             60.00 / 63.15 ±4.99 / 73.08 ms │     no change │
│ QQuery 70 │     103.10 / 107.17 ±4.59 / 115.70 ms │          104.46 / 105.98 ±1.21 / 107.85 ms │     no change │
│ QQuery 71 │        37.73 / 38.52 ±0.73 / 39.81 ms │             37.26 / 38.10 ±0.73 / 39.30 ms │     no change │
│ QQuery 72 │ 1773.53 / 1908.08 ±86.31 / 2039.12 ms │      1747.01 / 1796.64 ±39.44 / 1849.08 ms │ +1.06x faster │
│ QQuery 73 │        10.39 / 11.05 ±0.48 / 11.81 ms │             10.07 / 10.59 ±0.42 / 11.20 ms │     no change │
│ QQuery 74 │     308.98 / 317.29 ±7.88 / 328.27 ms │         283.64 / 297.31 ±11.78 / 314.30 ms │ +1.07x faster │
│ QQuery 75 │     144.20 / 148.21 ±4.98 / 157.82 ms │          147.49 / 148.99 ±1.49 / 151.77 ms │     no change │
│ QQuery 76 │        35.16 / 35.66 ±0.42 / 36.26 ms │             36.80 / 40.20 ±6.03 / 52.23 ms │  1.13x slower │
│ QQuery 77 │        60.00 / 60.43 ±0.41 / 61.09 ms │             64.05 / 65.77 ±1.75 / 68.94 ms │  1.09x slower │
│ QQuery 78 │     167.34 / 172.31 ±6.00 / 184.09 ms │          186.94 / 190.90 ±3.26 / 194.75 ms │  1.11x slower │
│ QQuery 79 │        68.66 / 69.39 ±0.53 / 70.07 ms │             73.91 / 78.80 ±2.47 / 80.53 ms │  1.14x slower │
│ QQuery 80 │      98.77 / 103.27 ±2.98 / 106.84 ms │          115.72 / 118.87 ±1.64 / 120.31 ms │  1.15x slower │
│ QQuery 81 │        31.07 / 31.41 ±0.23 / 31.64 ms │             35.30 / 35.94 ±0.51 / 36.68 ms │  1.14x slower │
│ QQuery 82 │        18.55 / 19.09 ±0.28 / 19.31 ms │             18.69 / 19.28 ±0.42 / 19.98 ms │     no change │
│ QQuery 83 │        34.12 / 34.38 ±0.34 / 35.02 ms │             35.15 / 35.95 ±0.49 / 36.68 ms │     no change │
│ QQuery 84 │        32.22 / 32.43 ±0.13 / 32.63 ms │             32.60 / 35.55 ±4.67 / 44.86 ms │  1.10x slower │
│ QQuery 85 │     102.11 / 106.01 ±5.28 / 116.29 ms │          106.18 / 107.79 ±2.13 / 111.99 ms │     no change │
│ QQuery 86 │        25.21 / 25.46 ±0.21 / 25.81 ms │             26.41 / 26.85 ±0.34 / 27.33 ms │  1.05x slower │
│ QQuery 87 │        69.15 / 69.83 ±0.64 / 70.70 ms │             72.47 / 73.82 ±1.37 / 76.38 ms │  1.06x slower │
│ QQuery 88 │        61.57 / 63.74 ±2.79 / 69.03 ms │             62.95 / 64.62 ±1.87 / 68.21 ms │     no change │
│ QQuery 89 │        37.37 / 38.06 ±0.40 / 38.50 ms │             37.68 / 38.36 ±0.53 / 39.07 ms │     no change │
│ QQuery 90 │        16.96 / 17.26 ±0.17 / 17.48 ms │             17.44 / 17.92 ±0.38 / 18.51 ms │     no change │
│ QQuery 91 │        42.47 / 42.91 ±0.45 / 43.69 ms │             43.53 / 44.01 ±0.27 / 44.33 ms │     no change │
│ QQuery 92 │        31.31 / 31.87 ±0.37 / 32.28 ms │             31.46 / 33.89 ±2.87 / 39.51 ms │  1.06x slower │
│ QQuery 93 │        53.66 / 56.21 ±2.83 / 61.51 ms │             54.20 / 55.27 ±0.69 / 56.26 ms │     no change │
│ QQuery 94 │        40.10 / 40.78 ±0.78 / 42.18 ms │             40.42 / 41.35 ±0.52 / 41.79 ms │     no change │
│ QQuery 95 │        83.14 / 83.84 ±0.65 / 84.91 ms │             85.00 / 86.30 ±1.07 / 87.51 ms │     no change │
│ QQuery 96 │        24.27 / 24.62 ±0.20 / 24.87 ms │             24.90 / 26.69 ±3.21 / 33.11 ms │  1.08x slower │
│ QQuery 97 │        53.80 / 55.15 ±1.72 / 58.41 ms │             55.35 / 57.08 ±1.70 / 59.94 ms │     no change │
│ QQuery 98 │        40.89 / 41.42 ±0.50 / 42.31 ms │             40.89 / 41.23 ±0.45 / 42.10 ms │     no change │
│ QQuery 99 │        59.51 / 59.93 ±0.36 / 60.38 ms │             59.54 / 60.36 ±0.79 / 61.81 ms │     no change │
└───────────┴───────────────────────────────────────┴────────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                                         ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                                         │ 10598.20ms │
│ Total Time (rich-T-kid_aggregate-dictionary-hash-cache)   │ 10375.88ms │
│ Average Time (HEAD)                                       │   107.05ms │
│ Average Time (rich-T-kid_aggregate-dictionary-hash-cache) │   104.81ms │
│ Queries Faster                                            │         11 │
│ Queries Slower                                            │         12 │
│ Queries with No Change                                    │         76 │
│ 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: 9f6f79f717429e45575fcae6223bdc31671d3890 | Changed: 61a5ed2b22cffc3b7882214722cc6c7421401e6e

tpcds — tpcds_sf1

Query Base Changed Change
Query 1 197.5 KiB 188.9 KiB -4.4%
Query 2 100.1 MiB 88.9 MiB -11.2%
Query 3 1.7 MiB 1.9 MiB +12.6%
Query 4 79.7 MiB 79.7 MiB +0.0%
Query 5 13.5 MiB 12.5 MiB -7.5%
Query 6 4.8 MiB 4.4 MiB -7.2%
Query 7 3.7 MiB 3.7 MiB +0.1%
Query 8 2.1 MiB 1.8 MiB -12.7%
Query 9 32.1 KiB 32.1 KiB +0.0%
Query 10 2.0 MiB 2.0 MiB +0.0%
Query 11 62.0 MiB 62.0 MiB +0.1%
Query 12 124.1 MiB 114.4 MiB -7.8%
Query 13 13.7 MiB 13.0 MiB -4.8%
Query 14 171.1 MiB 171.8 MiB +0.4%
Query 15 4.1 MiB 4.1 MiB -0.7%
Query 16 118.6 KiB 118.6 KiB +0.0%
Query 17 41.5 MiB 42.0 MiB +1.1%
Query 18 21.2 MiB 21.2 MiB +0.0%
Query 19 2.1 MiB 1.9 MiB -9.1%
Query 20 114.6 MiB 114.6 MiB +0.0%
Query 21 4.0 MiB 3.7 MiB -7.1%
Query 22 61.8 MiB 63.4 MiB +2.7%
Query 23 212.6 MiB 213.3 MiB +0.3%
Query 24 38.7 MiB 38.7 MiB +0.0%
Query 25 99.9 MiB 99.9 MiB +0.0%
Query 26 3.5 MiB 3.8 MiB +7.2%
Query 27 1.6 MiB 1.6 MiB +0.0%
Query 28 1.5 MiB 1.3 MiB -9.1%
Query 29 104.7 MiB 104.7 MiB +0.0%
Query 30 3.8 MiB 3.7 MiB -2.3%
Query 31 13.4 MiB 13.4 MiB +0.0%
Query 32 2.7 MiB 2.7 MiB -0.1%
Query 33 5.3 MiB 5.8 MiB +8.8%
Query 34 6.0 MiB 6.0 MiB +0.0%
Query 35 17.5 MiB 16.6 MiB -5.1%
Query 36 10.3 MiB 10.3 MiB +0.0%
Query 37 3.3 MiB 3.3 MiB +0.0%
Query 38 10.8 MiB 10.5 MiB -2.4%
Query 39 62.9 MiB 83.7 MiB +33.2%
Query 40 12.2 MiB 12.2 MiB +0.0%
Query 41 2.1 MiB 2.1 MiB +0.1%
Query 42 1.5 MiB 1.3 MiB -15.9%
Query 43 257.8 KiB 258.2 KiB +0.1%
Query 44 233.2 KiB 233.2 KiB +0.0%
Query 45 4.5 MiB 4.5 MiB +0.0%
Query 46 6.2 MiB 6.2 MiB +0.0%
Query 47 132.6 MiB 132.6 MiB -0.0%
Query 48 12.1 MiB 11.4 MiB -6.2%
Query 49 52.8 MiB 52.8 MiB +0.0%
Query 50 17.3 MiB 18.0 MiB +4.3%
Query 51 177.7 MiB 177.7 MiB +0.0%
Query 52 1.8 MiB 1.5 MiB -12.5%
Query 53 20.6 MiB 30.6 MiB +48.6%
Query 54 2.1 MiB 2.1 MiB +0.0%
Query 55 1.9 MiB 1.5 MiB -22.7%
Query 56 3.2 MiB 3.5 MiB +7.1%
Query 57 130.6 MiB 127.7 MiB -2.2%
Query 58 4.2 MiB 4.2 MiB +0.0%
Query 59 11.7 MiB 11.7 MiB +0.0%
Query 60 7.3 MiB 7.3 MiB -0.0%
Query 61 2.4 KiB 2.5 KiB +3.3%
Query 62 3.6 MiB 3.3 MiB -9.1%
Query 63 30.6 MiB 20.6 MiB -32.7%
Query 64 95.6 MiB 75.6 MiB -20.9%
Query 65 29.7 MiB 29.7 MiB +0.0%
Query 66 11.9 MiB 14.9 MiB +26.1%
Query 67 141.5 MiB 140.3 MiB -0.8%
Query 68 6.2 MiB 6.2 MiB +0.0%
Query 69 4.3 MiB 3.9 MiB -9.4%
Query 70 44.0 MiB 44.0 MiB +0.0%
Query 71 40.4 MiB 40.4 MiB +0.0%
Query 72 97.2 MiB 97.2 MiB +0.0%
Query 73 6.0 MiB 6.0 MiB +0.0%
Query 74 34.6 MiB 34.6 MiB +0.0%
Query 75 20.7 MiB 21.3 MiB +2.8%
Query 76 7.9 MiB 7.9 MiB +0.0%
Query 77 4.0 MiB 4.0 MiB +0.0%
Query 78 111.5 MiB 111.1 MiB -0.4%
Query 79 8.7 MiB 9.3 MiB +7.5%
Query 80 42.0 MiB 42.0 MiB +0.0%
Query 81 4.1 MiB 4.2 MiB +3.9%
Query 82 4.9 MiB 4.9 MiB +0.0%
Query 83 9.7 MiB 9.0 MiB -7.0%
Query 84 11.9 MiB 11.9 MiB +0.0%
Query 85 17.0 MiB 17.0 MiB +0.0%
Query 86 82.1 MiB 91.9 MiB +12.0%
Query 87 12.9 MiB 13.0 MiB +0.5%
Query 88 1.5 MiB 1.6 MiB +8.6%
Query 89 112.2 MiB 112.2 MiB -0.0%
Query 90 348.6 KiB 351.7 KiB +0.9%
Query 91 31.0 MiB 30.9 MiB -0.2%
Query 92 2.7 MiB 2.7 MiB +0.0%
Query 93 15.5 MiB 15.1 MiB -2.4%
Query 94 3.7 MiB 3.4 MiB -7.6%
Query 95 17.0 MiB 17.8 MiB +4.4%
Query 96 224.7 KiB 224.7 KiB +0.0%
Query 97 33.1 MiB 33.1 MiB +0.2%
Query 98 114.7 MiB 114.7 MiB +0.0%
Query 99 1.8 MiB 1.7 MiB -8.8%

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 (9f6f79f717429e45575fcae6223bdc31671d3890) 212.6 MiB 1.8 GiB 1.6 GiB 8.9×
tpcds changed (61a5ed2b22cffc3b7882214722cc6c7421401e6e) 213.3 MiB 1.9 GiB 1.7 GiB 9.0×
Resource Usage

tpcds — base (merge-base)

Metric Value
Wall time 55.0s
Peak memory 1.8 GiB
Avg memory 1.3 GiB
CPU user 214.8s
CPU sys 6.3s
Peak spill 0 B

tpcds — branch

Metric Value
Wall time 55.0s
Peak memory 1.9 GiB
Avg memory 1.3 GiB
CPU user 210.5s
CPU sys 6.4s
Peak spill 0 B

File an issue against this benchmark runner

@Rich-T-kid
Rich-T-kid force-pushed the rich-T-kid/aggregate-dictionary-hash-cache branch from 61a5ed2 to 1a75044 Compare October 28, 2026 04:40
@Rich-T-kid

Copy link
Copy Markdown
Contributor Author

run benchmark dictionary_group_values
env:
DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
baseline:
ref: "12840651e7e6736f6eb055b3206622397308891b"
changed:
ref: "1a7504403773fea12b2902ab95c286c470ea023e"

@Rich-T-kid

Copy link
Copy Markdown
Contributor Author

run benchmark tpch tpcds clickbench_partitioned
env:
DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
ref: "12840651e7e6736f6eb055b3206622397308891b"
changed:
ref: "1a7504403773fea12b2902ab95c286c470ea023e"

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark completed (GKE) | trigger

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

Comparing 61a5ed2 (61a5ed2) to 9f6f79f diff

Run configuration
run benchmark dictionary_group_values
env:
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
baseline:
  ref: "9f6f79f717429e45575fcae6223bdc31671d3890"
changed:
  ref: "61a5ed2b22cffc3b7882214722cc6c7421401e6e"
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_aggregate-dictionary-hash-cache
-----                                                                             ----                                    ------------------------------------------
dict_intern_emit/intern_emit/size_65536_card_1000_null_0.00                       1.00    474.7±3.53µs 131.7 MElem/sec    1.01   481.6±14.92µs 129.8 MElem/sec
dict_intern_emit/intern_emit/size_65536_card_20_null_0.00                         1.00    411.0±2.83µs 152.1 MElem/sec    1.01    414.7±6.88µs 150.7 MElem/sec
dict_intern_emit/intern_emit/size_65536_card_300_null_0.00                        1.00    437.3±2.63µs 142.9 MElem/sec    1.01    440.8±6.45µs 141.8 MElem/sec
dict_intern_emit/intern_emit/size_65536_card_65536_null_0.00                      1.00      6.0±0.07ms 10.3 MElem/sec     1.03      6.2±0.07ms 10.0 MElem/sec
dict_intern_emit/intern_emit/size_65536_card_75_null_0.00                         1.00    430.7±2.73µs 145.1 MElem/sec    1.00    432.6±5.83µs 144.5 MElem/sec
dict_intern_emit/intern_emit/size_8192_card_1000_null_0.00                        1.00    111.6±0.51µs 70.0 MElem/sec     1.01    112.5±1.47µs 69.4 MElem/sec
dict_intern_emit/intern_emit/size_8192_card_20_null_0.00                          1.00     55.2±0.48µs 141.5 MElem/sec    1.04     57.2±1.61µs 136.6 MElem/sec
dict_intern_emit/intern_emit/size_8192_card_300_null_0.00                         1.00     71.8±0.41µs 108.8 MElem/sec    1.02     73.0±1.55µs 107.0 MElem/sec
dict_intern_emit/intern_emit/size_8192_card_75_null_0.00                          1.00     60.5±0.62µs 129.1 MElem/sec    1.02     61.9±1.37µs 126.2 MElem/sec
dict_intern_emit/intern_emit/size_8192_card_8192_null_0.00                        1.02    527.8±4.64µs 14.8 MElem/sec     1.00    518.5±1.98µs 15.1 MElem/sec
dict_repeated_intern_emit/repeated_intern_emit/size_65536_card_1000_null_0.10     1.00      2.3±0.01ms 107.8 MElem/sec    1.01      2.3±0.01ms 106.9 MElem/sec
dict_repeated_intern_emit/repeated_intern_emit/size_65536_card_20_null_0.10       1.00      2.2±0.01ms 115.3 MElem/sec    1.00      2.2±0.01ms 115.6 MElem/sec
dict_repeated_intern_emit/repeated_intern_emit/size_65536_card_300_null_0.10      1.00      2.3±0.01ms 110.7 MElem/sec    1.00      2.3±0.01ms 110.3 MElem/sec
dict_repeated_intern_emit/repeated_intern_emit/size_65536_card_65536_null_0.10    1.00     19.2±1.27ms 13.0 MElem/sec     1.04     20.0±1.25ms 12.5 MElem/sec
dict_repeated_intern_emit/repeated_intern_emit/size_65536_card_75_null_0.10       1.00      2.2±0.01ms 111.6 MElem/sec    1.00      2.2±0.01ms 111.7 MElem/sec
dict_repeated_intern_emit/repeated_intern_emit/size_8192_card_1000_null_0.10      1.01    399.1±1.93µs 78.3 MElem/sec     1.00    396.9±2.46µs 78.7 MElem/sec
dict_repeated_intern_emit/repeated_intern_emit/size_8192_card_20_null_0.10        1.03    266.2±1.77µs 117.4 MElem/sec    1.00    259.6±1.59µs 120.4 MElem/sec
dict_repeated_intern_emit/repeated_intern_emit/size_8192_card_300_null_0.10       1.02    306.8±2.79µs 101.9 MElem/sec    1.00    301.9±1.93µs 103.5 MElem/sec
dict_repeated_intern_emit/repeated_intern_emit/size_8192_card_75_null_0.10        1.02    279.6±1.95µs 111.8 MElem/sec    1.00    274.4±1.54µs 113.9 MElem/sec
dict_repeated_intern_emit/repeated_intern_emit/size_8192_card_8192_null_0.10      1.01  1321.2±10.14µs 23.7 MElem/sec     1.00   1307.3±5.82µs 23.9 MElem/sec
dict_scalar_append_equal/scalar_append_equal/size_65536_card_1000_null_0.10       1.00   1366.5±8.84µs 45.7 MElem/sec     1.01   1373.4±2.99µs 45.5 MElem/sec
dict_scalar_append_equal/scalar_append_equal/size_65536_card_20_null_0.10         1.00   1233.2±3.53µs 50.7 MElem/sec     1.01   1244.3±2.38µs 50.2 MElem/sec
dict_scalar_append_equal/scalar_append_equal/size_65536_card_300_null_0.10        1.00   1269.0±4.94µs 49.3 MElem/sec     1.01   1279.6±3.08µs 48.8 MElem/sec
dict_scalar_append_equal/scalar_append_equal/size_65536_card_65536_null_0.10      1.00      7.6±0.11ms  8.2 MElem/sec     1.01      7.7±0.10ms  8.1 MElem/sec
dict_scalar_append_equal/scalar_append_equal/size_65536_card_75_null_0.10         1.00   1254.0±6.91µs 49.8 MElem/sec     1.01   1264.2±2.26µs 49.4 MElem/sec
dict_shared_values_arc/shared_values_arc/size_8192_card_100000                    1.37     20.1±1.48ms 12.5 MElem/sec     1.00     14.6±1.44ms 17.1 MElem/sec
dict_shared_values_arc/shared_values_arc/size_8192_card_32768                     1.28      7.8±0.06ms 32.2 MElem/sec     1.00      6.1±0.05ms 41.2 MElem/sec
dict_shared_values_arc/shared_values_arc/size_8192_card_500000                    1.78     73.3±7.64ms  3.4 MElem/sec     1.00     41.1±6.39ms  6.1 MElem/sec
dict_shared_values_arc/shared_values_arc/size_8192_card_65536                     1.38     14.4±0.63ms 17.4 MElem/sec     1.00     10.5±0.37ms 23.9 MElem/sec
dict_shared_values_arc/shared_values_arc/size_8192_card_8192                      1.01      2.8±0.03ms 88.6 MElem/sec     1.00      2.8±0.02ms 89.4 MElem/sec
dict_take_n/take_n/size_65536_card_1000_null_0.10                                 1.01      2.5±0.01ms 100.8 MElem/sec    1.00      2.5±0.01ms 101.5 MElem/sec
dict_take_n/take_n/size_65536_card_20_null_0.10                                   1.01      2.1±0.01ms 117.2 MElem/sec    1.00      2.1±0.01ms 118.5 MElem/sec
dict_take_n/take_n/size_65536_card_300_null_0.10                                  1.01      2.3±0.01ms 109.6 MElem/sec    1.00      2.3±0.01ms 110.6 MElem/sec
dict_take_n/take_n/size_65536_card_65536_null_0.10                                1.00     26.1±0.25ms  9.6 MElem/sec     1.02     26.5±0.32ms  9.4 MElem/sec
dict_take_n/take_n/size_65536_card_75_null_0.10                                   1.01      2.2±0.01ms 112.1 MElem/sec    1.00      2.2±0.01ms 113.4 MElem/sec

Resource Usage

dictionary_group_values — base (merge-base)

Metric Value
Wall time 420.1s
Peak memory 896.8 MiB
Avg memory 95.0 MiB
CPU user 409.7s
CPU sys 23.4s
Peak spill 0 B

dictionary_group_values — branch

Metric Value
Wall time 510.1s
Peak memory 899.6 MiB
Avg memory 274.9 MiB
CPU user 436.4s
CPU sys 11.4s
Peak spill 0 B

File an issue against this benchmark runner

Reuse dictionary value hashes while the values Arc is unchanged so operators do not rehash the same dictionary for every batch.
@adriangbot

Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c6460838936-4006-2496r 6.12.105+ #1 SMP Sat Sep 19 07:55:25 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 1a75044 (1a75044) to 1284065 diff

Run configuration
run benchmark tpch
env:
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "12840651e7e6736f6eb055b3206622397308891b"
changed:
  ref: "1a7504403773fea12b2902ab95c286c470ea023e"

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-c6460838897-4005-m4zrc 6.12.105+ #1 SMP Sat Sep 19 07:55:25 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 1a75044 (1a75044) to 1284065 diff

Run configuration
run benchmark dictionary_group_values
env:
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
baseline:
  ref: "12840651e7e6736f6eb055b3206622397308891b"
changed:
  ref: "1a7504403773fea12b2902ab95c286c470ea023e"

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 61a5ed2 (61a5ed2) to 9f6f79f diff

Run configuration
run benchmark clickbench_partitioned
env:
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "9f6f79f717429e45575fcae6223bdc31671d3890"
changed:
  ref: "61a5ed2b22cffc3b7882214722cc6c7421401e6e"
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_aggregate-dictionary-hash-cache
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃        HEAD ┃ rich-T-kid_aggregate-dictionary-hash-cache ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0  │     1.18 ms │                                    1.22 ms │     no change │
│ QQuery 1  │    11.82 ms │                                   11.39 ms │     no change │
│ QQuery 2  │    36.22 ms │                                   36.84 ms │     no change │
│ QQuery 3  │    32.79 ms │                                   32.57 ms │     no change │
│ QQuery 4  │   258.76 ms │                                  253.82 ms │     no change │
│ QQuery 5  │  1533.22 ms │                                 1557.09 ms │     no change │
│ QQuery 6  │     1.24 ms │                                    1.20 ms │     no change │
│ QQuery 7  │    12.85 ms │                                   12.94 ms │     no change │
│ QQuery 8  │   363.89 ms │                                  364.72 ms │     no change │
│ QQuery 9  │   523.97 ms │                                  518.46 ms │     no change │
│ QQuery 10 │   202.47 ms │                                  204.04 ms │     no change │
│ QQuery 11 │   214.02 ms │                                  215.52 ms │     no change │
│ QQuery 12 │  1632.55 ms │                                 1575.76 ms │     no change │
│ QQuery 13 │  2215.10 ms │                                 2139.98 ms │     no change │
│ QQuery 14 │  1747.28 ms │                                 1734.95 ms │     no change │
│ QQuery 15 │   322.70 ms │                                  315.36 ms │     no change │
│ QQuery 16 │  3755.55 ms │                                 4037.65 ms │  1.08x slower │
│ QQuery 17 │  3927.55 ms │                                 3888.59 ms │     no change │
│ QQuery 18 │  6785.38 ms │                                 6628.04 ms │     no change │
│ QQuery 19 │    27.80 ms │                                   27.92 ms │     no change │
│ QQuery 20 │  1070.96 ms │                                 1078.55 ms │     no change │
│ QQuery 21 │  1408.20 ms │                                 1398.82 ms │     no change │
│ QQuery 22 │  3295.73 ms │                                 3263.02 ms │     no change │
│ QQuery 23 │  9389.86 ms │                                 9469.18 ms │     no change │
│ QQuery 24 │    96.91 ms │                                   96.47 ms │     no change │
│ QQuery 25 │   356.29 ms │                                  354.25 ms │     no change │
│ QQuery 26 │    97.17 ms │                                   96.56 ms │     no change │
│ QQuery 27 │  1176.96 ms │                                 1147.52 ms │     no change │
│ QQuery 28 │  2947.89 ms │                                 2788.87 ms │ +1.06x faster │
│ QQuery 29 │    40.31 ms │                                   39.23 ms │     no change │
│ QQuery 30 │   563.34 ms │                                  544.68 ms │     no change │
│ QQuery 31 │   545.79 ms │                                  543.02 ms │     no change │
│ QQuery 32 │  1100.93 ms │                                 1019.40 ms │ +1.08x faster │
│ QQuery 33 │ 14056.49 ms │                                13684.41 ms │     no change │
│ QQuery 34 │ 14821.28 ms │                                13531.04 ms │ +1.10x faster │
│ QQuery 35 │   326.38 ms │                                  291.03 ms │ +1.12x faster │
│ QQuery 36 │   180.85 ms │                                  159.34 ms │ +1.13x faster │
│ QQuery 37 │   100.43 ms │                                   95.86 ms │     no change │
│ QQuery 38 │    83.39 ms │                                   79.49 ms │     no change │
│ QQuery 39 │   428.15 ms │                                  378.65 ms │ +1.13x faster │
│ QQuery 40 │    14.99 ms │                                   13.94 ms │ +1.08x faster │
│ QQuery 41 │    14.17 ms │                                   13.21 ms │ +1.07x faster │
│ QQuery 42 │    13.71 ms │                                   13.22 ms │     no change │
└───────────┴─────────────┴────────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                                         ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                                         │ 75736.52ms │
│ Total Time (rich-T-kid_aggregate-dictionary-hash-cache)   │ 73657.77ms │
│ Average Time (HEAD)                                       │  1761.31ms │
│ Average Time (rich-T-kid_aggregate-dictionary-hash-cache) │  1712.97ms │
│ Queries Faster                                            │          8 │
│ Queries Slower                                            │          1 │
│ Queries with No Change                                    │         34 │
│ Queries with Failure                                      │          0 │
└───────────────────────────────────────────────────────────┴────────────┘

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

Comparing HEAD and rich-T-kid_aggregate-dictionary-hash-cache
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                      HEAD ┃ rich-T-kid_aggregate-dictionary-hash-cache ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0  │              1.18 / 4.44 ±6.26 / 16.95 ms │               1.22 / 4.47 ±6.26 / 16.99 ms │     no change │
│ QQuery 1  │            11.82 / 12.41 ±0.43 / 13.08 ms │             11.39 / 11.68 ±0.15 / 11.81 ms │ +1.06x faster │
│ QQuery 2  │            36.22 / 36.83 ±0.64 / 37.88 ms │             36.84 / 37.24 ±0.28 / 37.57 ms │     no change │
│ QQuery 3  │            32.79 / 33.20 ±0.62 / 34.44 ms │             32.57 / 32.81 ±0.26 / 33.28 ms │     no change │
│ QQuery 4  │         258.76 / 266.75 ±4.41 / 272.15 ms │          253.82 / 260.57 ±4.11 / 266.06 ms │     no change │
│ QQuery 5  │     1533.22 / 1631.34 ±67.28 / 1740.27 ms │      1557.09 / 1637.37 ±43.20 / 1686.83 ms │     no change │
│ QQuery 6  │               1.24 / 1.43 ±0.27 / 1.97 ms │                1.20 / 1.36 ±0.24 / 1.83 ms │     no change │
│ QQuery 7  │            12.85 / 13.18 ±0.21 / 13.43 ms │             12.94 / 13.14 ±0.13 / 13.34 ms │     no change │
│ QQuery 8  │         363.89 / 368.87 ±5.06 / 378.08 ms │          364.72 / 372.76 ±7.01 / 382.04 ms │     no change │
│ QQuery 9  │         523.97 / 535.25 ±7.20 / 546.04 ms │          518.46 / 528.46 ±7.38 / 539.51 ms │     no change │
│ QQuery 10 │         202.47 / 203.61 ±0.80 / 204.62 ms │         204.04 / 216.34 ±15.87 / 244.91 ms │  1.06x slower │
│ QQuery 11 │         214.02 / 214.44 ±0.33 / 214.93 ms │          215.52 / 217.73 ±1.59 / 220.20 ms │     no change │
│ QQuery 12 │     1632.55 / 1660.44 ±30.03 / 1718.47 ms │      1575.76 / 1649.57 ±51.70 / 1722.17 ms │     no change │
│ QQuery 13 │    2215.10 / 2588.74 ±275.95 / 2869.06 ms │     2139.98 / 2437.48 ±333.19 / 2859.76 ms │ +1.06x faster │
│ QQuery 14 │     1747.28 / 1783.70 ±28.36 / 1817.07 ms │      1734.95 / 1786.07 ±31.35 / 1833.57 ms │     no change │
│ QQuery 15 │         322.70 / 327.62 ±2.66 / 330.37 ms │          315.36 / 327.45 ±8.54 / 338.26 ms │     no change │
│ QQuery 16 │     3755.55 / 3924.76 ±98.75 / 4011.36 ms │     4037.65 / 4107.73 ±101.07 / 4308.65 ms │     no change │
│ QQuery 17 │     3927.55 / 4006.04 ±64.88 / 4098.71 ms │     3888.59 / 4091.02 ±106.45 / 4195.46 ms │     no change │
│ QQuery 18 │    6785.38 / 7441.33 ±393.53 / 7863.74 ms │     6628.04 / 7307.69 ±414.76 / 7912.66 ms │     no change │
│ QQuery 19 │            27.80 / 34.95 ±8.60 / 49.28 ms │             27.92 / 31.70 ±4.03 / 38.35 ms │ +1.10x faster │
│ QQuery 20 │      1070.96 / 1086.04 ±9.85 / 1098.19 ms │       1078.55 / 1089.66 ±6.53 / 1097.19 ms │     no change │
│ QQuery 21 │     1408.20 / 1421.57 ±15.69 / 1441.53 ms │      1398.82 / 1410.78 ±11.25 / 1428.72 ms │     no change │
│ QQuery 22 │      3295.73 / 3303.20 ±8.31 / 3318.58 ms │      3263.02 / 3327.54 ±38.52 / 3366.69 ms │     no change │
│ QQuery 23 │    9389.86 / 9540.42 ±159.65 / 9775.74 ms │     9469.18 / 9568.28 ±149.52 / 9861.02 ms │     no change │
│ QQuery 24 │         96.91 / 111.12 ±27.67 / 166.46 ms │         96.47 / 174.86 ±136.14 / 445.94 ms │  1.57x slower │
│ QQuery 25 │         356.29 / 359.38 ±3.04 / 363.60 ms │          354.25 / 356.75 ±1.43 / 358.63 ms │     no change │
│ QQuery 26 │           97.17 / 99.47 ±1.32 / 100.57 ms │            96.56 / 99.22 ±1.93 / 102.15 ms │     no change │
│ QQuery 27 │     1176.96 / 1187.38 ±11.99 / 1210.47 ms │      1147.52 / 1168.84 ±18.73 / 1195.18 ms │     no change │
│ QQuery 28 │     2947.89 / 2965.95 ±27.58 / 3020.55 ms │      2788.87 / 2831.91 ±43.29 / 2907.82 ms │     no change │
│ QQuery 29 │          40.31 / 52.67 ±24.51 / 101.69 ms │             39.23 / 39.64 ±0.42 / 40.20 ms │ +1.33x faster │
│ QQuery 30 │        563.34 / 602.24 ±59.13 / 719.70 ms │          544.68 / 552.03 ±5.24 / 560.02 ms │ +1.09x faster │
│ QQuery 31 │        545.79 / 562.39 ±12.34 / 577.23 ms │          543.02 / 549.09 ±5.96 / 556.42 ms │     no change │
│ QQuery 32 │     1100.93 / 1206.83 ±70.04 / 1314.03 ms │      1019.40 / 1037.15 ±13.19 / 1059.84 ms │ +1.16x faster │
│ QQuery 33 │ 14056.49 / 14765.92 ±579.09 / 15429.91 ms │  13684.41 / 14074.10 ±226.35 / 14312.49 ms │     no change │
│ QQuery 34 │ 14821.28 / 15248.53 ±320.36 / 15723.64 ms │  13531.04 / 13944.84 ±294.22 / 14267.63 ms │ +1.09x faster │
│ QQuery 35 │        326.38 / 346.79 ±27.62 / 401.41 ms │        291.03 / 352.26 ±106.22 / 564.42 ms │     no change │
│ QQuery 36 │         180.85 / 193.21 ±7.93 / 203.70 ms │         159.34 / 176.51 ±14.99 / 198.98 ms │ +1.09x faster │
│ QQuery 37 │         100.43 / 104.19 ±3.51 / 109.80 ms │           95.86 / 100.12 ±4.79 / 109.37 ms │     no change │
│ QQuery 38 │            83.39 / 85.33 ±1.71 / 88.37 ms │             79.49 / 86.48 ±5.16 / 93.09 ms │     no change │
│ QQuery 39 │         428.15 / 438.36 ±5.60 / 445.18 ms │          378.65 / 391.25 ±8.26 / 401.45 ms │ +1.12x faster │
│ QQuery 40 │            14.99 / 19.22 ±5.20 / 29.36 ms │             13.94 / 14.80 ±0.86 / 16.24 ms │ +1.30x faster │
│ QQuery 41 │            14.17 / 14.31 ±0.17 / 14.62 ms │             13.21 / 13.34 ±0.09 / 13.50 ms │ +1.07x faster │
│ QQuery 42 │            13.71 / 13.89 ±0.12 / 14.04 ms │             13.22 / 15.50 ±4.42 / 24.34 ms │  1.12x slower │
└───────────┴───────────────────────────────────────────┴────────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                                         ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                                         │ 78817.75ms │
│ Total Time (rich-T-kid_aggregate-dictionary-hash-cache)   │ 76447.57ms │
│ Average Time (HEAD)                                       │  1832.97ms │
│ Average Time (rich-T-kid_aggregate-dictionary-hash-cache) │  1777.85ms │
│ Queries Faster                                            │         11 │
│ Queries Slower                                            │          3 │
│ Queries with No Change                                    │         29 │
│ 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: 9f6f79f717429e45575fcae6223bdc31671d3890 | Changed: 61a5ed2b22cffc3b7882214722cc6c7421401e6e

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 830.7 MiB 848.2 MiB +2.1%
Query 5 1.4 GiB 1.4 GiB -2.7%
Query 6 0 B 0 B 0.0%
Query 7 60.3 MiB 70.0 MiB +16.2%
Query 8 943.5 MiB 967.5 MiB +2.5%
Query 9 552.0 MiB 594.0 MiB +7.6%
Query 10 72.0 MiB 72.7 MiB +0.9%
Query 11 76.9 MiB 77.7 MiB +1.1%
Query 12 1.6 GiB 1.6 GiB -1.6%
Query 13 1.9 GiB 2.0 GiB +5.5%
Query 14 1.9 GiB 1.9 GiB -0.0%
Query 15 1.2 GiB 1.2 GiB -1.1%
Query 16 3.3 GiB 3.2 GiB -2.6%
Query 17 3.3 GiB 3.3 GiB -0.4%
Query 18 7.2 GiB 7.2 GiB +0.6%
Query 19 0 B 0 B 0.0%
Query 20 104 B 104 B +0.0%
Query 21 1.5 MiB 1.3 MiB -14.8%
Query 22 2.7 MiB 2.4 MiB -11.6%
Query 23 13.9 MiB 11.1 MiB -20.0%
Query 24 6.8 MiB 6.0 MiB -11.0%
Query 25 8.1 MiB 8.1 MiB +0.0%
Query 26 7.9 MiB 7.4 MiB -6.5%
Query 27 2.8 MiB 2.2 MiB -20.7%
Query 28 2.0 GiB 2.0 GiB -1.9%
Query 29 624 B 624 B +0.0%
Query 30 645.0 MiB 675.1 MiB +4.7%
Query 31 1.5 GiB 1.5 GiB +0.0%
Query 32 7.1 GiB 7.1 GiB +0.1%
Query 33 12.7 GiB 12.7 GiB +0.1%
Query 34 12.7 GiB 12.7 GiB -0.1%
Query 35 664.8 MiB 666.4 MiB +0.2%
Query 36 474.1 MiB 474.1 MiB +0.0%
Query 37 8.4 MiB 8.1 MiB -3.0%
Query 38 5.1 MiB 5.3 MiB +2.3%
Query 39 450.8 MiB 478.7 MiB +6.2%
Query 40 2.9 MiB 2.6 MiB -10.1%
Query 41 3.1 MiB 3.1 MiB +0.0%
Query 42 1.7 MiB 1.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
clickbench_partitioned base (9f6f79f717429e45575fcae6223bdc31671d3890) 12.7 GiB 12.8 GiB 78.5 MiB 1.0×
clickbench_partitioned changed (61a5ed2b22cffc3b7882214722cc6c7421401e6e) 12.7 GiB 12.9 GiB 169.8 MiB 1.0×
Resource Usage

clickbench_partitioned — base (merge-base)

Metric Value
Wall time 395.1s
Peak memory 12.8 GiB
Avg memory 5.9 GiB
CPU user 3428.6s
CPU sys 223.7s
Peak spill 0 B

clickbench_partitioned — branch

Metric Value
Wall time 385.1s
Peak memory 12.9 GiB
Avg memory 6.0 GiB
CPU user 3333.5s
CPU sys 213.8s
Peak spill 0 B

File an issue against this benchmark runner

@Rich-T-kid
Rich-T-kid force-pushed the rich-T-kid/aggregate-dictionary-hash-cache branch from 1a75044 to 88a1247 Compare October 28, 2026 04:52
@adriangbot

Copy link
Copy Markdown

🤖 Benchmark completed (GKE) | trigger

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

Comparing 1a75044 (1a75044) to 1284065 diff

Run configuration
run benchmark tpch
env:
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "12840651e7e6736f6eb055b3206622397308891b"
changed:
  ref: "1a7504403773fea12b2902ab95c286c470ea023e"
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_aggregate-dictionary-hash-cache
--------------------
Benchmark tpch_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Query     ┃      HEAD ┃ rich-T-kid_aggregate-dictionary-hash-cache ┃    Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ QQuery 1  │  40.03 ms │                                   39.59 ms │ no change │
│ QQuery 2  │  18.46 ms │                                   18.47 ms │ no change │
│ QQuery 3  │  27.99 ms │                                   28.16 ms │ no change │
│ QQuery 4  │  17.20 ms │                                   17.09 ms │ no change │
│ QQuery 5  │  35.03 ms │                                   34.74 ms │ no change │
│ QQuery 6  │  13.56 ms │                                   13.53 ms │ no change │
│ QQuery 7  │  41.27 ms │                                   41.72 ms │ no change │
│ QQuery 8  │  41.11 ms │                                   40.68 ms │ no change │
│ QQuery 9  │  49.49 ms │                                   50.85 ms │ no change │
│ QQuery 10 │  58.02 ms │                                   57.23 ms │ no change │
│ QQuery 11 │  13.26 ms │                                   13.41 ms │ no change │
│ QQuery 12 │  21.04 ms │                                   21.24 ms │ no change │
│ QQuery 13 │  45.67 ms │                                   45.98 ms │ no change │
│ QQuery 14 │  23.65 ms │                                   23.89 ms │ no change │
│ QQuery 15 │  30.67 ms │                                   30.68 ms │ no change │
│ QQuery 16 │  13.20 ms │                                   13.24 ms │ no change │
│ QQuery 17 │  72.94 ms │                                   73.68 ms │ no change │
│ QQuery 18 │ 115.75 ms │                                  112.77 ms │ no change │
│ QQuery 19 │  29.75 ms │                                   29.73 ms │ no change │
│ QQuery 20 │  33.04 ms │                                   33.08 ms │ no change │
│ QQuery 21 │  51.89 ms │                                   51.90 ms │ no change │
│ QQuery 22 │  15.52 ms │                                   15.40 ms │ no change │
└───────────┴───────────┴────────────────────────────────────────────┴───────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┓
┃ Benchmark Summary                                         ┃          ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━┩
│ Total Time (HEAD)                                         │ 808.54ms │
│ Total Time (rich-T-kid_aggregate-dictionary-hash-cache)   │ 807.06ms │
│ Average Time (HEAD)                                       │  36.75ms │
│ Average Time (rich-T-kid_aggregate-dictionary-hash-cache) │  36.68ms │
│ 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_aggregate-dictionary-hash-cache
--------------------
Benchmark tpch_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Query     ┃                              HEAD ┃ rich-T-kid_aggregate-dictionary-hash-cache ┃    Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ QQuery 1  │    40.03 / 40.77 ±0.95 / 42.61 ms │             39.59 / 41.11 ±2.31 / 45.71 ms │ no change │
│ QQuery 2  │    18.46 / 18.75 ±0.27 / 19.27 ms │             18.47 / 18.72 ±0.27 / 19.23 ms │ no change │
│ QQuery 3  │    27.99 / 28.75 ±1.05 / 30.84 ms │             28.16 / 28.69 ±0.77 / 30.22 ms │ no change │
│ QQuery 4  │    17.20 / 17.39 ±0.14 / 17.53 ms │             17.09 / 17.74 ±0.67 / 18.58 ms │ no change │
│ QQuery 5  │    35.03 / 35.75 ±1.06 / 37.86 ms │             34.74 / 34.91 ±0.16 / 35.20 ms │ no change │
│ QQuery 6  │    13.56 / 13.67 ±0.08 / 13.82 ms │             13.53 / 14.06 ±0.90 / 15.86 ms │ no change │
│ QQuery 7  │    41.27 / 42.21 ±0.82 / 43.53 ms │             41.72 / 42.82 ±0.75 / 44.02 ms │ no change │
│ QQuery 8  │    41.11 / 42.83 ±1.45 / 45.21 ms │             40.68 / 41.68 ±0.83 / 43.17 ms │ no change │
│ QQuery 9  │    49.49 / 51.55 ±1.49 / 54.09 ms │             50.85 / 51.68 ±1.04 / 53.63 ms │ no change │
│ QQuery 10 │    58.02 / 58.96 ±1.01 / 60.93 ms │             57.23 / 57.72 ±0.77 / 59.25 ms │ no change │
│ QQuery 11 │    13.26 / 13.85 ±0.69 / 15.16 ms │             13.41 / 13.74 ±0.24 / 14.15 ms │ no change │
│ QQuery 12 │    21.04 / 21.22 ±0.18 / 21.55 ms │             21.24 / 21.75 ±0.56 / 22.78 ms │ no change │
│ QQuery 13 │    45.67 / 46.84 ±0.70 / 47.70 ms │             45.98 / 47.94 ±1.83 / 51.36 ms │ no change │
│ QQuery 14 │    23.65 / 24.27 ±1.13 / 26.52 ms │             23.89 / 24.12 ±0.20 / 24.44 ms │ no change │
│ QQuery 15 │    30.67 / 30.78 ±0.13 / 31.02 ms │             30.68 / 30.94 ±0.21 / 31.28 ms │ no change │
│ QQuery 16 │    13.20 / 13.29 ±0.07 / 13.39 ms │             13.24 / 13.42 ±0.09 / 13.51 ms │ no change │
│ QQuery 17 │    72.94 / 74.20 ±1.31 / 76.69 ms │             73.68 / 74.52 ±0.74 / 75.67 ms │ no change │
│ QQuery 18 │ 115.75 / 120.41 ±4.18 / 126.76 ms │          112.77 / 117.38 ±3.91 / 123.75 ms │ no change │
│ QQuery 19 │    29.75 / 30.52 ±0.91 / 32.28 ms │             29.73 / 31.97 ±1.92 / 35.02 ms │ no change │
│ QQuery 20 │    33.04 / 33.38 ±0.24 / 33.72 ms │             33.08 / 33.70 ±0.48 / 34.47 ms │ no change │
│ QQuery 21 │    51.89 / 54.65 ±3.46 / 61.43 ms │             51.90 / 54.09 ±2.49 / 58.86 ms │ no change │
│ QQuery 22 │    15.52 / 15.94 ±0.33 / 16.50 ms │             15.40 / 16.18 ±0.44 / 16.59 ms │ no change │
└───────────┴───────────────────────────────────┴────────────────────────────────────────────┴───────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┓
┃ Benchmark Summary                                         ┃          ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━┩
│ Total Time (HEAD)                                         │ 829.99ms │
│ Total Time (rich-T-kid_aggregate-dictionary-hash-cache)   │ 828.87ms │
│ Average Time (HEAD)                                       │  37.73ms │
│ Average Time (rich-T-kid_aggregate-dictionary-hash-cache) │  37.68ms │
│ 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: 12840651e7e6736f6eb055b3206622397308891b | Changed: 1a7504403773fea12b2902ab95c286c470ea023e

tpch — tpch_sf1

Query Base Changed Change
Query 1 30.1 MiB 20.2 MiB -33.1%
Query 2 23.1 MiB 23.1 MiB +0.0%
Query 3 11.5 MiB 11.5 MiB +0.0%
Query 4 32.2 MiB 32.2 MiB -0.0%
Query 5 42.9 MiB 42.8 MiB -0.3%
Query 6 832 B 832 B +0.0%
Query 7 107.6 MiB 107.6 MiB +0.0%
Query 8 33.9 MiB 34.7 MiB +2.4%
Query 9 155.6 MiB 155.6 MiB +0.0%
Query 10 61.2 MiB 66.3 MiB +8.2%
Query 11 41.3 MiB 51.5 MiB +24.7%
Query 12 20.1 MiB 20.1 MiB +0.0%
Query 13 62.7 MiB 52.8 MiB -15.7%
Query 14 7.7 MiB 7.7 MiB +0.0%
Query 15 12.8 MiB 12.8 MiB +0.0%
Query 16 33.2 MiB 32.7 MiB -1.7%
Query 17 150.3 MiB 150.3 MiB +0.0%
Query 18 2.7 GiB 2.7 GiB +0.0%
Query 19 228.6 KiB 228.6 KiB +0.0%
Query 20 61.6 MiB 57.6 MiB -6.4%
Query 21 37.7 MiB 37.7 MiB +0.0%
Query 22 22.2 MiB 31.8 MiB +43.4%

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 (12840651e7e6736f6eb055b3206622397308891b) 2.7 GiB 2.0 GiB −728.3 MiB 0.7×
tpch changed (1a7504403773fea12b2902ab95c286c470ea023e) 2.7 GiB 2.0 GiB −734.9 MiB 0.7×
Resource Usage

tpch — base (merge-base)

Metric Value
Wall time 5.0s
Peak memory 2.0 GiB
Avg memory 942.4 MiB
CPU user 21.7s
CPU sys 1.6s
Peak spill 0 B

tpch — branch

Metric Value
Wall time 5.0s
Peak memory 2.0 GiB
Avg memory 830.5 MiB
CPU user 21.6s
CPU sys 1.8s
Peak spill 0 B

File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

Benchmark for this request failed before finishing (Kubernetes reason: BackoffLimitExceeded).

Benchmarks requested: tpcds

Runner log (last 40 lines)
2026-10-28T04:55:24.049287Z  INFO runner starting benchmark runner bench_type=Datafusion, pr_url=https://github.com/apache/datafusion/pull/26826, benchmarks=tpcds
2026-10-28T04:55:24.100516Z  INFO benchmark_controller::runner::bench_datafusion === Cloning PR branch ===
2026-10-28T04:55:24.100538Z  INFO benchmark_controller::runner::shell running command cmd=git, args=["clone", "--depth=200", "https://github.com/apache/datafusion.git", "/workspace/datafusion-branch"], cwd="/"
2026-10-28T04:55:29.104634Z  INFO benchmark_controller::runner::shell running command cmd=git, args=["fetch", "origin", "refs/pull/26826/head:rich-T-kid/aggregate-dictionary-hash-cache", "main"], cwd="/workspace/datafusion-branch"
2026-10-28T04:55:34.107520Z  INFO benchmark_controller::runner::shell running command cmd=git, args=["checkout", "rich-T-kid/aggregate-dictionary-hash-cache"], cwd="/workspace/datafusion-branch"
2026-10-28T04:55:39.109773Z  INFO benchmark_controller::runner::shell running command cmd=git, args=["merge-base", "HEAD", "origin/main"], cwd="/workspace/datafusion-branch"
2026-10-28T04:55:44.111627Z  INFO benchmark_controller::runner::bench_datafusion === Checking out custom changed ref === changed_ref=1a7504403773fea12b2902ab95c286c470ea023e
2026-10-28T04:55:44.111642Z  INFO benchmark_controller::runner::shell running command cmd=git, args=["fetch", "origin", "refs/pull/26826/head"], cwd="/workspace/datafusion-branch"
2026-10-28T04:55:49.114242Z  INFO benchmark_controller::runner::shell running command cmd=git, args=["fetch", "origin"], cwd="/workspace/datafusion-branch"
2026-10-28T04:55:54.116323Z  INFO benchmark_controller::runner::shell running command cmd=git, args=["-c", "advice.detachedHead=false", "checkout", "1a7504403773fea12b2902ab95c286c470ea023e"], cwd="/workspace/datafusion-branch"
2026-10-28T04:55:59.120558Z ERROR runner benchmark failed error=git checkout: git -c advice.detachedHead=false checkout 1a7504403773fea12b2902ab95c286c470ea023e exited with code 128
stdout:

stderr:
fatal: reference is not a tree: 1a7504403773fea12b2902ab95c286c470ea023e
Kubernetes message
Job has reached the specified backoff limit

File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

Benchmark for this request failed before finishing (Kubernetes reason: BackoffLimitExceeded).

Benchmarks requested: clickbench_partitioned

Runner log (last 40 lines)
2026-10-28T04:55:24.603500Z  INFO runner starting benchmark runner bench_type=Datafusion, pr_url=https://github.com/apache/datafusion/pull/26826, benchmarks=clickbench_partitioned
2026-10-28T04:55:24.654783Z  INFO benchmark_controller::runner::bench_datafusion === Cloning PR branch ===
2026-10-28T04:55:24.654800Z  INFO benchmark_controller::runner::shell running command cmd=git, args=["clone", "--depth=200", "https://github.com/apache/datafusion.git", "/workspace/datafusion-branch"], cwd="/"
2026-10-28T04:55:29.659948Z  INFO benchmark_controller::runner::shell running command cmd=git, args=["fetch", "origin", "refs/pull/26826/head:rich-T-kid/aggregate-dictionary-hash-cache", "main"], cwd="/workspace/datafusion-branch"
2026-10-28T04:55:34.661950Z  INFO benchmark_controller::runner::shell running command cmd=git, args=["checkout", "rich-T-kid/aggregate-dictionary-hash-cache"], cwd="/workspace/datafusion-branch"
2026-10-28T04:55:39.663521Z  INFO benchmark_controller::runner::shell running command cmd=git, args=["merge-base", "HEAD", "origin/main"], cwd="/workspace/datafusion-branch"
2026-10-28T04:55:44.665898Z  INFO benchmark_controller::runner::bench_datafusion === Checking out custom changed ref === changed_ref=1a7504403773fea12b2902ab95c286c470ea023e
2026-10-28T04:55:44.665913Z  INFO benchmark_controller::runner::shell running command cmd=git, args=["fetch", "origin", "refs/pull/26826/head"], cwd="/workspace/datafusion-branch"
2026-10-28T04:55:49.667383Z  INFO benchmark_controller::runner::shell running command cmd=git, args=["fetch", "origin"], cwd="/workspace/datafusion-branch"
2026-10-28T04:55:54.669494Z  INFO benchmark_controller::runner::shell running command cmd=git, args=["-c", "advice.detachedHead=false", "checkout", "1a7504403773fea12b2902ab95c286c470ea023e"], cwd="/workspace/datafusion-branch"
2026-10-28T04:55:59.672997Z ERROR runner benchmark failed error=git checkout: git -c advice.detachedHead=false checkout 1a7504403773fea12b2902ab95c286c470ea023e exited with code 128
stdout:

stderr:
fatal: reference is not a tree: 1a7504403773fea12b2902ab95c286c470ea023e
Kubernetes message
Job has reached the specified backoff limit

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 1a75044 (1a75044) to 1284065 diff

Run configuration
run benchmark dictionary_group_values
env:
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
baseline:
  ref: "12840651e7e6736f6eb055b3206622397308891b"
changed:
  ref: "1a7504403773fea12b2902ab95c286c470ea023e"
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_aggregate-dictionary-hash-cache
-----                                                                             ----                                    ------------------------------------------
dict_intern_emit/intern_emit/size_65536_card_1000_null_0.00                       1.00    479.8±2.93µs 130.3 MElem/sec    1.00    477.5±2.65µs 130.9 MElem/sec
dict_intern_emit/intern_emit/size_65536_card_20_null_0.00                         1.01    414.4±5.16µs 150.8 MElem/sec    1.00    410.6±3.28µs 152.2 MElem/sec
dict_intern_emit/intern_emit/size_65536_card_300_null_0.00                        1.01    442.2±4.36µs 141.3 MElem/sec    1.00    439.2±3.07µs 142.3 MElem/sec
dict_intern_emit/intern_emit/size_65536_card_65536_null_0.00                      1.00      6.1±0.01ms 10.3 MElem/sec     1.07      6.5±0.01ms  9.6 MElem/sec
dict_intern_emit/intern_emit/size_65536_card_75_null_0.00                         1.01    433.7±2.88µs 144.1 MElem/sec    1.00    429.1±3.11µs 145.6 MElem/sec
dict_intern_emit/intern_emit/size_8192_card_1000_null_0.00                        1.00    112.2±0.77µs 69.6 MElem/sec     1.00    112.3±0.80µs 69.6 MElem/sec
dict_intern_emit/intern_emit/size_8192_card_20_null_0.00                          1.00     55.3±0.48µs 141.3 MElem/sec    1.00     55.1±0.30µs 141.7 MElem/sec
dict_intern_emit/intern_emit/size_8192_card_300_null_0.00                         1.00     72.1±0.67µs 108.3 MElem/sec    1.00     71.9±0.52µs 108.6 MElem/sec
dict_intern_emit/intern_emit/size_8192_card_75_null_0.00                          1.01     60.9±0.93µs 128.2 MElem/sec    1.00     60.3±0.50µs 129.5 MElem/sec
dict_intern_emit/intern_emit/size_8192_card_8192_null_0.00                        1.00    522.6±1.79µs 14.9 MElem/sec     1.01    527.6±1.64µs 14.8 MElem/sec
dict_repeated_intern_emit/repeated_intern_emit/size_65536_card_1000_null_0.10     1.00      2.3±0.00ms 107.8 MElem/sec    1.00      2.3±0.00ms 107.9 MElem/sec
dict_repeated_intern_emit/repeated_intern_emit/size_65536_card_20_null_0.10       1.00      2.2±0.00ms 115.8 MElem/sec    1.00      2.2±0.01ms 115.3 MElem/sec
dict_repeated_intern_emit/repeated_intern_emit/size_65536_card_300_null_0.10      1.00      2.2±0.01ms 111.4 MElem/sec    1.00      2.3±0.01ms 111.0 MElem/sec
dict_repeated_intern_emit/repeated_intern_emit/size_65536_card_65536_null_0.10    1.00     18.2±0.13ms 13.8 MElem/sec     1.01     18.4±0.06ms 13.6 MElem/sec
dict_repeated_intern_emit/repeated_intern_emit/size_65536_card_75_null_0.10       1.00      2.2±0.01ms 112.1 MElem/sec    1.00      2.2±0.01ms 112.3 MElem/sec
dict_repeated_intern_emit/repeated_intern_emit/size_8192_card_1000_null_0.10      1.01    402.6±2.13µs 77.6 MElem/sec     1.00    399.4±4.40µs 78.3 MElem/sec
dict_repeated_intern_emit/repeated_intern_emit/size_8192_card_20_null_0.10        1.01    264.0±2.47µs 118.4 MElem/sec    1.00    262.4±1.81µs 119.1 MElem/sec
dict_repeated_intern_emit/repeated_intern_emit/size_8192_card_300_null_0.10       1.00    305.0±3.84µs 102.4 MElem/sec    1.00    304.8±2.18µs 102.5 MElem/sec
dict_repeated_intern_emit/repeated_intern_emit/size_8192_card_75_null_0.10        1.08  297.3±206.75µs 105.1 MElem/sec    1.00    276.1±1.61µs 113.2 MElem/sec
dict_repeated_intern_emit/repeated_intern_emit/size_8192_card_8192_null_0.10      1.01   1325.5±8.57µs 23.6 MElem/sec     1.00   1306.3±4.36µs 23.9 MElem/sec
dict_scalar_append_equal/scalar_append_equal/size_65536_card_1000_null_0.10       1.01   1386.9±3.26µs 45.1 MElem/sec     1.00   1369.0±9.89µs 45.7 MElem/sec
dict_scalar_append_equal/scalar_append_equal/size_65536_card_20_null_0.10         1.02   1264.0±3.42µs 49.4 MElem/sec     1.00  1244.7±10.29µs 50.2 MElem/sec
dict_scalar_append_equal/scalar_append_equal/size_65536_card_300_null_0.10        1.00   1265.1±4.95µs 49.4 MElem/sec     1.01   1278.8±9.67µs 48.9 MElem/sec
dict_scalar_append_equal/scalar_append_equal/size_65536_card_65536_null_0.10      1.02      7.7±0.02ms  8.1 MElem/sec     1.00      7.6±0.02ms  8.3 MElem/sec
dict_scalar_append_equal/scalar_append_equal/size_65536_card_75_null_0.10         1.00   1245.5±2.86µs 50.2 MElem/sec     1.02  1265.7±10.73µs 49.4 MElem/sec
dict_shared_values_arc/shared_values_arc/size_8192_card_100000                    1.46     18.9±0.05ms 13.2 MElem/sec     1.00     13.0±0.05ms 19.3 MElem/sec
dict_shared_values_arc/shared_values_arc/size_8192_card_32768                     1.35      7.9±0.49ms 31.5 MElem/sec     1.00      5.9±0.01ms 42.6 MElem/sec
dict_shared_values_arc/shared_values_arc/size_8192_card_500000                    2.05     60.4±2.18ms  4.1 MElem/sec     1.00     29.5±1.56ms  8.5 MElem/sec
dict_shared_values_arc/shared_values_arc/size_8192_card_65536                     1.40     14.0±0.04ms 17.9 MElem/sec     1.00     10.0±0.02ms 25.0 MElem/sec
dict_shared_values_arc/shared_values_arc/size_8192_card_8192                      1.00      2.8±0.02ms 89.2 MElem/sec     1.01      2.8±0.02ms 88.7 MElem/sec
dict_take_n/take_n/size_65536_card_1000_null_0.10                                 1.00      2.5±0.01ms 100.5 MElem/sec    1.00      2.5±0.01ms 100.4 MElem/sec
dict_take_n/take_n/size_65536_card_20_null_0.10                                   1.00      2.1±0.01ms 117.0 MElem/sec    1.00      2.1±0.01ms 117.4 MElem/sec
dict_take_n/take_n/size_65536_card_300_null_0.10                                  1.00      2.3±0.01ms 109.9 MElem/sec    1.00      2.3±0.01ms 110.3 MElem/sec
dict_take_n/take_n/size_65536_card_65536_null_0.10                                1.01     26.5±0.04ms  9.4 MElem/sec     1.00     26.3±0.04ms  9.5 MElem/sec
dict_take_n/take_n/size_65536_card_75_null_0.10                                   1.00      2.2±0.01ms 112.9 MElem/sec    1.01      2.2±0.01ms 112.0 MElem/sec

Resource Usage

dictionary_group_values — base (merge-base)

Metric Value
Wall time 600.1s
Peak memory 900.8 MiB
Avg memory 71.6 MiB
CPU user 407.7s
CPU sys 21.8s
Peak spill 0 B

dictionary_group_values — branch

Metric Value
Wall time 600.1s
Peak memory 892.7 MiB
Avg memory 80.0 MiB
CPU user 413.0s
CPU sys 19.9s
Peak spill 0 B

File an issue against this benchmark runner

@Rich-T-kid

Copy link
Copy Markdown
Contributor Author

run benchmark tpch tpcds clickbench_partitioned
env:
DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
ref: "af752e5d5620b13e759e1713c6c0b72c43b4fb9b"
changed:
ref: "88a1247a1e18ea0055430f252b057349f724c5b2"

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c6461274857-4019-ndnbb 6.12.105+ #1 SMP Sat Sep 19 07:55:25 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 88a1247 (88a1247) to af752e5 diff

Run configuration
run benchmark tpch
env:
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "af752e5d5620b13e759e1713c6c0b72c43b4fb9b"
changed:
  ref: "88a1247a1e18ea0055430f252b057349f724c5b2"

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-c6461274857-4021-445rn 6.12.105+ #1 SMP Sat Sep 19 07:55:25 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 88a1247 (88a1247) to af752e5 diff

Run configuration
run benchmark clickbench_partitioned
env:
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "af752e5d5620b13e759e1713c6c0b72c43b4fb9b"
changed:
  ref: "88a1247a1e18ea0055430f252b057349f724c5b2"

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-c6461274857-4020-k9wsr 6.12.105+ #1 SMP Sat Sep 19 07:55:25 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 88a1247 (88a1247) to af752e5 diff

Run configuration
run benchmark tpcds
env:
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "af752e5d5620b13e759e1713c6c0b72c43b4fb9b"
changed:
  ref: "88a1247a1e18ea0055430f252b057349f724c5b2"

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 88a1247 (88a1247) to af752e5 diff

Run configuration
run benchmark tpch
env:
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "af752e5d5620b13e759e1713c6c0b72c43b4fb9b"
changed:
  ref: "88a1247a1e18ea0055430f252b057349f724c5b2"
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_aggregate-dictionary-hash-cache
--------------------
Benchmark tpch_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Query     ┃      HEAD ┃ rich-T-kid_aggregate-dictionary-hash-cache ┃    Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ QQuery 1  │  40.45 ms │                                   40.19 ms │ no change │
│ QQuery 2  │  18.92 ms │                                   18.51 ms │ no change │
│ QQuery 3  │  28.80 ms │                                   28.34 ms │ no change │
│ QQuery 4  │  17.39 ms │                                   17.40 ms │ no change │
│ QQuery 5  │  35.45 ms │                                   35.46 ms │ no change │
│ QQuery 6  │  13.75 ms │                                   13.65 ms │ no change │
│ QQuery 7  │  42.04 ms │                                   42.21 ms │ no change │
│ QQuery 8  │  41.29 ms │                                   41.51 ms │ no change │
│ QQuery 9  │  52.09 ms │                                   50.84 ms │ no change │
│ QQuery 10 │  59.54 ms │                                   58.82 ms │ no change │
│ QQuery 11 │  13.83 ms │                                   13.88 ms │ no change │
│ QQuery 12 │  21.34 ms │                                   21.53 ms │ no change │
│ QQuery 13 │  46.46 ms │                                   46.54 ms │ no change │
│ QQuery 14 │  24.22 ms │                                   23.99 ms │ no change │
│ QQuery 15 │  31.25 ms │                                   31.09 ms │ no change │
│ QQuery 16 │  13.78 ms │                                   13.65 ms │ no change │
│ QQuery 17 │  74.87 ms │                                   75.90 ms │ no change │
│ QQuery 18 │ 113.10 ms │                                  112.81 ms │ no change │
│ QQuery 19 │  30.26 ms │                                   30.18 ms │ no change │
│ QQuery 20 │  33.56 ms │                                   33.55 ms │ no change │
│ QQuery 21 │  54.00 ms │                                   52.30 ms │ no change │
│ QQuery 22 │  15.55 ms │                                   15.62 ms │ no change │
└───────────┴───────────┴────────────────────────────────────────────┴───────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┓
┃ Benchmark Summary                                         ┃          ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━┩
│ Total Time (HEAD)                                         │ 821.93ms │
│ Total Time (rich-T-kid_aggregate-dictionary-hash-cache)   │ 817.94ms │
│ Average Time (HEAD)                                       │  37.36ms │
│ Average Time (rich-T-kid_aggregate-dictionary-hash-cache) │  37.18ms │
│ 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_aggregate-dictionary-hash-cache
--------------------
Benchmark tpch_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Query     ┃                              HEAD ┃ rich-T-kid_aggregate-dictionary-hash-cache ┃    Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ QQuery 1  │    40.45 / 41.57 ±1.27 / 43.22 ms │             40.19 / 41.46 ±1.56 / 43.77 ms │ no change │
│ QQuery 2  │    18.92 / 19.15 ±0.26 / 19.48 ms │             18.51 / 18.82 ±0.28 / 19.31 ms │ no change │
│ QQuery 3  │    28.80 / 28.99 ±0.19 / 29.27 ms │             28.34 / 28.55 ±0.13 / 28.71 ms │ no change │
│ QQuery 4  │    17.39 / 17.45 ±0.07 / 17.57 ms │             17.40 / 17.78 ±0.64 / 19.06 ms │ no change │
│ QQuery 5  │    35.45 / 35.86 ±0.29 / 36.30 ms │             35.46 / 35.78 ±0.28 / 36.29 ms │ no change │
│ QQuery 6  │    13.75 / 13.84 ±0.10 / 13.96 ms │             13.65 / 13.78 ±0.10 / 13.91 ms │ no change │
│ QQuery 7  │    42.04 / 43.59 ±1.15 / 45.30 ms │             42.21 / 43.68 ±1.19 / 45.26 ms │ no change │
│ QQuery 8  │    41.29 / 41.81 ±0.50 / 42.51 ms │             41.51 / 43.84 ±1.71 / 46.50 ms │ no change │
│ QQuery 9  │    52.09 / 52.68 ±0.56 / 53.60 ms │             50.84 / 51.89 ±0.75 / 52.80 ms │ no change │
│ QQuery 10 │    59.54 / 60.01 ±0.65 / 61.29 ms │             58.82 / 60.55 ±1.67 / 62.66 ms │ no change │
│ QQuery 11 │    13.83 / 14.05 ±0.17 / 14.27 ms │             13.88 / 14.00 ±0.08 / 14.11 ms │ no change │
│ QQuery 12 │    21.34 / 22.23 ±1.17 / 24.53 ms │             21.53 / 21.99 ±0.53 / 23.01 ms │ no change │
│ QQuery 13 │    46.46 / 47.84 ±1.52 / 50.70 ms │             46.54 / 48.06 ±1.93 / 51.83 ms │ no change │
│ QQuery 14 │    24.22 / 24.33 ±0.11 / 24.52 ms │             23.99 / 24.13 ±0.11 / 24.30 ms │ no change │
│ QQuery 15 │    31.25 / 31.58 ±0.48 / 32.53 ms │             31.09 / 31.91 ±0.64 / 33.03 ms │ no change │
│ QQuery 16 │    13.78 / 14.00 ±0.24 / 14.44 ms │             13.65 / 14.01 ±0.21 / 14.31 ms │ no change │
│ QQuery 17 │    74.87 / 76.24 ±1.19 / 77.98 ms │             75.90 / 76.53 ±0.50 / 77.29 ms │ no change │
│ QQuery 18 │ 113.10 / 117.33 ±3.48 / 121.86 ms │          112.81 / 116.54 ±2.68 / 121.01 ms │ no change │
│ QQuery 19 │    30.26 / 30.62 ±0.31 / 31.08 ms │             30.18 / 30.37 ±0.15 / 30.63 ms │ no change │
│ QQuery 20 │    33.56 / 34.08 ±0.28 / 34.44 ms │             33.55 / 34.09 ±0.35 / 34.55 ms │ no change │
│ QQuery 21 │    54.00 / 55.42 ±1.36 / 57.75 ms │             52.30 / 55.34 ±3.38 / 61.82 ms │ no change │
│ QQuery 22 │    15.55 / 15.79 ±0.16 / 15.99 ms │             15.62 / 16.14 ±0.43 / 16.82 ms │ no change │
└───────────┴───────────────────────────────────┴────────────────────────────────────────────┴───────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┓
┃ Benchmark Summary                                         ┃          ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━┩
│ Total Time (HEAD)                                         │ 838.45ms │
│ Total Time (rich-T-kid_aggregate-dictionary-hash-cache)   │ 839.24ms │
│ Average Time (HEAD)                                       │  38.11ms │
│ Average Time (rich-T-kid_aggregate-dictionary-hash-cache) │  38.15ms │
│ 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: af752e5d5620b13e759e1713c6c0b72c43b4fb9b | Changed: 88a1247a1e18ea0055430f252b057349f724c5b2

tpch — tpch_sf1

Query Base Changed Change
Query 1 40.1 MiB 20.2 MiB -49.7%
Query 2 23.1 MiB 23.1 MiB +0.0%
Query 3 11.5 MiB 11.5 MiB +0.0%
Query 4 22.2 MiB 22.3 MiB +0.3%
Query 5 42.7 MiB 32.8 MiB -23.3%
Query 6 832 B 832 B +0.0%
Query 7 107.6 MiB 107.6 MiB +0.0%
Query 8 32.8 MiB 33.2 MiB +1.3%
Query 9 155.6 MiB 155.6 MiB +0.0%
Query 10 61.2 MiB 66.8 MiB +9.1%
Query 11 61.7 MiB 61.7 MiB +0.0%
Query 12 10.2 MiB 20.1 MiB +96.7%
Query 13 42.9 MiB 52.4 MiB +22.2%
Query 14 7.7 MiB 7.7 MiB +0.0%
Query 15 13.1 MiB 12.8 MiB -2.4%
Query 16 33.5 MiB 33.5 MiB +0.0%
Query 17 150.3 MiB 150.3 MiB +0.0%
Query 18 2.7 GiB 2.7 GiB +0.0%
Query 19 228.6 KiB 228.6 KiB +0.0%
Query 20 60.6 MiB 57.8 MiB -4.7%
Query 21 37.7 MiB 37.7 MiB +0.0%
Query 22 22.0 MiB 31.9 MiB +45.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 (af752e5d5620b13e759e1713c6c0b72c43b4fb9b) 2.7 GiB 2.1 GiB −656.9 MiB 0.8×
tpch changed (88a1247a1e18ea0055430f252b057349f724c5b2) 2.7 GiB 1.4 GiB −1.3 GiB 0.5×
Resource Usage

tpch — base (merge-base)

Metric Value
Wall time 5.0s
Peak memory 2.1 GiB
Avg memory 851.3 MiB
CPU user 21.8s
CPU sys 1.7s
Peak spill 0 B

tpch — branch

Metric Value
Wall time 5.0s
Peak memory 1.4 GiB
Avg memory 721.0 MiB
CPU user 21.6s
CPU sys 1.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 88a1247 (88a1247) to af752e5 diff

Run configuration
run benchmark tpcds
env:
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "af752e5d5620b13e759e1713c6c0b72c43b4fb9b"
changed:
  ref: "88a1247a1e18ea0055430f252b057349f724c5b2"
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_aggregate-dictionary-hash-cache
--------------------
Benchmark tpcds_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃       HEAD ┃ rich-T-kid_aggregate-dictionary-hash-cache ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │    5.74 ms │                                    6.03 ms │  1.05x slower │
│ QQuery 2  │   77.33 ms │                                   79.71 ms │     no change │
│ QQuery 3  │   29.44 ms │                                   29.79 ms │     no change │
│ QQuery 4  │  922.76 ms │                                  857.50 ms │ +1.08x faster │
│ QQuery 5  │   51.94 ms │                                   52.03 ms │     no change │
│ QQuery 6  │   35.00 ms │                                   34.86 ms │     no change │
│ QQuery 7  │   74.14 ms │                                   74.94 ms │     no change │
│ QQuery 8  │   38.96 ms │                                   39.15 ms │     no change │
│ QQuery 9  │   52.88 ms │                                   52.38 ms │     no change │
│ QQuery 10 │   62.14 ms │                                   62.89 ms │     no change │
│ QQuery 11 │  545.64 ms │                                  495.57 ms │ +1.10x faster │
│ QQuery 12 │   27.06 ms │                                   26.87 ms │     no change │
│ QQuery 13 │  116.83 ms │                                  115.25 ms │     no change │
│ QQuery 14 │  390.45 ms │                                  397.02 ms │     no change │
│ QQuery 15 │   54.60 ms │                                   56.31 ms │     no change │
│ QQuery 16 │    6.60 ms │                                    6.70 ms │     no change │
│ QQuery 17 │   80.97 ms │                                   82.67 ms │     no change │
│ QQuery 18 │  109.13 ms │                                  111.59 ms │     no change │
│ QQuery 19 │   41.96 ms │                                   42.30 ms │     no change │
│ QQuery 20 │   31.97 ms │                                   32.69 ms │     no change │
│ QQuery 21 │   17.55 ms │                                   18.30 ms │     no change │
│ QQuery 22 │   75.01 ms │                                   66.76 ms │ +1.12x faster │
│ QQuery 23 │  327.35 ms │                                  336.29 ms │     no change │
│ QQuery 24 │  205.91 ms │                                  210.58 ms │     no change │
│ QQuery 25 │  109.61 ms │                                  110.97 ms │     no change │
│ QQuery 26 │   47.53 ms │                                   48.42 ms │     no change │
│ QQuery 27 │    6.66 ms │                                    6.97 ms │     no change │
│ QQuery 28 │   57.18 ms │                                   57.63 ms │     no change │
│ QQuery 29 │   97.04 ms │                                   99.29 ms │     no change │
│ QQuery 30 │   37.74 ms │                                   38.43 ms │     no change │
│ QQuery 31 │  114.31 ms │                                  116.28 ms │     no change │
│ QQuery 32 │   20.88 ms │                                   20.88 ms │     no change │
│ QQuery 33 │   38.69 ms │                                   38.93 ms │     no change │
│ QQuery 34 │   10.10 ms │                                   10.18 ms │     no change │
│ QQuery 35 │   75.32 ms │                                   75.89 ms │     no change │
│ QQuery 36 │    6.43 ms │                                    6.60 ms │     no change │
│ QQuery 37 │    7.70 ms │                                    7.87 ms │     no change │
│ QQuery 38 │   67.82 ms │                                   67.32 ms │     no change │
│ QQuery 39 │   76.88 ms │                                   76.87 ms │     no change │
│ QQuery 40 │   24.81 ms │                                   25.10 ms │     no change │
│ QQuery 41 │   14.64 ms │                                   14.83 ms │     no change │
│ QQuery 42 │   24.55 ms │                                   24.41 ms │     no change │
│ QQuery 43 │    5.55 ms │                                    5.74 ms │     no change │
│ QQuery 44 │    9.30 ms │                                    9.47 ms │     no change │
│ QQuery 45 │   37.59 ms │                                   37.32 ms │     no change │
│ QQuery 46 │   11.83 ms │                                   12.07 ms │     no change │
│ QQuery 47 │  219.20 ms │                                  215.83 ms │     no change │
│ QQuery 48 │   93.08 ms │                                   93.10 ms │     no change │
│ QQuery 49 │   71.55 ms │                                   72.07 ms │     no change │
│ QQuery 50 │   59.42 ms │                                   59.74 ms │     no change │
│ QQuery 51 │   91.64 ms │                                   93.14 ms │     no change │
│ QQuery 52 │   24.88 ms │                                   24.95 ms │     no change │
│ QQuery 53 │   29.90 ms │                                   29.88 ms │     no change │
│ QQuery 54 │   55.30 ms │                                   54.46 ms │     no change │
│ QQuery 55 │   24.44 ms │                                   24.41 ms │     no change │
│ QQuery 56 │   39.84 ms │                                   40.18 ms │     no change │
│ QQuery 57 │  156.63 ms │                                  156.04 ms │     no change │
│ QQuery 58 │  105.75 ms │                                  104.73 ms │     no change │
│ QQuery 59 │  109.27 ms │                                  107.89 ms │     no change │
│ QQuery 60 │   43.97 ms │                                   44.03 ms │     no change │
│ QQuery 61 │   10.13 ms │                                   10.13 ms │     no change │
│ QQuery 62 │   39.08 ms │                                   39.37 ms │     no change │
│ QQuery 63 │   30.06 ms │                                   30.26 ms │     no change │
│ QQuery 64 │  380.85 ms │                                  375.75 ms │     no change │
│ QQuery 65 │  136.88 ms │                                  133.49 ms │     no change │
│ QQuery 66 │   77.42 ms │                                   74.88 ms │     no change │
│ QQuery 67 │  248.77 ms │                                  231.63 ms │ +1.07x faster │
│ QQuery 68 │   12.16 ms │                                   12.01 ms │     no change │
│ QQuery 69 │   57.92 ms │                                   57.87 ms │     no change │
│ QQuery 70 │  100.17 ms │                                  100.50 ms │     no change │
│ QQuery 71 │   35.87 ms │                                   35.75 ms │     no change │
│ QQuery 72 │ 1542.35 ms │                                 1455.12 ms │ +1.06x faster │
│ QQuery 73 │    9.85 ms │                                    9.97 ms │     no change │
│ QQuery 74 │  277.02 ms │                                  251.75 ms │ +1.10x faster │
│ QQuery 75 │  143.03 ms │                                  141.98 ms │     no change │
│ QQuery 76 │   34.76 ms │                                   35.56 ms │     no change │
│ QQuery 77 │   61.13 ms │                                   61.44 ms │     no change │
│ QQuery 78 │  168.72 ms │                                  166.97 ms │     no change │
│ QQuery 79 │   70.89 ms │                                   69.51 ms │     no change │
│ QQuery 80 │   99.91 ms │                                   98.73 ms │     no change │
│ QQuery 81 │   30.41 ms │                                   29.72 ms │     no change │
│ QQuery 82 │   18.07 ms │                                   18.08 ms │     no change │
│ QQuery 83 │   34.23 ms │                                   33.65 ms │     no change │
│ QQuery 84 │   31.80 ms │                                   31.26 ms │     no change │
│ QQuery 85 │  101.64 ms │                                  101.43 ms │     no change │
│ QQuery 86 │   25.65 ms │                                   25.84 ms │     no change │
│ QQuery 87 │   70.54 ms │                                   67.86 ms │     no change │
│ QQuery 88 │   59.87 ms │                                   61.76 ms │     no change │
│ QQuery 89 │   36.08 ms │                                   36.96 ms │     no change │
│ QQuery 90 │   16.77 ms │                                   17.14 ms │     no change │
│ QQuery 91 │   40.24 ms │                                   41.32 ms │     no change │
│ QQuery 92 │   30.69 ms │                                   29.71 ms │     no change │
│ QQuery 93 │   51.30 ms │                                   49.57 ms │     no change │
│ QQuery 94 │   39.94 ms │                                   38.78 ms │     no change │
│ QQuery 95 │   82.35 ms │                                   80.55 ms │     no change │
│ QQuery 96 │   24.60 ms │                                   24.01 ms │     no change │
│ QQuery 97 │   52.80 ms │                                   50.97 ms │     no change │
│ QQuery 98 │   39.33 ms │                                   39.37 ms │     no change │
│ QQuery 99 │   58.98 ms │                                   57.75 ms │     no change │
└───────────┴────────────┴────────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Benchmark Summary                                         ┃           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ Total Time (HEAD)                                         │ 9790.63ms │
│ Total Time (rich-T-kid_aggregate-dictionary-hash-cache)   │ 9548.48ms │
│ Average Time (HEAD)                                       │   98.90ms │
│ Average Time (rich-T-kid_aggregate-dictionary-hash-cache) │   96.45ms │
│ Queries Faster                                            │         6 │
│ Queries Slower                                            │         1 │
│ Queries with No Change                                    │        92 │
│ Queries with Failure                                      │         0 │
└───────────────────────────────────────────────────────────┴───────────┘

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

Comparing HEAD and rich-T-kid_aggregate-dictionary-hash-cache
--------------------
Benchmark tpcds_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                  HEAD ┃ rich-T-kid_aggregate-dictionary-hash-cache ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │           5.74 / 6.34 ±1.02 / 8.37 ms │                6.03 / 6.57 ±0.98 / 8.54 ms │     no change │
│ QQuery 2  │        77.33 / 77.88 ±0.31 / 78.25 ms │             79.71 / 79.91 ±0.15 / 80.12 ms │     no change │
│ QQuery 3  │        29.44 / 29.60 ±0.12 / 29.72 ms │             29.79 / 30.13 ±0.31 / 30.71 ms │     no change │
│ QQuery 4  │     922.76 / 930.70 ±5.51 / 937.41 ms │          857.50 / 865.36 ±7.34 / 878.10 ms │ +1.08x faster │
│ QQuery 5  │        51.94 / 52.45 ±0.42 / 52.93 ms │             52.03 / 54.06 ±2.26 / 58.44 ms │     no change │
│ QQuery 6  │        35.00 / 35.22 ±0.15 / 35.38 ms │             34.86 / 35.04 ±0.17 / 35.32 ms │     no change │
│ QQuery 7  │        74.14 / 74.70 ±0.55 / 75.56 ms │             74.94 / 75.42 ±0.35 / 75.92 ms │     no change │
│ QQuery 8  │        38.96 / 39.38 ±0.26 / 39.74 ms │             39.15 / 39.45 ±0.21 / 39.78 ms │     no change │
│ QQuery 9  │        52.88 / 55.53 ±1.96 / 58.85 ms │             52.38 / 53.92 ±1.40 / 56.41 ms │     no change │
│ QQuery 10 │        62.14 / 62.55 ±0.23 / 62.77 ms │             62.89 / 63.79 ±0.52 / 64.27 ms │     no change │
│ QQuery 11 │    545.64 / 557.75 ±11.23 / 575.86 ms │          495.57 / 502.39 ±6.93 / 515.56 ms │ +1.11x faster │
│ QQuery 12 │        27.06 / 28.15 ±0.63 / 28.76 ms │             26.87 / 27.63 ±0.85 / 29.29 ms │     no change │
│ QQuery 13 │     116.83 / 120.36 ±4.98 / 130.19 ms │          115.25 / 118.46 ±2.41 / 122.30 ms │     no change │
│ QQuery 14 │     390.45 / 393.63 ±3.01 / 399.23 ms │          397.02 / 399.51 ±1.94 / 402.87 ms │     no change │
│ QQuery 15 │        54.60 / 55.59 ±0.95 / 57.35 ms │             56.31 / 57.23 ±1.43 / 60.07 ms │     no change │
│ QQuery 16 │           6.60 / 6.74 ±0.15 / 7.03 ms │                6.70 / 6.87 ±0.11 / 7.01 ms │     no change │
│ QQuery 17 │        80.97 / 82.74 ±2.03 / 85.75 ms │             82.67 / 83.36 ±0.60 / 84.43 ms │     no change │
│ QQuery 18 │     109.13 / 110.33 ±0.62 / 110.77 ms │          111.59 / 112.89 ±1.59 / 115.91 ms │     no change │
│ QQuery 19 │        41.96 / 42.44 ±0.32 / 42.88 ms │             42.30 / 42.78 ±0.35 / 43.38 ms │     no change │
│ QQuery 20 │        31.97 / 33.22 ±1.68 / 36.45 ms │             32.69 / 33.00 ±0.25 / 33.40 ms │     no change │
│ QQuery 21 │        17.55 / 17.82 ±0.27 / 18.29 ms │             18.30 / 18.52 ±0.13 / 18.72 ms │     no change │
│ QQuery 22 │        75.01 / 76.25 ±1.20 / 78.04 ms │             66.76 / 67.67 ±1.16 / 69.97 ms │ +1.13x faster │
│ QQuery 23 │     327.35 / 331.47 ±3.39 / 337.69 ms │          336.29 / 338.95 ±2.79 / 343.41 ms │     no change │
│ QQuery 24 │     205.91 / 208.70 ±2.65 / 212.94 ms │          210.58 / 215.22 ±2.89 / 219.00 ms │     no change │
│ QQuery 25 │     109.61 / 110.89 ±1.72 / 114.28 ms │          110.97 / 114.11 ±2.31 / 118.12 ms │     no change │
│ QQuery 26 │        47.53 / 49.14 ±2.69 / 54.49 ms │             48.42 / 49.10 ±0.53 / 50.01 ms │     no change │
│ QQuery 27 │           6.66 / 6.74 ±0.04 / 6.77 ms │                6.97 / 7.12 ±0.09 / 7.22 ms │  1.06x slower │
│ QQuery 28 │        57.18 / 59.71 ±3.06 / 64.39 ms │             57.63 / 62.07 ±2.35 / 64.15 ms │     no change │
│ QQuery 29 │       97.04 / 98.97 ±1.79 / 101.91 ms │            99.29 / 99.86 ±0.59 / 100.69 ms │     no change │
│ QQuery 30 │        37.74 / 39.49 ±3.33 / 46.16 ms │             38.43 / 38.62 ±0.29 / 39.18 ms │     no change │
│ QQuery 31 │     114.31 / 116.43 ±1.61 / 119.08 ms │          116.28 / 118.48 ±2.46 / 123.20 ms │     no change │
│ QQuery 32 │        20.88 / 21.20 ±0.19 / 21.36 ms │             20.88 / 21.19 ±0.19 / 21.47 ms │     no change │
│ QQuery 33 │        38.69 / 38.94 ±0.18 / 39.19 ms │             38.93 / 39.64 ±1.08 / 41.75 ms │     no change │
│ QQuery 34 │        10.10 / 10.34 ±0.15 / 10.51 ms │             10.18 / 10.38 ±0.14 / 10.57 ms │     no change │
│ QQuery 35 │        75.32 / 76.48 ±0.77 / 77.51 ms │             75.89 / 78.38 ±2.68 / 83.42 ms │     no change │
│ QQuery 36 │           6.43 / 6.58 ±0.12 / 6.79 ms │                6.60 / 6.76 ±0.12 / 6.87 ms │     no change │
│ QQuery 37 │           7.70 / 7.89 ±0.11 / 8.05 ms │                7.87 / 8.08 ±0.13 / 8.26 ms │     no change │
│ QQuery 38 │        67.82 / 68.08 ±0.17 / 68.33 ms │             67.32 / 69.03 ±0.96 / 70.22 ms │     no change │
│ QQuery 39 │        76.88 / 77.53 ±0.79 / 78.99 ms │             76.87 / 78.01 ±0.99 / 79.50 ms │     no change │
│ QQuery 40 │        24.81 / 25.23 ±0.38 / 25.88 ms │             25.10 / 25.80 ±0.43 / 26.27 ms │     no change │
│ QQuery 41 │        14.64 / 14.74 ±0.10 / 14.93 ms │             14.83 / 14.96 ±0.10 / 15.09 ms │     no change │
│ QQuery 42 │        24.55 / 25.45 ±0.66 / 26.42 ms │             24.41 / 24.87 ±0.39 / 25.40 ms │     no change │
│ QQuery 43 │           5.55 / 5.67 ±0.07 / 5.77 ms │                5.74 / 5.80 ±0.06 / 5.89 ms │     no change │
│ QQuery 44 │           9.30 / 9.40 ±0.10 / 9.56 ms │              9.47 / 10.13 ±1.13 / 12.38 ms │  1.08x slower │
│ QQuery 45 │        37.59 / 38.41 ±0.45 / 38.85 ms │             37.32 / 39.14 ±1.03 / 40.48 ms │     no change │
│ QQuery 46 │        11.83 / 11.94 ±0.08 / 12.08 ms │             12.07 / 12.29 ±0.20 / 12.60 ms │     no change │
│ QQuery 47 │     219.20 / 222.76 ±3.56 / 228.60 ms │          215.83 / 220.53 ±2.95 / 224.32 ms │     no change │
│ QQuery 48 │       93.08 / 95.48 ±3.34 / 102.07 ms │             93.10 / 94.84 ±2.50 / 99.74 ms │     no change │
│ QQuery 49 │        71.55 / 72.75 ±1.08 / 74.41 ms │             72.07 / 73.01 ±1.00 / 74.92 ms │     no change │
│ QQuery 50 │        59.42 / 61.24 ±2.57 / 66.31 ms │             59.74 / 60.08 ±0.24 / 60.44 ms │     no change │
│ QQuery 51 │        91.64 / 94.89 ±2.35 / 98.94 ms │             93.14 / 95.47 ±2.26 / 99.80 ms │     no change │
│ QQuery 52 │        24.88 / 25.11 ±0.23 / 25.54 ms │             24.95 / 25.48 ±0.84 / 27.15 ms │     no change │
│ QQuery 53 │        29.90 / 30.65 ±0.54 / 31.19 ms │             29.88 / 30.02 ±0.11 / 30.17 ms │     no change │
│ QQuery 54 │        55.30 / 56.60 ±1.68 / 59.89 ms │             54.46 / 55.12 ±0.41 / 55.75 ms │     no change │
│ QQuery 55 │        24.44 / 24.90 ±0.38 / 25.53 ms │             24.41 / 26.18 ±2.68 / 31.49 ms │  1.05x slower │
│ QQuery 56 │        39.84 / 40.14 ±0.23 / 40.52 ms │             40.18 / 40.31 ±0.10 / 40.41 ms │     no change │
│ QQuery 57 │     156.63 / 158.94 ±1.81 / 161.58 ms │          156.04 / 157.29 ±1.15 / 159.35 ms │     no change │
│ QQuery 58 │     105.75 / 106.49 ±0.46 / 107.02 ms │          104.73 / 106.04 ±1.17 / 108.04 ms │     no change │
│ QQuery 59 │     109.27 / 111.72 ±2.65 / 116.58 ms │          107.89 / 108.92 ±0.60 / 109.55 ms │     no change │
│ QQuery 60 │        43.97 / 44.68 ±0.60 / 45.79 ms │             44.03 / 44.48 ±0.49 / 45.39 ms │     no change │
│ QQuery 61 │        10.13 / 10.29 ±0.10 / 10.43 ms │             10.13 / 10.24 ±0.07 / 10.30 ms │     no change │
│ QQuery 62 │        39.08 / 39.88 ±0.52 / 40.39 ms │             39.37 / 40.02 ±0.67 / 41.29 ms │     no change │
│ QQuery 63 │        30.06 / 30.43 ±0.41 / 31.20 ms │             30.26 / 30.38 ±0.07 / 30.47 ms │     no change │
│ QQuery 64 │     380.85 / 385.53 ±3.08 / 389.07 ms │          375.75 / 381.84 ±3.38 / 385.80 ms │     no change │
│ QQuery 65 │     136.88 / 140.00 ±2.25 / 142.90 ms │          133.49 / 135.88 ±2.39 / 140.00 ms │     no change │
│ QQuery 66 │        77.42 / 78.18 ±0.52 / 79.01 ms │             74.88 / 75.91 ±0.93 / 77.62 ms │     no change │
│ QQuery 67 │     248.77 / 252.70 ±4.36 / 261.10 ms │          231.63 / 236.58 ±2.61 / 238.99 ms │ +1.07x faster │
│ QQuery 68 │        12.16 / 12.23 ±0.07 / 12.35 ms │             12.01 / 12.11 ±0.08 / 12.26 ms │     no change │
│ QQuery 69 │        57.92 / 58.33 ±0.29 / 58.79 ms │             57.87 / 59.38 ±2.23 / 63.82 ms │     no change │
│ QQuery 70 │     100.17 / 103.08 ±2.76 / 106.99 ms │          100.50 / 102.48 ±2.89 / 108.19 ms │     no change │
│ QQuery 71 │        35.87 / 36.66 ±0.80 / 38.07 ms │             35.75 / 35.95 ±0.20 / 36.30 ms │     no change │
│ QQuery 72 │ 1542.35 / 1654.28 ±62.53 / 1717.09 ms │      1455.12 / 1539.06 ±63.07 / 1625.15 ms │ +1.07x faster │
│ QQuery 73 │         9.85 / 10.10 ±0.16 / 10.34 ms │              9.97 / 10.12 ±0.11 / 10.24 ms │     no change │
│ QQuery 74 │     277.02 / 286.51 ±7.23 / 294.32 ms │          251.75 / 258.67 ±3.79 / 263.13 ms │ +1.11x faster │
│ QQuery 75 │     143.03 / 146.32 ±2.40 / 150.24 ms │          141.98 / 143.42 ±1.19 / 145.38 ms │     no change │
│ QQuery 76 │        34.76 / 35.09 ±0.26 / 35.38 ms │             35.56 / 35.79 ±0.17 / 35.94 ms │     no change │
│ QQuery 77 │        61.13 / 63.78 ±2.33 / 67.32 ms │             61.44 / 61.87 ±0.53 / 62.89 ms │     no change │
│ QQuery 78 │     168.72 / 175.08 ±4.63 / 182.88 ms │          166.97 / 176.71 ±7.22 / 185.98 ms │     no change │
│ QQuery 79 │        70.89 / 71.38 ±0.61 / 72.57 ms │             69.51 / 70.20 ±0.57 / 71.01 ms │     no change │
│ QQuery 80 │      99.91 / 102.66 ±3.09 / 108.54 ms │           98.73 / 100.14 ±0.83 / 101.26 ms │     no change │
│ QQuery 81 │        30.41 / 31.86 ±2.33 / 36.49 ms │             29.72 / 31.03 ±1.97 / 34.88 ms │     no change │
│ QQuery 82 │        18.07 / 18.84 ±0.51 / 19.49 ms │             18.08 / 18.96 ±0.72 / 19.79 ms │     no change │
│ QQuery 83 │        34.23 / 34.63 ±0.25 / 35.02 ms │             33.65 / 34.11 ±0.42 / 34.86 ms │     no change │
│ QQuery 84 │        31.80 / 33.06 ±1.81 / 36.65 ms │             31.26 / 31.84 ±0.61 / 32.76 ms │     no change │
│ QQuery 85 │     101.64 / 102.91 ±0.91 / 104.18 ms │          101.43 / 102.33 ±0.65 / 103.43 ms │     no change │
│ QQuery 86 │        25.65 / 27.77 ±2.25 / 31.93 ms │             25.84 / 27.55 ±1.84 / 31.10 ms │     no change │
│ QQuery 87 │        70.54 / 72.04 ±1.68 / 75.32 ms │             67.86 / 68.31 ±0.39 / 68.94 ms │ +1.05x faster │
│ QQuery 88 │        59.87 / 61.81 ±1.17 / 63.05 ms │             61.76 / 62.20 ±0.42 / 62.96 ms │     no change │
│ QQuery 89 │        36.08 / 36.68 ±0.61 / 37.59 ms │             36.96 / 37.30 ±0.32 / 37.70 ms │     no change │
│ QQuery 90 │        16.77 / 17.60 ±1.27 / 20.13 ms │             17.14 / 17.29 ±0.11 / 17.45 ms │     no change │
│ QQuery 91 │        40.24 / 43.15 ±2.13 / 45.94 ms │             41.32 / 41.67 ±0.25 / 42.04 ms │     no change │
│ QQuery 92 │        30.69 / 31.25 ±0.51 / 32.19 ms │             29.71 / 30.29 ±0.59 / 31.27 ms │     no change │
│ QQuery 93 │        51.30 / 52.15 ±1.09 / 54.30 ms │             49.57 / 51.00 ±1.12 / 52.64 ms │     no change │
│ QQuery 94 │        39.94 / 40.68 ±0.64 / 41.76 ms │             38.78 / 39.18 ±0.22 / 39.41 ms │     no change │
│ QQuery 95 │        82.35 / 84.54 ±1.81 / 87.21 ms │             80.55 / 82.30 ±1.11 / 83.78 ms │     no change │
│ QQuery 96 │        24.60 / 25.01 ±0.54 / 26.07 ms │             24.01 / 24.23 ±0.14 / 24.41 ms │     no change │
│ QQuery 97 │        52.80 / 53.40 ±0.45 / 53.97 ms │             50.97 / 51.81 ±0.83 / 53.39 ms │     no change │
│ QQuery 98 │        39.33 / 39.71 ±0.32 / 40.23 ms │             39.37 / 39.64 ±0.22 / 39.97 ms │     no change │
│ QQuery 99 │        58.98 / 60.65 ±2.61 / 65.79 ms │             57.75 / 59.29 ±2.13 / 63.48 ms │     no change │
└───────────┴───────────────────────────────────────┴────────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                                         ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                                         │ 10055.42ms │
│ Total Time (rich-T-kid_aggregate-dictionary-hash-cache)   │  9766.84ms │
│ Average Time (HEAD)                                       │   101.57ms │
│ Average Time (rich-T-kid_aggregate-dictionary-hash-cache) │    98.65ms │
│ Queries Faster                                            │          7 │
│ Queries Slower                                            │          3 │
│ Queries with No Change                                    │         89 │
│ 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: af752e5d5620b13e759e1713c6c0b72c43b4fb9b | Changed: 88a1247a1e18ea0055430f252b057349f724c5b2

tpcds — tpcds_sf1

Query Base Changed Change
Query 1 197.5 KiB 140.8 KiB -28.7%
Query 2 78.3 MiB 62.7 MiB -20.0%
Query 3 1.7 MiB 1.7 MiB +0.1%
Query 4 79.7 MiB 79.7 MiB +0.0%
Query 5 13.0 MiB 12.5 MiB -3.8%
Query 6 4.7 MiB 4.7 MiB -0.4%
Query 7 3.7 MiB 3.9 MiB +5.5%
Query 8 2.1 MiB 1.7 MiB -18.4%
Query 9 32.1 KiB 32.1 KiB +0.0%
Query 10 2.0 MiB 2.0 MiB +0.5%
Query 11 62.0 MiB 62.0 MiB +0.0%
Query 12 114.4 MiB 114.4 MiB +0.0%
Query 13 13.0 MiB 13.7 MiB +5.1%
Query 14 171.6 MiB 171.0 MiB -0.4%
Query 15 4.2 MiB 4.2 MiB -0.0%
Query 16 118.6 KiB 118.6 KiB +0.0%
Query 17 41.5 MiB 41.0 MiB -1.1%
Query 18 21.2 MiB 21.2 MiB +0.0%
Query 19 2.1 MiB 2.3 MiB +12.1%
Query 20 124.3 MiB 114.6 MiB -7.8%
Query 21 4.0 MiB 4.3 MiB +9.2%
Query 22 61.8 MiB 63.5 MiB +2.8%
Query 23 212.2 MiB 212.9 MiB +0.3%
Query 24 38.7 MiB 38.7 MiB +0.0%
Query 25 99.9 MiB 99.9 MiB +0.0%
Query 26 3.8 MiB 3.5 MiB -6.6%
Query 27 1.6 MiB 1.6 MiB +4.2%
Query 28 1.5 MiB 1.3 MiB -9.1%
Query 29 104.7 MiB 104.8 MiB +0.0%
Query 30 3.7 MiB 3.7 MiB +0.5%
Query 31 13.4 MiB 13.4 MiB +0.0%
Query 32 2.7 MiB 2.5 MiB -8.1%
Query 33 5.0 MiB 4.2 MiB -15.8%
Query 34 6.0 MiB 6.0 MiB +0.0%
Query 35 16.6 MiB 17.5 MiB +5.3%
Query 36 10.3 MiB 10.3 MiB +0.0%
Query 37 3.3 MiB 3.3 MiB +0.1%
Query 38 10.8 MiB 10.5 MiB -2.3%
Query 39 53.5 MiB 43.0 MiB -19.5%
Query 40 12.2 MiB 12.2 MiB +0.0%
Query 41 2.1 MiB 2.1 MiB +0.1%
Query 42 1.3 MiB 1.0 MiB -17.9%
Query 43 275.0 KiB 259.5 KiB -5.7%
Query 44 233.2 KiB 233.2 KiB +0.0%
Query 45 4.5 MiB 4.5 MiB +0.1%
Query 46 6.2 MiB 6.2 MiB +0.1%
Query 47 128.5 MiB 128.5 MiB +0.0%
Query 48 11.4 MiB 11.8 MiB +3.3%
Query 49 52.8 MiB 62.0 MiB +17.4%
Query 50 17.7 MiB 17.7 MiB +0.1%
Query 51 177.7 MiB 177.7 MiB +0.0%
Query 52 1.5 MiB 1.5 MiB +0.1%
Query 53 20.6 MiB 30.6 MiB +48.6%
Query 54 2.1 MiB 2.1 MiB +0.1%
Query 55 1.5 MiB 1.5 MiB +0.0%
Query 56 3.3 MiB 3.0 MiB -7.1%
Query 57 120.8 MiB 120.8 MiB +0.0%
Query 58 4.2 MiB 4.4 MiB +5.1%
Query 59 11.7 MiB 11.7 MiB +0.0%
Query 60 7.2 MiB 7.4 MiB +2.7%
Query 61 2.4 KiB 2.5 KiB +3.3%
Query 62 3.3 MiB 3.6 MiB +10.0%
Query 63 30.6 MiB 30.6 MiB +0.0%
Query 64 95.6 MiB 95.6 MiB +0.0%
Query 65 29.7 MiB 29.7 MiB +0.0%
Query 66 14.9 MiB 15.0 MiB +0.1%
Query 67 139.9 MiB 140.1 MiB +0.1%
Query 68 6.2 MiB 6.2 MiB +0.1%
Query 69 3.6 MiB 3.8 MiB +3.5%
Query 70 44.0 MiB 44.0 MiB +0.0%
Query 71 40.4 MiB 40.4 MiB +0.0%
Query 72 97.2 MiB 97.2 MiB +0.0%
Query 73 6.0 MiB 6.0 MiB +0.0%
Query 74 34.6 MiB 34.6 MiB +0.0%
Query 75 20.8 MiB 20.9 MiB +0.6%
Query 76 7.9 MiB 7.9 MiB +0.1%
Query 77 4.1 MiB 4.1 MiB +0.1%
Query 78 111.5 MiB 109.8 MiB -1.5%
Query 79 9.3 MiB 8.7 MiB -7.0%
Query 80 41.7 MiB 41.7 MiB +0.1%
Query 81 4.0 MiB 4.1 MiB +2.2%
Query 82 4.9 MiB 4.9 MiB +0.1%
Query 83 9.7 MiB 9.7 MiB +0.0%
Query 84 11.9 MiB 11.9 MiB +0.0%
Query 85 17.0 MiB 17.0 MiB +0.0%
Query 86 82.1 MiB 82.1 MiB +0.0%
Query 87 12.9 MiB 13.0 MiB +0.6%
Query 88 1.6 MiB 1.8 MiB +12.2%
Query 89 122.0 MiB 112.2 MiB -8.1%
Query 90 351.7 KiB 348.6 KiB -0.9%
Query 91 30.9 MiB 31.0 MiB +0.2%
Query 92 2.5 MiB 2.7 MiB +8.9%
Query 93 14.9 MiB 15.4 MiB +3.4%
Query 94 3.4 MiB 3.7 MiB +8.2%
Query 95 18.8 MiB 18.4 MiB -2.5%
Query 96 224.7 KiB 224.7 KiB +0.0%
Query 97 33.1 MiB 33.1 MiB +0.0%
Query 98 114.7 MiB 114.7 MiB -0.0%
Query 99 1.6 MiB 1.8 MiB +11.2%

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 (af752e5d5620b13e759e1713c6c0b72c43b4fb9b) 212.2 MiB 2.0 GiB 1.8 GiB 9.8×
tpcds changed (88a1247a1e18ea0055430f252b057349f724c5b2) 212.9 MiB 2.0 GiB 1.8 GiB 9.4×
Resource Usage

tpcds — base (merge-base)

Metric Value
Wall time 55.0s
Peak memory 2.0 GiB
Avg memory 1.4 GiB
CPU user 198.1s
CPU sys 5.8s
Peak spill 0 B

tpcds — branch

Metric Value
Wall time 50.0s
Peak memory 2.0 GiB
Avg memory 1.5 GiB
CPU user 193.1s
CPU sys 5.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 88a1247 (88a1247) to af752e5 diff

Run configuration
run benchmark clickbench_partitioned
env:
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "af752e5d5620b13e759e1713c6c0b72c43b4fb9b"
changed:
  ref: "88a1247a1e18ea0055430f252b057349f724c5b2"
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_aggregate-dictionary-hash-cache
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃        HEAD ┃ rich-T-kid_aggregate-dictionary-hash-cache ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0  │     1.14 ms │                                    1.16 ms │     no change │
│ QQuery 1  │    10.89 ms │                                   10.99 ms │     no change │
│ QQuery 2  │    36.22 ms │                                   36.10 ms │     no change │
│ QQuery 3  │    31.17 ms │                                   30.78 ms │     no change │
│ QQuery 4  │   233.10 ms │                                  238.92 ms │     no change │
│ QQuery 5  │  1466.21 ms │                                 1420.47 ms │     no change │
│ QQuery 6  │     1.20 ms │                                    1.19 ms │     no change │
│ QQuery 7  │    12.20 ms │                                   12.34 ms │     no change │
│ QQuery 8  │   339.66 ms │                                  333.57 ms │     no change │
│ QQuery 9  │   488.67 ms │                                  507.68 ms │     no change │
│ QQuery 10 │   199.18 ms │                                  198.19 ms │     no change │
│ QQuery 11 │   212.00 ms │                                  209.34 ms │     no change │
│ QQuery 12 │  1539.88 ms │                                 1536.03 ms │     no change │
│ QQuery 13 │  2235.76 ms │                                 2027.04 ms │ +1.10x faster │
│ QQuery 14 │  1619.54 ms │                                 1650.13 ms │     no change │
│ QQuery 15 │   288.29 ms │                                  285.02 ms │     no change │
│ QQuery 16 │  3578.71 ms │                                 3738.85 ms │     no change │
│ QQuery 17 │  3884.67 ms │                                 3691.89 ms │     no change │
│ QQuery 18 │  6923.70 ms │                                 7035.12 ms │     no change │
│ QQuery 19 │    26.43 ms │                                   26.30 ms │     no change │
│ QQuery 20 │  1046.48 ms │                                 1046.98 ms │     no change │
│ QQuery 21 │  1392.09 ms │                                 1355.63 ms │     no change │
│ QQuery 22 │  3200.11 ms │                                 3227.15 ms │     no change │
│ QQuery 23 │  9100.16 ms │                                 9133.68 ms │     no change │
│ QQuery 24 │    95.89 ms │                                   94.76 ms │     no change │
│ QQuery 25 │   351.23 ms │                                  352.38 ms │     no change │
│ QQuery 26 │    95.52 ms │                                   96.76 ms │     no change │
│ QQuery 27 │  1143.67 ms │                                 1131.91 ms │     no change │
│ QQuery 28 │  2833.95 ms │                                 2790.40 ms │     no change │
│ QQuery 29 │    39.82 ms │                                   39.39 ms │     no change │
│ QQuery 30 │   545.02 ms │                                  552.87 ms │     no change │
│ QQuery 31 │   544.18 ms │                                  555.43 ms │     no change │
│ QQuery 32 │   991.64 ms │                                 1138.61 ms │  1.15x slower │
│ QQuery 33 │ 13090.66 ms │                                13969.46 ms │  1.07x slower │
│ QQuery 34 │ 13682.95 ms │                                14219.59 ms │     no change │
│ QQuery 35 │   308.69 ms │                                  293.99 ms │     no change │
│ QQuery 36 │   184.96 ms │                                  173.00 ms │ +1.07x faster │
│ QQuery 37 │    94.71 ms │                                   95.66 ms │     no change │
│ QQuery 38 │    83.65 ms │                                   80.02 ms │     no change │
│ QQuery 39 │   408.46 ms │                                  390.11 ms │     no change │
│ QQuery 40 │    15.19 ms │                                   14.25 ms │ +1.07x faster │
│ QQuery 41 │    14.17 ms │                                   13.10 ms │ +1.08x faster │
│ QQuery 42 │    13.53 ms │                                   12.66 ms │ +1.07x faster │
└───────────┴─────────────┴────────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                                         ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                                         │ 72405.35ms │
│ Total Time (rich-T-kid_aggregate-dictionary-hash-cache)   │ 73768.89ms │
│ Average Time (HEAD)                                       │  1683.85ms │
│ Average Time (rich-T-kid_aggregate-dictionary-hash-cache) │  1715.56ms │
│ Queries Faster                                            │          5 │
│ Queries Slower                                            │          2 │
│ Queries with No Change                                    │         36 │
│ Queries with Failure                                      │          0 │
└───────────────────────────────────────────────────────────┴────────────┘

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

Comparing HEAD and rich-T-kid_aggregate-dictionary-hash-cache
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                      HEAD ┃ rich-T-kid_aggregate-dictionary-hash-cache ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0  │              1.14 / 4.18 ±5.96 / 16.10 ms │               1.16 / 4.26 ±6.08 / 16.42 ms │     no change │
│ QQuery 1  │            10.89 / 11.10 ±0.12 / 11.22 ms │             10.99 / 11.27 ±0.20 / 11.48 ms │     no change │
│ QQuery 2  │            36.22 / 36.62 ±0.26 / 37.02 ms │             36.10 / 36.78 ±0.44 / 37.25 ms │     no change │
│ QQuery 3  │            31.17 / 31.75 ±0.64 / 32.72 ms │             30.78 / 31.25 ±0.61 / 32.44 ms │     no change │
│ QQuery 4  │         233.10 / 240.83 ±9.14 / 258.62 ms │          238.92 / 243.96 ±5.26 / 253.69 ms │     no change │
│ QQuery 5  │     1466.21 / 1580.35 ±88.77 / 1668.21 ms │      1420.47 / 1557.16 ±77.76 / 1654.27 ms │     no change │
│ QQuery 6  │               1.20 / 1.36 ±0.24 / 1.84 ms │                1.19 / 1.35 ±0.24 / 1.81 ms │     no change │
│ QQuery 7  │            12.20 / 12.44 ±0.17 / 12.70 ms │             12.34 / 12.43 ±0.08 / 12.56 ms │     no change │
│ QQuery 8  │        339.66 / 372.52 ±21.01 / 397.89 ms │          333.57 / 346.39 ±8.90 / 360.96 ms │ +1.08x faster │
│ QQuery 9  │        488.67 / 542.98 ±39.30 / 589.19 ms │         507.68 / 524.59 ±15.93 / 548.81 ms │     no change │
│ QQuery 10 │         199.18 / 203.38 ±3.41 / 206.72 ms │          198.19 / 203.81 ±6.88 / 217.04 ms │     no change │
│ QQuery 11 │         212.00 / 216.03 ±2.83 / 219.54 ms │          209.34 / 211.34 ±1.41 / 213.39 ms │     no change │
│ QQuery 12 │     1539.88 / 1623.84 ±44.94 / 1664.67 ms │      1536.03 / 1583.46 ±29.12 / 1620.37 ms │     no change │
│ QQuery 13 │    2235.76 / 2570.63 ±227.47 / 2836.86 ms │     2027.04 / 2292.43 ±302.49 / 2855.84 ms │ +1.12x faster │
│ QQuery 14 │     1619.54 / 1735.00 ±96.74 / 1855.06 ms │     1650.13 / 1774.72 ±130.81 / 2014.58 ms │     no change │
│ QQuery 15 │        288.29 / 300.34 ±12.77 / 317.86 ms │         285.02 / 331.78 ±35.91 / 368.80 ms │  1.10x slower │
│ QQuery 16 │    3578.71 / 3747.99 ±121.77 / 3955.65 ms │      3738.85 / 3850.94 ±58.81 / 3901.79 ms │     no change │
│ QQuery 17 │     3884.67 / 3970.84 ±98.49 / 4129.70 ms │      3691.89 / 3821.56 ±76.62 / 3924.57 ms │     no change │
│ QQuery 18 │    6923.70 / 7036.88 ±110.41 / 7237.66 ms │     7035.12 / 7238.98 ±248.19 / 7725.16 ms │     no change │
│ QQuery 19 │           26.43 / 36.32 ±10.65 / 55.68 ms │            26.30 / 37.93 ±14.00 / 57.63 ms │     no change │
│ QQuery 20 │     1046.48 / 1065.42 ±13.25 / 1086.93 ms │       1046.98 / 1051.08 ±4.93 / 1057.95 ms │     no change │
│ QQuery 21 │      1392.09 / 1410.45 ±9.46 / 1418.37 ms │      1355.63 / 1374.79 ±17.23 / 1399.16 ms │     no change │
│ QQuery 22 │     3200.11 / 3266.58 ±48.47 / 3346.75 ms │      3227.15 / 3271.29 ±31.98 / 3311.22 ms │     no change │
│ QQuery 23 │    9100.16 / 9358.34 ±175.75 / 9543.48 ms │     9133.68 / 9526.13 ±221.14 / 9778.07 ms │     no change │
│ QQuery 24 │         95.89 / 121.71 ±29.42 / 170.07 ms │            94.76 / 97.70 ±2.48 / 101.81 ms │ +1.25x faster │
│ QQuery 25 │        351.23 / 364.54 ±21.42 / 407.00 ms │          352.38 / 356.51 ±3.73 / 363.19 ms │     no change │
│ QQuery 26 │           95.52 / 98.76 ±2.17 / 101.35 ms │            96.76 / 99.29 ±1.91 / 102.26 ms │     no change │
│ QQuery 27 │     1143.67 / 1159.08 ±18.93 / 1196.09 ms │      1131.91 / 1150.93 ±13.47 / 1164.29 ms │     no change │
│ QQuery 28 │     2833.95 / 2861.21 ±22.54 / 2894.06 ms │      2790.40 / 2840.24 ±31.52 / 2885.16 ms │     no change │
│ QQuery 29 │           39.82 / 51.28 ±12.98 / 67.21 ms │             39.39 / 39.62 ±0.24 / 40.07 ms │ +1.29x faster │
│ QQuery 30 │         545.02 / 549.18 ±4.73 / 558.38 ms │         552.87 / 572.19 ±11.64 / 587.31 ms │     no change │
│ QQuery 31 │         544.18 / 556.30 ±9.51 / 572.42 ms │         555.43 / 566.83 ±12.82 / 588.39 ms │     no change │
│ QQuery 32 │      991.64 / 1054.38 ±43.74 / 1104.03 ms │      1138.61 / 1220.85 ±83.84 / 1350.18 ms │  1.16x slower │
│ QQuery 33 │ 13090.66 / 14285.76 ±922.19 / 15380.41 ms │  13969.46 / 14728.18 ±518.39 / 15400.00 ms │     no change │
│ QQuery 34 │ 13682.95 / 14738.65 ±564.64 / 15321.62 ms │  14219.59 / 14670.55 ±258.15 / 14935.54 ms │     no change │
│ QQuery 35 │        308.69 / 356.75 ±36.58 / 415.72 ms │         293.99 / 357.36 ±76.34 / 504.28 ms │     no change │
│ QQuery 36 │         184.96 / 197.46 ±6.35 / 202.27 ms │         173.00 / 188.71 ±10.79 / 202.28 ms │     no change │
│ QQuery 37 │          94.71 / 101.29 ±8.26 / 117.33 ms │           95.66 / 102.01 ±3.96 / 108.00 ms │     no change │
│ QQuery 38 │            83.65 / 86.09 ±2.16 / 89.35 ms │             80.02 / 84.00 ±2.93 / 87.55 ms │     no change │
│ QQuery 39 │         408.46 / 419.25 ±9.48 / 436.29 ms │         390.11 / 399.00 ±11.03 / 420.19 ms │     no change │
│ QQuery 40 │            15.19 / 15.70 ±0.44 / 16.48 ms │             14.25 / 15.59 ±2.28 / 20.13 ms │     no change │
│ QQuery 41 │            14.17 / 15.34 ±1.44 / 18.15 ms │             13.10 / 13.52 ±0.29 / 13.94 ms │ +1.13x faster │
│ QQuery 42 │            13.53 / 13.95 ±0.38 / 14.42 ms │             12.66 / 14.70 ±3.18 / 21.01 ms │  1.05x slower │
└───────────┴───────────────────────────────────────────┴────────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                                         ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                                         │ 76422.86ms │
│ Total Time (rich-T-kid_aggregate-dictionary-hash-cache)   │ 76857.44ms │
│ Average Time (HEAD)                                       │  1777.28ms │
│ Average Time (rich-T-kid_aggregate-dictionary-hash-cache) │  1787.38ms │
│ 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: af752e5d5620b13e759e1713c6c0b72c43b4fb9b | Changed: 88a1247a1e18ea0055430f252b057349f724c5b2

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 829.2 MiB 833.2 MiB +0.5%
Query 5 1.5 GiB 1.4 GiB -2.6%
Query 6 0 B 0 B 0.0%
Query 7 50.2 MiB 40.4 MiB -19.6%
Query 8 968.1 MiB 942.6 MiB -2.6%
Query 9 552.2 MiB 552.1 MiB -0.0%
Query 10 70.8 MiB 73.4 MiB +3.8%
Query 11 76.9 MiB 77.6 MiB +0.9%
Query 12 1.6 GiB 1.6 GiB -3.0%
Query 13 1.9 GiB 1.9 GiB +0.1%
Query 14 1.9 GiB 1.9 GiB +0.1%
Query 15 1.2 GiB 1.2 GiB +1.4%
Query 16 3.3 GiB 3.5 GiB +5.9%
Query 17 3.4 GiB 3.4 GiB -0.7%
Query 18 7.3 GiB 7.4 GiB +1.0%
Query 19 0 B 0 B 0.0%
Query 20 104 B 104 B +0.0%
Query 21 1.5 MiB 1.3 MiB -14.0%
Query 22 2.4 MiB 2.2 MiB -7.0%
Query 23 11.6 MiB 12.8 MiB +10.9%
Query 24 6.7 MiB 6.9 MiB +2.7%
Query 25 8.1 MiB 7.6 MiB -6.9%
Query 26 7.4 MiB 7.9 MiB +7.8%
Query 27 2.7 MiB 2.2 MiB -15.2%
Query 28 1.9 GiB 1.9 GiB +0.4%
Query 29 624 B 624 B +0.0%
Query 30 687.5 MiB 662.7 MiB -3.6%
Query 31 1.5 GiB 1.5 GiB -1.5%
Query 32 7.1 GiB 7.1 GiB -0.1%
Query 33 12.7 GiB 12.7 GiB +0.1%
Query 34 12.3 GiB 12.7 GiB +3.4%
Query 35 668.7 MiB 669.0 MiB +0.0%
Query 36 474.1 MiB 474.1 MiB +0.0%
Query 37 8.1 MiB 8.1 MiB -0.0%
Query 38 5.3 MiB 5.3 MiB +1.4%
Query 39 450.8 MiB 478.7 MiB +6.2%
Query 40 2.4 MiB 2.6 MiB +6.2%
Query 41 3.1 MiB 3.1 MiB -0.1%
Query 42 1.8 MiB 1.6 MiB -11.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 (af752e5d5620b13e759e1713c6c0b72c43b4fb9b) 12.7 GiB 13.1 GiB 436.2 MiB 1.0×
clickbench_partitioned changed (88a1247a1e18ea0055430f252b057349f724c5b2) 12.7 GiB 13.5 GiB 751.9 MiB 1.1×
Resource Usage

clickbench_partitioned — base (merge-base)

Metric Value
Wall time 385.1s
Peak memory 13.1 GiB
Avg memory 6.1 GiB
CPU user 3354.9s
CPU sys 203.1s
Peak spill 0 B

clickbench_partitioned — branch

Metric Value
Wall time 385.1s
Peak memory 13.5 GiB
Avg memory 6.0 GiB
CPU user 3339.7s
CPU sys 206.7s
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

common Related to common crate physical-plan Changes to the physical-plan crate

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Reuse dictionary value hashes across final aggregation input slices Reuse dictionary value hashes in partial hash aggregation

2 participants