Skip to content

Reuse dictionary hashes and group mappings in aggregation - #26826

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

Rich-T-kid wants to merge 4 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

Dictionary group keys were hashing the same values twice: once for the aggregate group table and again in DictionaryGroupValuesColumn. A sole non-streaming dictionary key also repeated its inner value-dedup lookup, and later batches sharing the same values array still probed the outer group table row by row.

For a sole group key, the outer table already guarantees that every appended value is a distinct group. That makes the dictionary inner slot identical to the aggregate group index.

What changes are included in this PR?

  • Reuse dictionary value hashes between the non-streaming aggregate group lookup and DictionaryGroupValuesColumn.
  • For a sole dictionary group key, skip the redundant inner dedup table and reuse the existing value-index mapping as value-index to group-index.
  • When a later batch shares the values Arc and every referenced key is known, fill group indices directly without hashing, probing, equality checks, or appends.
  • Fall back to the normal hash/equality path when the values array changes or any key is unknown. Partial/full emit invalidates the mapping before group indices can be reused.
  • Keep streaming and non-dictionary aggregation on their original hashing paths. Multi-key dictionary aggregation only reuses value hashes; it does not use the direct group mapping.

Results

The focused Criterion benchmark compares #26817's exact head a48c3cf5 with this PR at 409c45d95. Each case processes 32 batches of 8,192 rows sharing one dictionary values array.

Dictionary cardinality Median time delta
8K -56.68%
32K -41.61%
65K -30.50%
100K -37.31%
500K -53.16%

Hosted benchmarks compare #26817's exact head with this PR and set datafusion.execution.parquet.enable_rle_to_dictionary=true on both sides:

Suite Faster Slower
TPC-H 1 0
TPC-DS 5 0
ClickBench partitioned 6 0

ClickBench improves Q5, Q12, Q13, Q34, Q36, and Q39 by 6–10%. Across the three suites, 12 queries improve with no reported regressions.

What is the testing strategy for this PR?

The focused test covers shared values, a reordered replacement values array, null keys and null values, the direct mapping path, and invalidation after partial emit.

  • 119 multi_group_by tests with forced hash collisions
  • cargo fmt --all -- --check
  • cargo clippy --all-targets --all-features -- -D warnings
  • pre-push typo checks

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

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c6479239915-4086-7r46j 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 0676443 (0676443) to 9c32dba diff

Run configuration
run benchmark tpcds
env:
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "9c32dbaaf42c30282abb4be294ea69aa9f53aa4d"
changed:
  ref: "0676443827e3a102a9acd344e8e6a290943d989e"

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 0676443 (0676443) to 9c32dba diff

Run configuration
run benchmark tpch
env:
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "9c32dbaaf42c30282abb4be294ea69aa9f53aa4d"
changed:
  ref: "0676443827e3a102a9acd344e8e6a290943d989e"
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.04 ms │                                   40.14 ms │ no change │
│ QQuery 2  │  18.56 ms │                                   18.64 ms │ no change │
│ QQuery 3  │  27.94 ms │                                   28.17 ms │ no change │
│ QQuery 4  │  17.15 ms │                                   17.26 ms │ no change │
│ QQuery 5  │  35.11 ms │                                   35.69 ms │ no change │
│ QQuery 6  │  13.64 ms │                                   13.71 ms │ no change │
│ QQuery 7  │  41.83 ms │                                   43.30 ms │ no change │
│ QQuery 8  │  40.70 ms │                                   40.84 ms │ no change │
│ QQuery 9  │  50.35 ms │                                   51.80 ms │ no change │
│ QQuery 10 │  58.76 ms │                                   57.69 ms │ no change │
│ QQuery 11 │  13.47 ms │                                   13.73 ms │ no change │
│ QQuery 12 │  21.14 ms │                                   21.22 ms │ no change │
│ QQuery 13 │  46.00 ms │                                   46.72 ms │ no change │
│ QQuery 14 │  23.89 ms │                                   24.04 ms │ no change │
│ QQuery 15 │  30.65 ms │                                   31.04 ms │ no change │
│ QQuery 16 │  13.39 ms │                                   13.49 ms │ no change │
│ QQuery 17 │  74.27 ms │                                   74.68 ms │ no change │
│ QQuery 18 │ 114.76 ms │                                  113.68 ms │ no change │
│ QQuery 19 │  29.70 ms │                                   30.07 ms │ no change │
│ QQuery 20 │  33.34 ms │                                   33.70 ms │ no change │
│ QQuery 21 │  51.98 ms │                                   52.97 ms │ no change │
│ QQuery 22 │  15.52 ms │                                   15.46 ms │ no change │
└───────────┴───────────┴────────────────────────────────────────────┴───────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┓
┃ Benchmark Summary                                         ┃          ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━┩
│ Total Time (HEAD)                                         │ 812.19ms │
│ Total Time (rich-T-kid_aggregate-dictionary-hash-cache)   │ 818.04ms │
│ Average Time (HEAD)                                       │  36.92ms │
│ 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.04 / 40.93 ±0.89 / 42.55 ms │             40.14 / 41.35 ±1.36 / 43.05 ms │ no change │
│ QQuery 2  │    18.56 / 19.05 ±0.59 / 20.16 ms │             18.64 / 18.80 ±0.21 / 19.22 ms │ no change │
│ QQuery 3  │    27.94 / 28.54 ±0.71 / 29.84 ms │             28.17 / 28.81 ±1.10 / 31.01 ms │ no change │
│ QQuery 4  │    17.15 / 17.90 ±0.58 / 18.71 ms │             17.26 / 17.35 ±0.09 / 17.51 ms │ no change │
│ QQuery 5  │    35.11 / 35.99 ±1.30 / 38.57 ms │             35.69 / 36.69 ±1.10 / 38.10 ms │ no change │
│ QQuery 6  │    13.64 / 13.85 ±0.21 / 14.24 ms │             13.71 / 14.00 ±0.37 / 14.72 ms │ no change │
│ QQuery 7  │    41.83 / 42.76 ±0.95 / 43.99 ms │             43.30 / 44.42 ±1.06 / 46.20 ms │ no change │
│ QQuery 8  │    40.70 / 42.25 ±2.33 / 46.86 ms │             40.84 / 41.55 ±0.53 / 42.16 ms │ no change │
│ QQuery 9  │    50.35 / 51.59 ±0.63 / 52.09 ms │             51.80 / 53.33 ±1.05 / 54.45 ms │ no change │
│ QQuery 10 │    58.76 / 59.91 ±2.11 / 64.13 ms │             57.69 / 57.98 ±0.43 / 58.84 ms │ no change │
│ QQuery 11 │    13.47 / 13.74 ±0.20 / 13.97 ms │             13.73 / 14.04 ±0.32 / 14.62 ms │ no change │
│ QQuery 12 │    21.14 / 21.71 ±0.53 / 22.68 ms │             21.22 / 21.46 ±0.21 / 21.76 ms │ no change │
│ QQuery 13 │    46.00 / 46.57 ±0.33 / 46.87 ms │             46.72 / 48.35 ±1.64 / 51.05 ms │ no change │
│ QQuery 14 │    23.89 / 24.55 ±1.07 / 26.68 ms │             24.04 / 24.19 ±0.14 / 24.43 ms │ no change │
│ QQuery 15 │    30.65 / 31.05 ±0.56 / 32.14 ms │             31.04 / 32.25 ±1.45 / 34.83 ms │ no change │
│ QQuery 16 │    13.39 / 13.48 ±0.13 / 13.74 ms │             13.49 / 13.66 ±0.15 / 13.93 ms │ no change │
│ QQuery 17 │    74.27 / 75.00 ±1.26 / 77.52 ms │             74.68 / 76.38 ±1.33 / 78.43 ms │ no change │
│ QQuery 18 │ 114.76 / 116.92 ±2.11 / 120.56 ms │          113.68 / 116.70 ±2.35 / 120.70 ms │ no change │
│ QQuery 19 │    29.70 / 30.24 ±0.51 / 31.06 ms │             30.07 / 30.59 ±0.32 / 30.99 ms │ no change │
│ QQuery 20 │    33.34 / 33.57 ±0.20 / 33.82 ms │             33.70 / 34.04 ±0.28 / 34.37 ms │ no change │
│ QQuery 21 │    51.98 / 55.57 ±5.61 / 66.60 ms │             52.97 / 56.31 ±3.96 / 64.01 ms │ no change │
│ QQuery 22 │    15.52 / 15.90 ±0.41 / 16.69 ms │             15.46 / 15.72 ±0.28 / 16.26 ms │ no change │
└───────────┴───────────────────────────────────┴────────────────────────────────────────────┴───────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┓
┃ Benchmark Summary                                         ┃          ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━┩
│ Total Time (HEAD)                                         │ 831.07ms │
│ Total Time (rich-T-kid_aggregate-dictionary-hash-cache)   │ 837.98ms │
│ Average Time (HEAD)                                       │  37.78ms │
│ Average Time (rich-T-kid_aggregate-dictionary-hash-cache) │  38.09ms │
│ 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: 9c32dbaaf42c30282abb4be294ea69aa9f53aa4d | Changed: 0676443827e3a102a9acd344e8e6a290943d989e

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 22.3 MiB 32.2 MiB +44.6%
Query 5 42.7 MiB 32.8 MiB -23.3%
Query 6 832 B 832 B +0.0%
Query 7 107.6 MiB 108.1 MiB +0.5%
Query 8 34.8 MiB 33.9 MiB -2.5%
Query 9 155.6 MiB 155.6 MiB +0.0%
Query 10 61.2 MiB 70.0 MiB +14.2%
Query 11 51.4 MiB 51.7 MiB +0.7%
Query 12 10.2 MiB 10.2 MiB -0.1%
Query 13 52.4 MiB 62.3 MiB +19.1%
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 32.4 MiB -2.9%
Query 17 150.3 MiB 150.3 MiB +0.0%
Query 18 2.7 GiB 2.7 GiB -0.1%
Query 19 228.6 KiB 228.6 KiB +0.0%
Query 20 59.2 MiB 60.5 MiB +2.3%
Query 21 37.7 MiB 37.7 MiB +0.0%
Query 22 31.8 MiB 21.9 MiB -30.9%

Pool accounting vs. process RSS

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

Benchmark Side Max pool peak Peak RSS Gap RSS / pool
tpch base (9c32dbaaf42c30282abb4be294ea69aa9f53aa4d) 2.7 GiB 1.9 GiB −841.9 MiB 0.7×
tpch changed (0676443827e3a102a9acd344e8e6a290943d989e) 2.7 GiB 1.3 GiB −1.4 GiB 0.5×
Resource Usage

tpch — base (merge-base)

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

tpch — branch

Metric Value
Wall time 5.0s
Peak memory 1.3 GiB
Avg memory 707.9 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 completed (GKE) | trigger

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

Comparing 0676443 (0676443) to 9c32dba diff

Run configuration
run benchmark tpcds
env:
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "9c32dbaaf42c30282abb4be294ea69aa9f53aa4d"
changed:
  ref: "0676443827e3a102a9acd344e8e6a290943d989e"
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  │    6.26 ms │                                    5.61 ms │ +1.11x faster │
│ QQuery 2  │   77.72 ms │                                   77.32 ms │     no change │
│ QQuery 3  │   29.12 ms │                                   28.95 ms │     no change │
│ QQuery 4  │  846.65 ms │                                  795.43 ms │ +1.06x faster │
│ QQuery 5  │   51.52 ms │                                   51.21 ms │     no change │
│ QQuery 6  │   34.35 ms │                                   34.05 ms │     no change │
│ QQuery 7  │   73.84 ms │                                   74.22 ms │     no change │
│ QQuery 8  │   38.54 ms │                                   38.15 ms │     no change │
│ QQuery 9  │   53.81 ms │                                   53.81 ms │     no change │
│ QQuery 10 │   62.05 ms │                                   62.13 ms │     no change │
│ QQuery 11 │  489.05 ms │                                  435.93 ms │ +1.12x faster │
│ QQuery 12 │   26.44 ms │                                   26.30 ms │     no change │
│ QQuery 13 │  114.03 ms │                                  112.96 ms │     no change │
│ QQuery 14 │  389.32 ms │                                  391.46 ms │     no change │
│ QQuery 15 │   52.52 ms │                                   52.74 ms │     no change │
│ QQuery 16 │    6.39 ms │                                    6.35 ms │     no change │
│ QQuery 17 │   80.69 ms │                                   81.08 ms │     no change │
│ QQuery 18 │  106.90 ms │                                  106.90 ms │     no change │
│ QQuery 19 │   41.68 ms │                                   41.51 ms │     no change │
│ QQuery 20 │   31.91 ms │                                   32.14 ms │     no change │
│ QQuery 21 │   17.59 ms │                                   17.51 ms │     no change │
│ QQuery 22 │   73.14 ms │                                   63.25 ms │ +1.16x faster │
│ QQuery 23 │  311.52 ms │                                  311.95 ms │     no change │
│ QQuery 24 │  198.43 ms │                                  200.05 ms │     no change │
│ QQuery 25 │  107.67 ms │                                  108.18 ms │     no change │
│ QQuery 26 │   47.47 ms │                                   48.45 ms │     no change │
│ QQuery 27 │    6.34 ms │                                    6.45 ms │     no change │
│ QQuery 28 │   60.50 ms │                                   61.05 ms │     no change │
│ QQuery 29 │   97.29 ms │                                   97.51 ms │     no change │
│ QQuery 30 │   37.00 ms │                                   37.95 ms │     no change │
│ QQuery 31 │  113.16 ms │                                  114.25 ms │     no change │
│ QQuery 32 │   20.19 ms │                                   20.70 ms │     no change │
│ QQuery 33 │   38.53 ms │                                   38.59 ms │     no change │
│ QQuery 34 │   10.02 ms │                                   10.08 ms │     no change │
│ QQuery 35 │   73.43 ms │                                   73.19 ms │     no change │
│ QQuery 36 │    6.03 ms │                                    6.21 ms │     no change │
│ QQuery 37 │    7.52 ms │                                    7.59 ms │     no change │
│ QQuery 38 │   66.18 ms │                                   64.95 ms │     no change │
│ QQuery 39 │   73.82 ms │                                   74.11 ms │     no change │
│ QQuery 40 │   23.84 ms │                                   23.89 ms │     no change │
│ QQuery 41 │   14.24 ms │                                   14.42 ms │     no change │
│ QQuery 42 │   24.03 ms │                                   24.04 ms │     no change │
│ QQuery 43 │    5.25 ms │                                    5.32 ms │     no change │
│ QQuery 44 │    8.92 ms │                                    8.93 ms │     no change │
│ QQuery 45 │   36.19 ms │                                   36.29 ms │     no change │
│ QQuery 46 │   11.75 ms │                                   11.85 ms │     no change │
│ QQuery 47 │  209.51 ms │                                  212.13 ms │     no change │
│ QQuery 48 │   92.62 ms │                                   92.45 ms │     no change │
│ QQuery 49 │   70.99 ms │                                   70.89 ms │     no change │
│ QQuery 50 │   58.71 ms │                                   59.49 ms │     no change │
│ QQuery 51 │   93.14 ms │                                   92.94 ms │     no change │
│ QQuery 52 │   24.67 ms │                                   24.59 ms │     no change │
│ QQuery 53 │   29.56 ms │                                   29.58 ms │     no change │
│ QQuery 54 │   53.86 ms │                                   53.78 ms │     no change │
│ QQuery 55 │   24.47 ms │                                   24.40 ms │     no change │
│ QQuery 56 │   39.47 ms │                                   39.52 ms │     no change │
│ QQuery 57 │  156.19 ms │                                  152.87 ms │     no change │
│ QQuery 58 │  105.07 ms │                                  104.69 ms │     no change │
│ QQuery 59 │  108.16 ms │                                  108.91 ms │     no change │
│ QQuery 60 │   44.42 ms │                                   43.77 ms │     no change │
│ QQuery 61 │    9.73 ms │                                   10.04 ms │     no change │
│ QQuery 62 │   38.71 ms │                                   38.95 ms │     no change │
│ QQuery 63 │   30.09 ms │                                   29.96 ms │     no change │
│ QQuery 64 │  373.53 ms │                                  371.83 ms │     no change │
│ QQuery 65 │  133.29 ms │                                  133.74 ms │     no change │
│ QQuery 66 │   74.95 ms │                                   74.50 ms │     no change │
│ QQuery 67 │  240.42 ms │                                  224.32 ms │ +1.07x faster │
│ QQuery 68 │   11.88 ms │                                   12.06 ms │     no change │
│ QQuery 69 │   57.73 ms │                                   57.40 ms │     no change │
│ QQuery 70 │  100.50 ms │                                   99.18 ms │     no change │
│ QQuery 71 │   35.54 ms │                                   35.60 ms │     no change │
│ QQuery 72 │ 1667.96 ms │                                 1505.49 ms │ +1.11x faster │
│ QQuery 73 │    9.79 ms │                                    9.82 ms │     no change │
│ QQuery 74 │  257.24 ms │                                  242.13 ms │ +1.06x faster │
│ QQuery 75 │  139.98 ms │                                  139.67 ms │     no change │
│ QQuery 76 │   34.67 ms │                                   34.52 ms │     no change │
│ QQuery 77 │   60.06 ms │                                   60.55 ms │     no change │
│ QQuery 78 │  167.46 ms │                                  163.68 ms │     no change │
│ QQuery 79 │   68.38 ms │                                   69.07 ms │     no change │
│ QQuery 80 │   97.09 ms │                                   96.60 ms │     no change │
│ QQuery 81 │   29.12 ms │                                   29.28 ms │     no change │
│ QQuery 82 │   17.74 ms │                                   17.33 ms │     no change │
│ QQuery 83 │   33.62 ms │                                   33.21 ms │     no change │
│ QQuery 84 │   31.86 ms │                                   31.17 ms │     no change │
│ QQuery 85 │  101.41 ms │                                  100.37 ms │     no change │
│ QQuery 86 │   25.58 ms │                                   25.09 ms │     no change │
│ QQuery 87 │   67.40 ms │                                   65.14 ms │     no change │
│ QQuery 88 │   59.76 ms │                                   59.22 ms │     no change │
│ QQuery 89 │   36.09 ms │                                   36.38 ms │     no change │
│ QQuery 90 │   16.65 ms │                                   16.79 ms │     no change │
│ QQuery 91 │   41.04 ms │                                   40.98 ms │     no change │
│ QQuery 92 │   29.99 ms │                                   29.82 ms │     no change │
│ QQuery 93 │   50.37 ms │                                   49.18 ms │     no change │
│ QQuery 94 │   39.07 ms │                                   38.42 ms │     no change │
│ QQuery 95 │   81.94 ms │                                   80.59 ms │     no change │
│ QQuery 96 │   24.16 ms │                                   23.93 ms │     no change │
│ QQuery 97 │   51.87 ms │                                   51.11 ms │     no change │
│ QQuery 98 │   38.47 ms │                                   38.80 ms │     no change │
│ QQuery 99 │   57.38 ms │                                   57.34 ms │     no change │
└───────────┴────────────┴────────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Benchmark Summary                                         ┃           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ Total Time (HEAD)                                         │ 9656.17ms │
│ Total Time (rich-T-kid_aggregate-dictionary-hash-cache)   │ 9338.32ms │
│ Average Time (HEAD)                                       │   97.54ms │
│ Average Time (rich-T-kid_aggregate-dictionary-hash-cache) │   94.33ms │
│ Queries Faster                                            │         7 │
│ Queries Slower                                            │         0 │
│ 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  │           6.26 / 6.88 ±1.06 / 8.99 ms │                5.61 / 6.24 ±1.03 / 8.29 ms │ +1.10x faster │
│ QQuery 2  │        77.72 / 78.22 ±0.63 / 79.45 ms │             77.32 / 77.79 ±0.24 / 78.02 ms │     no change │
│ QQuery 3  │        29.12 / 29.30 ±0.10 / 29.42 ms │             28.95 / 29.40 ±0.40 / 30.02 ms │     no change │
│ QQuery 4  │     846.65 / 859.09 ±7.95 / 868.45 ms │          795.43 / 799.53 ±2.41 / 802.89 ms │ +1.07x faster │
│ QQuery 5  │        51.52 / 53.72 ±3.20 / 59.83 ms │             51.21 / 51.83 ±0.46 / 52.61 ms │     no change │
│ QQuery 6  │        34.35 / 34.65 ±0.24 / 34.94 ms │             34.05 / 34.36 ±0.21 / 34.64 ms │     no change │
│ QQuery 7  │        73.84 / 74.25 ±0.21 / 74.39 ms │             74.22 / 75.89 ±2.06 / 79.85 ms │     no change │
│ QQuery 8  │        38.54 / 39.41 ±1.26 / 41.91 ms │             38.15 / 38.47 ±0.27 / 38.87 ms │     no change │
│ QQuery 9  │        53.81 / 54.37 ±0.38 / 54.73 ms │             53.81 / 54.69 ±0.63 / 55.33 ms │     no change │
│ QQuery 10 │        62.05 / 62.42 ±0.30 / 62.84 ms │             62.13 / 63.90 ±1.98 / 67.69 ms │     no change │
│ QQuery 11 │     489.05 / 491.76 ±2.10 / 494.81 ms │          435.93 / 443.11 ±7.82 / 457.25 ms │ +1.11x faster │
│ QQuery 12 │        26.44 / 28.65 ±3.26 / 34.87 ms │             26.30 / 26.42 ±0.10 / 26.58 ms │ +1.08x faster │
│ QQuery 13 │     114.03 / 115.32 ±1.38 / 117.61 ms │          112.96 / 114.31 ±1.79 / 117.79 ms │     no change │
│ QQuery 14 │     389.32 / 397.32 ±6.01 / 404.29 ms │          391.46 / 394.33 ±2.03 / 396.57 ms │     no change │
│ QQuery 15 │        52.52 / 53.14 ±0.56 / 54.18 ms │             52.74 / 54.18 ±1.97 / 57.96 ms │     no change │
│ QQuery 16 │           6.39 / 6.59 ±0.18 / 6.91 ms │                6.35 / 6.53 ±0.20 / 6.93 ms │     no change │
│ QQuery 17 │        80.69 / 82.60 ±1.93 / 86.06 ms │             81.08 / 82.41 ±1.59 / 85.51 ms │     no change │
│ QQuery 18 │     106.90 / 107.89 ±0.86 / 109.11 ms │          106.90 / 108.01 ±0.74 / 109.08 ms │     no change │
│ QQuery 19 │        41.68 / 43.57 ±2.00 / 47.34 ms │             41.51 / 42.34 ±0.51 / 42.86 ms │     no change │
│ QQuery 20 │        31.91 / 32.25 ±0.26 / 32.59 ms │             32.14 / 32.42 ±0.21 / 32.70 ms │     no change │
│ QQuery 21 │        17.59 / 17.77 ±0.16 / 17.98 ms │             17.51 / 17.67 ±0.13 / 17.81 ms │     no change │
│ QQuery 22 │        73.14 / 73.72 ±0.65 / 74.98 ms │             63.25 / 64.09 ±0.69 / 65.09 ms │ +1.15x faster │
│ QQuery 23 │     311.52 / 315.26 ±2.22 / 317.85 ms │          311.95 / 316.61 ±2.97 / 320.34 ms │     no change │
│ QQuery 24 │     198.43 / 199.84 ±1.29 / 202.12 ms │          200.05 / 205.06 ±4.75 / 212.68 ms │     no change │
│ QQuery 25 │     107.67 / 109.47 ±1.10 / 110.79 ms │          108.18 / 109.43 ±1.07 / 111.42 ms │     no change │
│ QQuery 26 │        47.47 / 49.11 ±1.88 / 52.07 ms │             48.45 / 49.95 ±2.34 / 54.61 ms │     no change │
│ QQuery 27 │           6.34 / 6.56 ±0.18 / 6.80 ms │                6.45 / 6.52 ±0.04 / 6.55 ms │     no change │
│ QQuery 28 │        60.50 / 61.51 ±0.53 / 62.00 ms │             61.05 / 61.67 ±0.49 / 62.33 ms │     no change │
│ QQuery 29 │       97.29 / 99.27 ±2.42 / 103.69 ms │             97.51 / 98.29 ±0.61 / 99.23 ms │     no change │
│ QQuery 30 │        37.00 / 38.56 ±1.66 / 41.72 ms │             37.95 / 39.94 ±2.38 / 44.53 ms │     no change │
│ QQuery 31 │     113.16 / 115.25 ±2.22 / 119.24 ms │          114.25 / 114.92 ±0.60 / 116.05 ms │     no change │
│ QQuery 32 │        20.19 / 20.56 ±0.30 / 21.10 ms │             20.70 / 20.82 ±0.16 / 21.14 ms │     no change │
│ QQuery 33 │        38.53 / 38.97 ±0.28 / 39.29 ms │             38.59 / 39.23 ±1.00 / 41.22 ms │     no change │
│ QQuery 34 │        10.02 / 10.20 ±0.17 / 10.42 ms │             10.08 / 10.28 ±0.15 / 10.53 ms │     no change │
│ QQuery 35 │        73.43 / 74.43 ±0.81 / 75.75 ms │             73.19 / 73.61 ±0.44 / 74.32 ms │     no change │
│ QQuery 36 │           6.03 / 6.26 ±0.19 / 6.62 ms │                6.21 / 6.30 ±0.12 / 6.53 ms │     no change │
│ QQuery 37 │           7.52 / 7.67 ±0.11 / 7.81 ms │                7.59 / 7.68 ±0.08 / 7.79 ms │     no change │
│ QQuery 38 │        66.18 / 66.81 ±0.83 / 68.46 ms │             64.95 / 65.45 ±0.47 / 66.05 ms │     no change │
│ QQuery 39 │        73.82 / 75.56 ±1.60 / 77.94 ms │             74.11 / 74.77 ±0.82 / 76.39 ms │     no change │
│ QQuery 40 │        23.84 / 24.45 ±0.58 / 25.56 ms │             23.89 / 24.26 ±0.26 / 24.70 ms │     no change │
│ QQuery 41 │        14.24 / 14.34 ±0.09 / 14.49 ms │             14.42 / 14.59 ±0.12 / 14.78 ms │     no change │
│ QQuery 42 │        24.03 / 24.58 ±0.66 / 25.74 ms │             24.04 / 24.42 ±0.37 / 25.07 ms │     no change │
│ QQuery 43 │           5.25 / 5.38 ±0.13 / 5.60 ms │                5.32 / 5.41 ±0.07 / 5.54 ms │     no change │
│ QQuery 44 │           8.92 / 9.00 ±0.05 / 9.06 ms │                8.93 / 9.01 ±0.05 / 9.07 ms │     no change │
│ QQuery 45 │        36.19 / 37.26 ±0.97 / 39.01 ms │             36.29 / 38.09 ±1.54 / 40.66 ms │     no change │
│ QQuery 46 │        11.75 / 11.94 ±0.21 / 12.33 ms │             11.85 / 11.92 ±0.08 / 12.07 ms │     no change │
│ QQuery 47 │     209.51 / 211.36 ±2.32 / 215.72 ms │          212.13 / 215.26 ±3.33 / 219.48 ms │     no change │
│ QQuery 48 │        92.62 / 94.60 ±2.00 / 98.40 ms │             92.45 / 93.98 ±1.90 / 97.71 ms │     no change │
│ QQuery 49 │        70.99 / 71.83 ±1.08 / 73.87 ms │             70.89 / 71.80 ±0.70 / 72.84 ms │     no change │
│ QQuery 50 │        58.71 / 60.52 ±1.63 / 63.47 ms │             59.49 / 60.72 ±1.69 / 63.95 ms │     no change │
│ QQuery 51 │        93.14 / 95.06 ±1.96 / 98.50 ms │             92.94 / 94.82 ±1.49 / 96.48 ms │     no change │
│ QQuery 52 │        24.67 / 24.83 ±0.18 / 25.16 ms │             24.59 / 24.90 ±0.18 / 25.09 ms │     no change │
│ QQuery 53 │        29.56 / 29.84 ±0.30 / 30.41 ms │             29.58 / 30.30 ±1.20 / 32.69 ms │     no change │
│ QQuery 54 │        53.86 / 54.86 ±0.84 / 56.34 ms │             53.78 / 56.02 ±3.45 / 62.83 ms │     no change │
│ QQuery 55 │        24.47 / 24.88 ±0.51 / 25.86 ms │             24.40 / 24.64 ±0.19 / 24.93 ms │     no change │
│ QQuery 56 │        39.47 / 39.80 ±0.28 / 40.20 ms │             39.52 / 39.82 ±0.23 / 40.12 ms │     no change │
│ QQuery 57 │     156.19 / 157.62 ±1.55 / 160.46 ms │          152.87 / 156.49 ±3.32 / 162.21 ms │     no change │
│ QQuery 58 │     105.07 / 106.34 ±1.16 / 108.06 ms │          104.69 / 105.70 ±0.80 / 107.01 ms │     no change │
│ QQuery 59 │     108.16 / 110.17 ±1.74 / 113.09 ms │          108.91 / 110.58 ±2.26 / 114.78 ms │     no change │
│ QQuery 60 │        44.42 / 44.70 ±0.25 / 45.07 ms │             43.77 / 44.06 ±0.45 / 44.96 ms │     no change │
│ QQuery 61 │          9.73 / 9.90 ±0.13 / 10.11 ms │             10.04 / 10.10 ±0.06 / 10.22 ms │     no change │
│ QQuery 62 │        38.71 / 40.20 ±1.33 / 42.69 ms │             38.95 / 39.67 ±0.94 / 41.48 ms │     no change │
│ QQuery 63 │        30.09 / 30.55 ±0.38 / 31.11 ms │             29.96 / 30.43 ±0.39 / 31.06 ms │     no change │
│ QQuery 64 │     373.53 / 378.59 ±3.15 / 382.79 ms │          371.83 / 375.04 ±2.77 / 379.91 ms │     no change │
│ QQuery 65 │     133.29 / 136.70 ±2.99 / 140.81 ms │          133.74 / 135.97 ±1.72 / 138.56 ms │     no change │
│ QQuery 66 │        74.95 / 75.27 ±0.18 / 75.52 ms │             74.50 / 75.15 ±0.62 / 76.31 ms │     no change │
│ QQuery 67 │     240.42 / 243.88 ±2.87 / 248.03 ms │          224.32 / 227.13 ±2.40 / 230.65 ms │ +1.07x faster │
│ QQuery 68 │        11.88 / 12.00 ±0.10 / 12.14 ms │             12.06 / 13.00 ±1.69 / 16.37 ms │  1.08x slower │
│ QQuery 69 │        57.73 / 58.69 ±1.60 / 61.89 ms │             57.40 / 58.02 ±0.44 / 58.64 ms │     no change │
│ QQuery 70 │     100.50 / 102.06 ±2.60 / 107.23 ms │           99.18 / 101.37 ±3.50 / 108.34 ms │     no change │
│ QQuery 71 │        35.54 / 36.13 ±0.57 / 37.10 ms │             35.60 / 35.89 ±0.18 / 36.09 ms │     no change │
│ QQuery 72 │ 1667.96 / 1707.44 ±45.34 / 1790.03 ms │      1505.49 / 1526.72 ±34.69 / 1595.88 ms │ +1.12x faster │
│ QQuery 73 │          9.79 / 9.97 ±0.19 / 10.31 ms │               9.82 / 9.98 ±0.14 / 10.23 ms │     no change │
│ QQuery 74 │     257.24 / 263.23 ±4.74 / 270.64 ms │          242.13 / 248.03 ±4.19 / 254.97 ms │ +1.06x faster │
│ QQuery 75 │     139.98 / 142.30 ±2.02 / 145.69 ms │          139.67 / 142.02 ±2.00 / 145.53 ms │     no change │
│ QQuery 76 │        34.67 / 35.13 ±0.30 / 35.55 ms │             34.52 / 34.69 ±0.14 / 34.91 ms │     no change │
│ QQuery 77 │        60.06 / 61.68 ±2.08 / 65.78 ms │             60.55 / 61.57 ±1.37 / 64.27 ms │     no change │
│ QQuery 78 │     167.46 / 173.79 ±5.30 / 181.52 ms │          163.68 / 168.16 ±2.89 / 172.70 ms │     no change │
│ QQuery 79 │        68.38 / 69.81 ±1.35 / 71.99 ms │             69.07 / 71.48 ±2.53 / 75.60 ms │     no change │
│ QQuery 80 │       97.09 / 98.48 ±1.25 / 100.26 ms │            96.60 / 98.41 ±1.24 / 100.31 ms │     no change │
│ QQuery 81 │        29.12 / 29.70 ±0.70 / 31.05 ms │             29.28 / 29.36 ±0.11 / 29.57 ms │     no change │
│ QQuery 82 │        17.74 / 18.01 ±0.30 / 18.58 ms │             17.33 / 18.66 ±1.91 / 22.38 ms │     no change │
│ QQuery 83 │        33.62 / 34.59 ±1.56 / 37.69 ms │             33.21 / 33.64 ±0.24 / 33.93 ms │     no change │
│ QQuery 84 │        31.86 / 32.07 ±0.26 / 32.57 ms │             31.17 / 32.87 ±2.47 / 37.74 ms │     no change │
│ QQuery 85 │     101.41 / 103.45 ±2.55 / 108.23 ms │          100.37 / 101.16 ±0.49 / 101.92 ms │     no change │
│ QQuery 86 │        25.58 / 27.45 ±2.81 / 33.04 ms │             25.09 / 25.49 ±0.23 / 25.73 ms │ +1.08x faster │
│ QQuery 87 │        67.40 / 68.70 ±1.40 / 71.35 ms │             65.14 / 66.76 ±1.35 / 68.43 ms │     no change │
│ QQuery 88 │        59.76 / 60.83 ±0.75 / 61.88 ms │             59.22 / 59.90 ±0.39 / 60.36 ms │     no change │
│ QQuery 89 │        36.09 / 37.09 ±0.71 / 38.10 ms │             36.38 / 36.98 ±0.62 / 38.17 ms │     no change │
│ QQuery 90 │        16.65 / 16.93 ±0.23 / 17.33 ms │             16.79 / 16.88 ±0.07 / 16.96 ms │     no change │
│ QQuery 91 │        41.04 / 42.38 ±1.97 / 46.25 ms │             40.98 / 41.30 ±0.23 / 41.66 ms │     no change │
│ QQuery 92 │        29.99 / 30.63 ±0.43 / 31.30 ms │             29.82 / 30.34 ±0.52 / 31.29 ms │     no change │
│ QQuery 93 │        50.37 / 51.52 ±1.07 / 53.42 ms │             49.18 / 49.96 ±0.52 / 50.73 ms │     no change │
│ QQuery 94 │        39.07 / 40.45 ±1.55 / 43.47 ms │             38.42 / 38.67 ±0.22 / 38.99 ms │     no change │
│ QQuery 95 │        81.94 / 83.48 ±1.76 / 86.82 ms │             80.59 / 82.01 ±1.10 / 83.25 ms │     no change │
│ QQuery 96 │        24.16 / 24.44 ±0.28 / 24.80 ms │             23.93 / 24.30 ±0.19 / 24.46 ms │     no change │
│ QQuery 97 │        51.87 / 52.64 ±0.49 / 53.41 ms │             51.11 / 52.27 ±1.25 / 54.51 ms │     no change │
│ QQuery 98 │        38.47 / 39.56 ±1.36 / 42.24 ms │             38.80 / 39.40 ±0.60 / 40.54 ms │     no change │
│ QQuery 99 │        57.38 / 58.48 ±1.26 / 60.95 ms │             57.34 / 57.98 ±0.38 / 58.52 ms │     no change │
└───────────┴───────────────────────────────────────┴────────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Benchmark Summary                                         ┃           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ Total Time (HEAD)                                         │ 9829.72ms │
│ Total Time (rich-T-kid_aggregate-dictionary-hash-cache)   │ 9475.99ms │
│ Average Time (HEAD)                                       │   99.29ms │
│ Average Time (rich-T-kid_aggregate-dictionary-hash-cache) │   95.72ms │
│ Queries Faster                                            │         9 │
│ Queries Slower                                            │         1 │
│ 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: 9c32dbaaf42c30282abb4be294ea69aa9f53aa4d | Changed: 0676443827e3a102a9acd344e8e6a290943d989e

tpcds — tpcds_sf1

Query Base Changed Change
Query 1 201.1 KiB 197.5 KiB -1.8%
Query 2 92.0 MiB 90.0 MiB -2.1%
Query 3 1.9 MiB 1.7 MiB -11.6%
Query 4 79.7 MiB 79.7 MiB +0.0%
Query 5 13.0 MiB 13.0 MiB +0.1%
Query 6 4.7 MiB 4.4 MiB -6.0%
Query 7 3.7 MiB 3.8 MiB +2.5%
Query 8 1.7 MiB 1.8 MiB +3.4%
Query 9 32.1 KiB 32.1 KiB +0.0%
Query 10 2.0 MiB 2.0 MiB +0.4%
Query 11 62.0 MiB 62.0 MiB +0.1%
Query 12 114.4 MiB 114.4 MiB +0.0%
Query 13 13.7 MiB 13.7 MiB +0.0%
Query 14 170.9 MiB 171.0 MiB +0.0%
Query 15 4.3 MiB 4.1 MiB -5.2%
Query 16 118.6 KiB 118.6 KiB +0.0%
Query 17 41.0 MiB 41.0 MiB +0.0%
Query 18 21.2 MiB 21.2 MiB +0.0%
Query 19 2.1 MiB 1.9 MiB -8.6%
Query 20 124.6 MiB 114.6 MiB -8.0%
Query 21 3.6 MiB 3.6 MiB -0.0%
Query 22 61.8 MiB 63.5 MiB +2.8%
Query 23 211.8 MiB 212.9 MiB +0.5%
Query 24 38.7 MiB 38.7 MiB +0.0%
Query 25 99.9 MiB 99.9 MiB +0.0%
Query 26 3.7 MiB 3.6 MiB -1.5%
Query 27 1.6 MiB 1.6 MiB +0.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.8 MiB +3.4%
Query 31 13.4 MiB 13.4 MiB +0.0%
Query 32 2.5 MiB 2.7 MiB +8.9%
Query 33 4.2 MiB 4.2 MiB -0.0%
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.1%
Query 38 10.4 MiB 10.7 MiB +2.0%
Query 39 62.9 MiB 52.6 MiB -16.3%
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.3 MiB +1.4%
Query 43 275.0 KiB 276.6 KiB +0.6%
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 132.6 MiB +3.2%
Query 48 11.8 MiB 11.8 MiB +0.0%
Query 49 53.2 MiB 71.1 MiB +33.8%
Query 50 17.3 MiB 16.6 MiB -4.3%
Query 51 178.0 MiB 177.7 MiB -0.2%
Query 52 1.5 MiB 1.5 MiB -2.0%
Query 53 30.6 MiB 20.6 MiB -32.7%
Query 54 2.1 MiB 2.1 MiB +0.1%
Query 55 1.3 MiB 1.7 MiB +34.4%
Query 56 3.3 MiB 3.0 MiB -9.4%
Query 57 120.8 MiB 120.8 MiB +0.0%
Query 58 4.4 MiB 4.4 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.4 KiB +0.0%
Query 62 3.6 MiB 3.7 MiB +0.1%
Query 63 20.6 MiB 30.6 MiB +48.6%
Query 64 84.7 MiB 75.6 MiB -10.7%
Query 65 29.7 MiB 29.7 MiB +0.0%
Query 66 11.9 MiB 15.0 MiB +26.2%
Query 67 141.4 MiB 138.4 MiB -2.2%
Query 68 6.2 MiB 6.2 MiB +0.1%
Query 69 4.0 MiB 3.6 MiB -9.5%
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.8 MiB 20.3 MiB -2.2%
Query 76 7.9 MiB 7.9 MiB +0.1%
Query 77 4.1 MiB 4.1 MiB +0.1%
Query 78 110.3 MiB 109.4 MiB -0.8%
Query 79 9.3 MiB 8.0 MiB -14.0%
Query 80 41.7 MiB 42.4 MiB +1.7%
Query 81 4.1 MiB 4.1 MiB -0.9%
Query 82 4.9 MiB 4.9 MiB +0.1%
Query 83 9.7 MiB 9.0 MiB -6.9%
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.4 MiB +4.2%
Query 88 1.6 MiB 1.6 MiB +0.2%
Query 89 112.2 MiB 112.0 MiB -0.2%
Query 90 357.5 KiB 348.6 KiB -2.5%
Query 91 30.9 MiB 31.0 MiB +0.3%
Query 92 2.7 MiB 2.7 MiB +0.0%
Query 93 15.1 MiB 15.4 MiB +1.7%
Query 94 3.7 MiB 3.7 MiB -0.0%
Query 95 18.4 MiB 16.4 MiB -10.8%
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 -2.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
tpcds base (9c32dbaaf42c30282abb4be294ea69aa9f53aa4d) 211.8 MiB 1.9 GiB 1.7 GiB 9.2×
tpcds changed (0676443827e3a102a9acd344e8e6a290943d989e) 212.9 MiB 2.0 GiB 1.8 GiB 9.8×
Resource Usage

tpcds — base (merge-base)

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

tpcds — branch

Metric Value
Wall time 50.0s
Peak memory 2.0 GiB
Avg memory 1.4 GiB
CPU user 188.0s
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 0676443 (0676443) to 9c32dba diff

Run configuration
run benchmark clickbench_partitioned
env:
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "9c32dbaaf42c30282abb4be294ea69aa9f53aa4d"
changed:
  ref: "0676443827e3a102a9acd344e8e6a290943d989e"
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.86 ms │                                   10.74 ms │     no change │
│ QQuery 2  │    35.75 ms │                                   35.29 ms │     no change │
│ QQuery 3  │    31.62 ms │                                   30.86 ms │     no change │
│ QQuery 4  │   239.12 ms │                                  236.67 ms │     no change │
│ QQuery 5  │  1418.88 ms │                                 1455.57 ms │     no change │
│ QQuery 6  │     1.17 ms │                                    1.16 ms │     no change │
│ QQuery 7  │    11.93 ms │                                   12.05 ms │     no change │
│ QQuery 8  │   329.52 ms │                                  337.62 ms │     no change │
│ QQuery 9  │   468.26 ms │                                  472.80 ms │     no change │
│ QQuery 10 │   197.24 ms │                                  198.59 ms │     no change │
│ QQuery 11 │   208.17 ms │                                  208.75 ms │     no change │
│ QQuery 12 │  1494.54 ms │                                 1510.15 ms │     no change │
│ QQuery 13 │  2090.10 ms │                                 1996.05 ms │     no change │
│ QQuery 14 │  1678.96 ms │                                 1638.14 ms │     no change │
│ QQuery 15 │   296.59 ms │                                  290.36 ms │     no change │
│ QQuery 16 │  3728.62 ms │                                 3705.55 ms │     no change │
│ QQuery 17 │  3764.08 ms │                                 3680.71 ms │     no change │
│ QQuery 18 │  6920.13 ms │                                 6727.02 ms │     no change │
│ QQuery 19 │    26.65 ms │                                   26.50 ms │     no change │
│ QQuery 20 │  1049.07 ms │                                 1039.98 ms │     no change │
│ QQuery 21 │  1360.91 ms │                                 1354.92 ms │     no change │
│ QQuery 22 │  3229.09 ms │                                 3199.29 ms │     no change │
│ QQuery 23 │  9118.03 ms │                                 9198.04 ms │     no change │
│ QQuery 24 │    94.53 ms │                                   94.74 ms │     no change │
│ QQuery 25 │   349.05 ms │                                  349.22 ms │     no change │
│ QQuery 26 │    95.53 ms │                                   95.43 ms │     no change │
│ QQuery 27 │  1134.20 ms │                                 1132.62 ms │     no change │
│ QQuery 28 │  2730.37 ms │                                 2749.87 ms │     no change │
│ QQuery 29 │    38.80 ms │                                   38.45 ms │     no change │
│ QQuery 30 │   546.36 ms │                                  541.67 ms │     no change │
│ QQuery 31 │   531.92 ms │                                  534.22 ms │     no change │
│ QQuery 32 │  1077.10 ms │                                 1013.96 ms │ +1.06x faster │
│ QQuery 33 │ 14512.63 ms │                                14197.09 ms │     no change │
│ QQuery 34 │ 13887.02 ms │                                14429.62 ms │     no change │
│ QQuery 35 │   293.01 ms │                                  302.25 ms │     no change │
│ QQuery 36 │   167.12 ms │                                  160.37 ms │     no change │
│ QQuery 37 │    94.66 ms │                                   97.40 ms │     no change │
│ QQuery 38 │    80.20 ms │                                   81.09 ms │     no change │
│ QQuery 39 │   388.61 ms │                                  386.19 ms │     no change │
│ QQuery 40 │    14.19 ms │                                   14.50 ms │     no change │
│ QQuery 41 │    12.94 ms │                                   13.57 ms │     no change │
│ QQuery 42 │    12.71 ms │                                   13.12 ms │     no change │
└───────────┴─────────────┴────────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                                         ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                                         │ 73771.37ms │
│ Total Time (rich-T-kid_aggregate-dictionary-hash-cache)   │ 73613.31ms │
│ Average Time (HEAD)                                       │  1715.61ms │
│ Average Time (rich-T-kid_aggregate-dictionary-hash-cache) │  1711.94ms │
│ Queries Faster                                            │          1 │
│ Queries Slower                                            │          0 │
│ 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.12 ±5.89 / 15.89 ms │               1.13 / 4.11 ±5.88 / 15.88 ms │     no change │
│ QQuery 1  │            10.86 / 11.05 ±0.20 / 11.44 ms │             10.74 / 10.97 ±0.17 / 11.23 ms │     no change │
│ QQuery 2  │            35.75 / 36.09 ±0.28 / 36.47 ms │             35.29 / 35.88 ±0.43 / 36.62 ms │     no change │
│ QQuery 3  │            31.62 / 32.26 ±0.56 / 33.05 ms │             30.86 / 31.05 ±0.31 / 31.67 ms │     no change │
│ QQuery 4  │         239.12 / 243.38 ±2.99 / 247.85 ms │          236.67 / 241.13 ±3.53 / 247.39 ms │     no change │
│ QQuery 5  │     1418.88 / 1536.41 ±92.36 / 1647.22 ms │      1455.57 / 1519.92 ±42.67 / 1585.73 ms │     no change │
│ QQuery 6  │               1.17 / 1.34 ±0.25 / 1.84 ms │                1.16 / 1.33 ±0.24 / 1.80 ms │     no change │
│ QQuery 7  │            11.93 / 12.06 ±0.13 / 12.30 ms │             12.05 / 12.10 ±0.08 / 12.24 ms │     no change │
│ QQuery 8  │         329.52 / 335.63 ±4.75 / 341.24 ms │          337.62 / 344.52 ±8.65 / 361.47 ms │     no change │
│ QQuery 9  │         468.26 / 479.26 ±8.48 / 487.02 ms │          472.80 / 480.14 ±7.46 / 491.05 ms │     no change │
│ QQuery 10 │         197.24 / 198.06 ±0.71 / 199.33 ms │          198.59 / 201.68 ±3.67 / 208.82 ms │     no change │
│ QQuery 11 │         208.17 / 209.10 ±0.93 / 210.24 ms │          208.75 / 209.72 ±0.71 / 210.75 ms │     no change │
│ QQuery 12 │     1494.54 / 1540.20 ±37.53 / 1601.31 ms │      1510.15 / 1563.97 ±64.12 / 1674.74 ms │     no change │
│ QQuery 13 │    2090.10 / 2347.95 ±220.34 / 2685.82 ms │      1996.05 / 2041.58 ±26.50 / 2076.93 ms │ +1.15x faster │
│ QQuery 14 │     1678.96 / 1772.42 ±54.54 / 1828.94 ms │      1638.14 / 1678.02 ±21.51 / 1700.74 ms │ +1.06x faster │
│ QQuery 15 │         296.59 / 301.10 ±3.40 / 305.89 ms │          290.36 / 295.16 ±5.85 / 306.67 ms │     no change │
│ QQuery 16 │     3728.62 / 3785.15 ±34.54 / 3823.53 ms │      3705.55 / 3727.82 ±18.67 / 3756.31 ms │     no change │
│ QQuery 17 │     3764.08 / 3830.88 ±75.23 / 3969.58 ms │     3680.71 / 3812.92 ±100.56 / 3914.88 ms │     no change │
│ QQuery 18 │    6920.13 / 7304.26 ±311.50 / 7809.44 ms │     6727.02 / 7154.98 ±407.84 / 7850.97 ms │     no change │
│ QQuery 19 │            26.65 / 27.26 ±0.45 / 27.89 ms │           26.50 / 52.42 ±50.28 / 152.98 ms │  1.92x slower │
│ QQuery 20 │      1049.07 / 1058.72 ±7.45 / 1068.95 ms │       1039.98 / 1045.22 ±4.40 / 1051.85 ms │     no change │
│ QQuery 21 │     1360.91 / 1379.25 ±14.80 / 1405.49 ms │      1354.92 / 1364.95 ±11.64 / 1384.21 ms │     no change │
│ QQuery 22 │     3229.09 / 3269.02 ±73.21 / 3415.35 ms │      3199.29 / 3241.91 ±30.86 / 3287.80 ms │     no change │
│ QQuery 23 │    9118.03 / 9373.81 ±169.24 / 9551.62 ms │     9198.04 / 9414.05 ±183.84 / 9676.15 ms │     no change │
│ QQuery 24 │         94.53 / 105.44 ±14.23 / 133.05 ms │          94.74 / 110.28 ±28.07 / 166.40 ms │     no change │
│ QQuery 25 │         349.05 / 351.99 ±2.02 / 354.76 ms │          349.22 / 352.41 ±1.75 / 354.46 ms │     no change │
│ QQuery 26 │           95.53 / 98.16 ±1.90 / 100.47 ms │             95.43 / 96.72 ±0.78 / 97.68 ms │     no change │
│ QQuery 27 │      1134.20 / 1138.98 ±3.68 / 1144.45 ms │       1132.62 / 1142.74 ±7.70 / 1154.12 ms │     no change │
│ QQuery 28 │     2730.37 / 2783.50 ±38.94 / 2850.47 ms │      2749.87 / 2807.28 ±35.89 / 2853.24 ms │     no change │
│ QQuery 29 │           38.80 / 47.54 ±10.50 / 62.37 ms │            38.45 / 45.34 ±13.31 / 71.96 ms │     no change │
│ QQuery 30 │         546.36 / 553.92 ±9.30 / 571.72 ms │          541.67 / 549.85 ±5.76 / 558.35 ms │     no change │
│ QQuery 31 │         531.92 / 538.89 ±5.07 / 545.73 ms │         534.22 / 553.02 ±14.63 / 572.49 ms │     no change │
│ QQuery 32 │     1077.10 / 1134.51 ±45.78 / 1182.55 ms │      1013.96 / 1058.54 ±54.73 / 1164.85 ms │ +1.07x faster │
│ QQuery 33 │ 14512.63 / 14769.47 ±182.90 / 15031.08 ms │  14197.09 / 14814.90 ±478.99 / 15639.37 ms │     no change │
│ QQuery 34 │ 13887.02 / 14903.95 ±693.87 / 15897.28 ms │  14429.62 / 14838.27 ±303.21 / 15333.66 ms │     no change │
│ QQuery 35 │        293.01 / 350.02 ±59.45 / 455.70 ms │         302.25 / 368.63 ±93.30 / 551.04 ms │  1.05x slower │
│ QQuery 36 │        167.12 / 181.91 ±12.02 / 195.80 ms │         160.37 / 180.27 ±12.82 / 197.45 ms │     no change │
│ QQuery 37 │            94.66 / 97.72 ±1.73 / 99.95 ms │           97.40 / 102.56 ±4.43 / 107.84 ms │     no change │
│ QQuery 38 │            80.20 / 84.28 ±4.74 / 93.01 ms │             81.09 / 83.90 ±1.84 / 86.31 ms │     no change │
│ QQuery 39 │         388.61 / 402.95 ±8.80 / 415.34 ms │         386.19 / 399.73 ±11.46 / 418.20 ms │     no change │
│ QQuery 40 │            14.19 / 14.93 ±0.57 / 15.73 ms │             14.50 / 15.83 ±1.64 / 19.05 ms │  1.06x slower │
│ QQuery 41 │            12.94 / 13.13 ±0.13 / 13.33 ms │             13.57 / 13.63 ±0.07 / 13.77 ms │     no change │
│ QQuery 42 │            12.71 / 17.34 ±8.82 / 34.97 ms │             13.12 / 14.36 ±1.97 / 18.25 ms │ +1.21x faster │
└───────────┴───────────────────────────────────────────┴────────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                                         ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                                         │ 76677.39ms │
│ Total Time (rich-T-kid_aggregate-dictionary-hash-cache)   │ 76033.81ms │
│ Average Time (HEAD)                                       │  1783.20ms │
│ Average Time (rich-T-kid_aggregate-dictionary-hash-cache) │  1768.23ms │
│ Queries Faster                                            │          4 │
│ Queries Slower                                            │          3 │
│ Queries with No Change                                    │         36 │
│ 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: 9c32dbaaf42c30282abb4be294ea69aa9f53aa4d | Changed: 0676443827e3a102a9acd344e8e6a290943d989e

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.9 MiB 826.0 MiB -0.5%
Query 5 1.4 GiB 1.4 GiB +2.9%
Query 6 0 B 0 B 0.0%
Query 7 50.0 MiB 50.0 MiB -0.0%
Query 8 944.8 MiB 971.4 MiB +2.8%
Query 9 594.0 MiB 635.9 MiB +7.0%
Query 10 73.3 MiB 72.4 MiB -1.2%
Query 11 77.8 MiB 75.3 MiB -3.2%
Query 12 1.6 GiB 1.6 GiB +2.7%
Query 13 1.9 GiB 1.9 GiB +0.3%
Query 14 1.9 GiB 1.9 GiB -0.4%
Query 15 1.2 GiB 1.2 GiB +2.5%
Query 16 3.4 GiB 3.4 GiB -0.4%
Query 17 3.4 GiB 3.4 GiB -0.1%
Query 18 7.2 GiB 7.4 GiB +2.9%
Query 19 0 B 0 B 0.0%
Query 20 104 B 104 B +0.0%
Query 21 1.4 MiB 1.5 MiB +12.6%
Query 22 2.2 MiB 2.5 MiB +13.5%
Query 23 13.0 MiB 12.0 MiB -7.4%
Query 24 6.9 MiB 6.8 MiB -1.8%
Query 25 8.1 MiB 7.6 MiB -6.9%
Query 26 7.6 MiB 7.6 MiB +0.4%
Query 27 2.4 MiB 2.4 MiB +0.2%
Query 28 2.0 GiB 2.0 GiB -2.9%
Query 29 624 B 624 B +0.0%
Query 30 656.6 MiB 661.3 MiB +0.7%
Query 31 1.5 GiB 1.5 GiB -0.0%
Query 32 7.1 GiB 7.2 GiB +0.1%
Query 33 12.7 GiB 12.7 GiB -0.0%
Query 34 12.5 GiB 12.7 GiB +2.3%
Query 35 668.8 MiB 668.7 MiB -0.0%
Query 36 474.1 MiB 475.6 MiB +0.3%
Query 37 8.1 MiB 8.6 MiB +6.4%
Query 38 5.3 MiB 5.3 MiB +0.0%
Query 39 450.8 MiB 478.9 MiB +6.2%
Query 40 2.2 MiB 2.3 MiB +6.2%
Query 41 3.1 MiB 3.1 MiB +0.0%
Query 42 1.7 MiB 1.7 MiB -0.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
clickbench_partitioned base (9c32dbaaf42c30282abb4be294ea69aa9f53aa4d) 12.7 GiB 13.3 GiB 585.2 MiB 1.0×
clickbench_partitioned changed (0676443827e3a102a9acd344e8e6a290943d989e) 12.7 GiB 13.6 GiB 911.0 MiB 1.1×
Resource Usage

clickbench_partitioned — base (merge-base)

Metric Value
Wall time 385.1s
Peak memory 13.3 GiB
Avg memory 6.1 GiB
CPU user 3362.0s
CPU sys 209.5s
Peak spill 0 B

clickbench_partitioned — branch

Metric Value
Wall time 385.1s
Peak memory 13.6 GiB
Avg memory 6.2 GiB
CPU user 3339.8s
CPU sys 204.5s
Peak spill 0 B

File an issue against this benchmark runner

Reuse dictionary value hashes by column while the values Arc is unchanged, without retaining input dictionaries. Expose cache state for callers that account for memory and document the public hashing contract.
@Rich-T-kid Rich-T-kid changed the title Reuse dictionary value hashes in aggregation Reuse dictionary hashes and group mappings in aggregation Oct 30, 2026
For a single non-streaming dictionary group key, the outer table already guarantees that appended values are distinct groups. Reuse the dictionary column's cached value-to-slot mapping as group indices so later batches can skip hashing and probing.
@Rich-T-kid
Rich-T-kid force-pushed the rich-T-kid/aggregate-dictionary-hash-cache branch from 369ac6f to f349d1f Compare October 30, 2026 22:53
@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: "a48c3cf5aa944823e58f683839253a3aef96193b"
changed:
ref: "f349d1fa1339952045759b1e1d60fc761ef6402c"

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c6535211344-4196-j4k7x 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 f349d1f (f349d1f) to a48c3cf diff

Run configuration
run benchmark tpcds
env:
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "a48c3cf5aa944823e58f683839253a3aef96193b"
changed:
  ref: "f349d1fa1339952045759b1e1d60fc761ef6402c"

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-c6535211344-4195-g5d92 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 f349d1f (f349d1f) to a48c3cf diff

Run configuration
run benchmark tpch
env:
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "a48c3cf5aa944823e58f683839253a3aef96193b"
changed:
  ref: "f349d1fa1339952045759b1e1d60fc761ef6402c"

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-c6535211344-4197-p5ntn 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 f349d1f (f349d1f) to a48c3cf diff

Run configuration
run benchmark clickbench_partitioned
env:
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "a48c3cf5aa944823e58f683839253a3aef96193b"
changed:
  ref: "f349d1fa1339952045759b1e1d60fc761ef6402c"

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

Run configuration
run benchmark tpch
env:
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "a48c3cf5aa944823e58f683839253a3aef96193b"
changed:
  ref: "f349d1fa1339952045759b1e1d60fc761ef6402c"
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  │  39.88 ms │                                   39.91 ms │     no change │
│ QQuery 2  │  18.44 ms │                                   18.62 ms │     no change │
│ QQuery 3  │  28.12 ms │                                   27.98 ms │     no change │
│ QQuery 4  │  17.25 ms │                                   17.25 ms │     no change │
│ QQuery 5  │  35.05 ms │                                   35.19 ms │     no change │
│ QQuery 6  │  13.72 ms │                                   13.73 ms │     no change │
│ QQuery 7  │  42.01 ms │                                   39.68 ms │ +1.06x faster │
│ QQuery 8  │  41.12 ms │                                   40.77 ms │     no change │
│ QQuery 9  │  50.26 ms │                                   51.26 ms │     no change │
│ QQuery 10 │  58.18 ms │                                   57.40 ms │     no change │
│ QQuery 11 │  13.79 ms │                                   13.19 ms │     no change │
│ QQuery 12 │  20.68 ms │                                   21.08 ms │     no change │
│ QQuery 13 │  46.72 ms │                                   45.90 ms │     no change │
│ QQuery 14 │  24.11 ms │                                   23.69 ms │     no change │
│ QQuery 15 │  30.67 ms │                                   31.08 ms │     no change │
│ QQuery 16 │  13.45 ms │                                   13.20 ms │     no change │
│ QQuery 17 │  73.32 ms │                                   74.01 ms │     no change │
│ QQuery 18 │ 112.64 ms │                                  112.69 ms │     no change │
│ QQuery 19 │  29.61 ms │                                   29.51 ms │     no change │
│ QQuery 20 │  33.13 ms │                                   33.48 ms │     no change │
│ QQuery 21 │  51.39 ms │                                   53.55 ms │     no change │
│ QQuery 22 │  15.39 ms │                                   15.61 ms │     no change │
└───────────┴───────────┴────────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┓
┃ Benchmark Summary                                         ┃          ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━┩
│ Total Time (HEAD)                                         │ 808.92ms │
│ Total Time (rich-T-kid_aggregate-dictionary-hash-cache)   │ 808.78ms │
│ Average Time (HEAD)                                       │  36.77ms │
│ Average Time (rich-T-kid_aggregate-dictionary-hash-cache) │  36.76ms │
│ Queries Faster                                            │        1 │
│ Queries Slower                                            │        0 │
│ Queries with No Change                                    │       21 │
│ 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  │    39.88 / 40.66 ±1.00 / 42.63 ms │             39.91 / 41.15 ±1.44 / 42.98 ms │ no change │
│ QQuery 2  │    18.44 / 18.88 ±0.83 / 20.54 ms │             18.62 / 18.81 ±0.22 / 19.23 ms │ no change │
│ QQuery 3  │    28.12 / 28.70 ±0.99 / 30.67 ms │             27.98 / 28.78 ±0.95 / 30.58 ms │ no change │
│ QQuery 4  │    17.25 / 17.45 ±0.17 / 17.70 ms │             17.25 / 17.74 ±0.58 / 18.79 ms │ no change │
│ QQuery 5  │    35.05 / 35.40 ±0.21 / 35.63 ms │             35.19 / 36.74 ±1.75 / 39.38 ms │ no change │
│ QQuery 6  │    13.72 / 13.83 ±0.09 / 13.96 ms │             13.73 / 13.88 ±0.21 / 14.30 ms │ no change │
│ QQuery 7  │    42.01 / 42.75 ±0.75 / 44.01 ms │             39.68 / 41.60 ±1.24 / 43.54 ms │ no change │
│ QQuery 8  │    41.12 / 42.73 ±1.56 / 44.81 ms │             40.77 / 43.30 ±2.50 / 47.96 ms │ no change │
│ QQuery 9  │    50.26 / 51.46 ±0.74 / 52.07 ms │             51.26 / 51.53 ±0.17 / 51.76 ms │ no change │
│ QQuery 10 │    58.18 / 59.15 ±1.12 / 61.28 ms │             57.40 / 57.87 ±0.59 / 58.93 ms │ no change │
│ QQuery 11 │    13.79 / 13.94 ±0.11 / 14.09 ms │             13.19 / 13.47 ±0.22 / 13.84 ms │ no change │
│ QQuery 12 │    20.68 / 21.38 ±0.56 / 22.37 ms │             21.08 / 21.21 ±0.07 / 21.29 ms │ no change │
│ QQuery 13 │    46.72 / 47.17 ±0.47 / 47.87 ms │             45.90 / 46.76 ±0.76 / 48.06 ms │ no change │
│ QQuery 14 │    24.11 / 24.21 ±0.09 / 24.35 ms │             23.69 / 23.89 ±0.23 / 24.34 ms │ no change │
│ QQuery 15 │    30.67 / 31.38 ±0.94 / 33.24 ms │             31.08 / 31.72 ±0.53 / 32.42 ms │ no change │
│ QQuery 16 │    13.45 / 13.62 ±0.12 / 13.83 ms │             13.20 / 13.30 ±0.07 / 13.40 ms │ no change │
│ QQuery 17 │    73.32 / 75.13 ±1.88 / 78.59 ms │             74.01 / 75.23 ±1.19 / 77.46 ms │ no change │
│ QQuery 18 │ 112.64 / 115.75 ±3.51 / 122.01 ms │          112.69 / 119.04 ±4.42 / 125.46 ms │ no change │
│ QQuery 19 │    29.61 / 31.64 ±2.44 / 36.06 ms │             29.51 / 30.07 ±0.59 / 31.19 ms │ no change │
│ QQuery 20 │    33.13 / 33.71 ±0.46 / 34.32 ms │             33.48 / 33.84 ±0.37 / 34.51 ms │ no change │
│ QQuery 21 │    51.39 / 53.71 ±2.11 / 57.34 ms │             53.55 / 56.35 ±2.78 / 61.66 ms │ no change │
│ QQuery 22 │    15.39 / 15.67 ±0.27 / 16.15 ms │             15.61 / 15.80 ±0.18 / 16.10 ms │ no change │
└───────────┴───────────────────────────────────┴────────────────────────────────────────────┴───────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┓
┃ Benchmark Summary                                         ┃          ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━┩
│ Total Time (HEAD)                                         │ 828.30ms │
│ Total Time (rich-T-kid_aggregate-dictionary-hash-cache)   │ 832.06ms │
│ Average Time (HEAD)                                       │  37.65ms │
│ Average Time (rich-T-kid_aggregate-dictionary-hash-cache) │  37.82ms │
│ 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: a48c3cf5aa944823e58f683839253a3aef96193b | Changed: f349d1fa1339952045759b1e1d60fc761ef6402c

tpch — tpch_sf1

Query Base Changed Change
Query 1 21.3 MiB 30.1 MiB +41.4%
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 32.8 MiB 32.8 MiB +0.0%
Query 6 832 B 832 B +0.0%
Query 7 107.6 MiB 107.6 MiB +0.0%
Query 8 34.0 MiB 32.5 MiB -4.6%
Query 9 155.6 MiB 155.6 MiB +0.0%
Query 10 61.2 MiB 66.3 MiB +8.3%
Query 11 61.9 MiB 61.7 MiB -0.3%
Query 12 20.1 MiB 10.2 MiB -49.2%
Query 13 82.3 MiB 52.4 MiB -36.4%
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 42.6 MiB +28.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 64.2 MiB 60.3 MiB -6.1%
Query 21 37.7 MiB 37.7 MiB +0.0%
Query 22 31.9 MiB 31.8 MiB -0.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 (a48c3cf5aa944823e58f683839253a3aef96193b) 2.7 GiB 1.9 GiB −787.7 MiB 0.7×
tpch changed (f349d1fa1339952045759b1e1d60fc761ef6402c) 2.7 GiB 1.9 GiB −810.4 MiB 0.7×
Resource Usage

tpch — base (merge-base)

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

tpch — branch

Metric Value
Wall time 5.0s
Peak memory 1.9 GiB
Avg memory 848.1 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 f349d1f (f349d1f) to a48c3cf diff

Run configuration
run benchmark tpcds
env:
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "a48c3cf5aa944823e58f683839253a3aef96193b"
changed:
  ref: "f349d1fa1339952045759b1e1d60fc761ef6402c"
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.25 ms │                                    5.12 ms │     no change │
│ QQuery 2  │   76.63 ms │                                   75.82 ms │     no change │
│ QQuery 3  │   28.31 ms │                                   28.49 ms │     no change │
│ QQuery 4  │  774.83 ms │                                  683.73 ms │ +1.13x faster │
│ QQuery 5  │   49.47 ms │                                   49.67 ms │     no change │
│ QQuery 6  │   32.76 ms │                                   32.87 ms │     no change │
│ QQuery 7  │   72.25 ms │                                   71.72 ms │     no change │
│ QQuery 8  │   37.49 ms │                                   36.99 ms │     no change │
│ QQuery 9  │   50.77 ms │                                   50.59 ms │     no change │
│ QQuery 10 │   60.90 ms │                                   60.89 ms │     no change │
│ QQuery 11 │  445.64 ms │                                  390.45 ms │ +1.14x faster │
│ QQuery 12 │   25.21 ms │                                   24.74 ms │     no change │
│ QQuery 13 │  110.39 ms │                                  110.86 ms │     no change │
│ QQuery 14 │  375.86 ms │                                  379.40 ms │     no change │
│ QQuery 15 │   50.31 ms │                                   51.00 ms │     no change │
│ QQuery 16 │    5.82 ms │                                    5.93 ms │     no change │
│ QQuery 17 │   77.98 ms │                                   78.21 ms │     no change │
│ QQuery 18 │  102.48 ms │                                  102.54 ms │     no change │
│ QQuery 19 │   40.34 ms │                                   40.36 ms │     no change │
│ QQuery 20 │   30.19 ms │                                   30.76 ms │     no change │
│ QQuery 21 │   16.36 ms │                                   16.37 ms │     no change │
│ QQuery 22 │   69.42 ms │                                   60.12 ms │ +1.15x faster │
│ QQuery 23 │  297.34 ms │                                  296.35 ms │     no change │
│ QQuery 24 │  184.40 ms │                                  183.57 ms │     no change │
│ QQuery 25 │  105.94 ms │                                  105.53 ms │     no change │
│ QQuery 26 │   45.44 ms │                                   45.91 ms │     no change │
│ QQuery 27 │    5.76 ms │                                    5.88 ms │     no change │
│ QQuery 28 │   56.57 ms │                                   60.07 ms │  1.06x slower │
│ QQuery 29 │   92.99 ms │                                   93.52 ms │     no change │
│ QQuery 30 │   35.63 ms │                                   35.28 ms │     no change │
│ QQuery 31 │  109.17 ms │                                  109.50 ms │     no change │
│ QQuery 32 │   19.20 ms │                                   19.13 ms │     no change │
│ QQuery 33 │   37.32 ms │                                   37.18 ms │     no change │
│ QQuery 34 │    9.22 ms │                                    9.32 ms │     no change │
│ QQuery 35 │   69.63 ms │                                   69.49 ms │     no change │
│ QQuery 36 │    5.70 ms │                                    5.68 ms │     no change │
│ QQuery 37 │    6.96 ms │                                    7.09 ms │     no change │
│ QQuery 38 │   63.36 ms │                                   61.60 ms │     no change │
│ QQuery 39 │   70.84 ms │                                   70.82 ms │     no change │
│ QQuery 40 │   21.96 ms │                                   21.91 ms │     no change │
│ QQuery 41 │   13.38 ms │                                   13.29 ms │     no change │
│ QQuery 42 │   22.93 ms │                                   22.94 ms │     no change │
│ QQuery 43 │    4.91 ms │                                    4.78 ms │     no change │
│ QQuery 44 │    8.28 ms │                                    8.11 ms │     no change │
│ QQuery 45 │   33.61 ms │                                   33.93 ms │     no change │
│ QQuery 46 │   10.92 ms │                                   10.86 ms │     no change │
│ QQuery 47 │  196.69 ms │                                  197.25 ms │     no change │
│ QQuery 48 │   89.61 ms │                                   90.88 ms │     no change │
│ QQuery 49 │   69.32 ms │                                   69.02 ms │     no change │
│ QQuery 50 │   57.16 ms │                                   57.82 ms │     no change │
│ QQuery 51 │   90.30 ms │                                   90.24 ms │     no change │
│ QQuery 52 │   23.32 ms │                                   23.45 ms │     no change │
│ QQuery 53 │   28.31 ms │                                   28.49 ms │     no change │
│ QQuery 54 │   52.07 ms │                                   52.76 ms │     no change │
│ QQuery 55 │   23.18 ms │                                   23.04 ms │     no change │
│ QQuery 56 │   38.06 ms │                                   38.33 ms │     no change │
│ QQuery 57 │  149.91 ms │                                  149.17 ms │     no change │
│ QQuery 58 │  100.83 ms │                                  101.27 ms │     no change │
│ QQuery 59 │  105.19 ms │                                  105.88 ms │     no change │
│ QQuery 60 │   41.88 ms │                                   42.09 ms │     no change │
│ QQuery 61 │    9.34 ms │                                    9.35 ms │     no change │
│ QQuery 62 │   37.80 ms │                                   37.99 ms │     no change │
│ QQuery 63 │   28.95 ms │                                   28.90 ms │     no change │
│ QQuery 64 │  357.23 ms │                                  359.72 ms │     no change │
│ QQuery 65 │  127.27 ms │                                  131.47 ms │     no change │
│ QQuery 66 │   72.34 ms │                                   71.98 ms │     no change │
│ QQuery 67 │  220.57 ms │                                  210.94 ms │     no change │
│ QQuery 68 │   11.14 ms │                                   11.01 ms │     no change │
│ QQuery 69 │   55.58 ms │                                   55.94 ms │     no change │
│ QQuery 70 │   96.30 ms │                                   97.36 ms │     no change │
│ QQuery 71 │   34.91 ms │                                   34.34 ms │     no change │
│ QQuery 72 │ 1371.65 ms │                                 1534.08 ms │  1.12x slower │
│ QQuery 73 │    9.09 ms │                                    9.05 ms │     no change │
│ QQuery 74 │  234.09 ms │                                  222.20 ms │ +1.05x faster │
│ QQuery 75 │  136.65 ms │                                  136.98 ms │     no change │
│ QQuery 76 │   33.21 ms │                                   33.52 ms │     no change │
│ QQuery 77 │   58.43 ms │                                   58.89 ms │     no change │
│ QQuery 78 │  156.56 ms │                                  157.03 ms │     no change │
│ QQuery 79 │   66.04 ms │                                   66.44 ms │     no change │
│ QQuery 80 │   92.19 ms │                                   92.54 ms │     no change │
│ QQuery 81 │   27.45 ms │                                   27.85 ms │     no change │
│ QQuery 82 │   16.40 ms │                                   16.66 ms │     no change │
│ QQuery 83 │   31.00 ms │                                   31.74 ms │     no change │
│ QQuery 84 │   30.21 ms │                                   30.48 ms │     no change │
│ QQuery 85 │   97.59 ms │                                   98.12 ms │     no change │
│ QQuery 86 │   23.82 ms │                                   23.85 ms │     no change │
│ QQuery 87 │   63.38 ms │                                   63.50 ms │     no change │
│ QQuery 88 │   58.06 ms │                                   58.14 ms │     no change │
│ QQuery 89 │   35.02 ms │                                   35.16 ms │     no change │
│ QQuery 90 │   15.57 ms │                                   15.72 ms │     no change │
│ QQuery 91 │   39.04 ms │                                   39.58 ms │     no change │
│ QQuery 92 │   27.79 ms │                                   28.13 ms │     no change │
│ QQuery 93 │   47.90 ms │                                   48.03 ms │     no change │
│ QQuery 94 │   36.63 ms │                                   36.70 ms │     no change │
│ QQuery 95 │   78.00 ms │                                   77.28 ms │     no change │
│ QQuery 96 │   22.94 ms │                                   23.15 ms │     no change │
│ QQuery 97 │   49.52 ms │                                   49.14 ms │     no change │
│ QQuery 98 │   37.32 ms │                                   37.21 ms │     no change │
│ QQuery 99 │   55.72 ms │                                   56.54 ms │     no change │
└───────────┴────────────┴────────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Benchmark Summary                                         ┃           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ Total Time (HEAD)                                         │ 8938.64ms │
│ Total Time (rich-T-kid_aggregate-dictionary-hash-cache)   │ 8944.83ms │
│ Average Time (HEAD)                                       │   90.29ms │
│ Average Time (rich-T-kid_aggregate-dictionary-hash-cache) │   90.35ms │
│ Queries Faster                                            │         4 │
│ Queries Slower                                            │         2 │
│ Queries with No Change                                    │        93 │
│ 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.25 / 5.82 ±1.09 / 8.01 ms │                5.12 / 5.78 ±1.09 / 7.96 ms │     no change │
│ QQuery 2  │        76.63 / 76.83 ±0.16 / 77.02 ms │             75.82 / 76.26 ±0.38 / 76.83 ms │     no change │
│ QQuery 3  │        28.31 / 28.72 ±0.28 / 29.16 ms │             28.49 / 28.68 ±0.11 / 28.80 ms │     no change │
│ QQuery 4  │     774.83 / 779.00 ±3.75 / 785.10 ms │          683.73 / 694.37 ±8.09 / 702.12 ms │ +1.12x faster │
│ QQuery 5  │        49.47 / 50.16 ±0.58 / 50.94 ms │             49.67 / 50.43 ±0.84 / 52.00 ms │     no change │
│ QQuery 6  │        32.76 / 33.22 ±0.27 / 33.45 ms │             32.87 / 33.15 ±0.22 / 33.47 ms │     no change │
│ QQuery 7  │        72.25 / 74.26 ±2.45 / 78.91 ms │             71.72 / 72.03 ±0.33 / 72.64 ms │     no change │
│ QQuery 8  │        37.49 / 37.63 ±0.10 / 37.76 ms │             36.99 / 37.28 ±0.24 / 37.52 ms │     no change │
│ QQuery 9  │        50.77 / 53.51 ±2.01 / 56.93 ms │             50.59 / 52.67 ±1.19 / 53.97 ms │     no change │
│ QQuery 10 │        60.90 / 61.17 ±0.17 / 61.36 ms │             60.89 / 61.31 ±0.26 / 61.67 ms │     no change │
│ QQuery 11 │     445.64 / 448.19 ±3.61 / 455.30 ms │          390.45 / 393.10 ±1.59 / 395.44 ms │ +1.14x faster │
│ QQuery 12 │        25.21 / 25.52 ±0.20 / 25.79 ms │             24.74 / 25.34 ±0.45 / 25.88 ms │     no change │
│ QQuery 13 │     110.39 / 110.70 ±0.29 / 111.14 ms │          110.86 / 112.77 ±2.86 / 118.38 ms │     no change │
│ QQuery 14 │     375.86 / 379.08 ±2.86 / 383.27 ms │          379.40 / 381.99 ±2.27 / 385.65 ms │     no change │
│ QQuery 15 │        50.31 / 51.97 ±1.74 / 55.30 ms │             51.00 / 51.45 ±0.32 / 51.92 ms │     no change │
│ QQuery 16 │           5.82 / 6.05 ±0.29 / 6.61 ms │                5.93 / 6.15 ±0.21 / 6.53 ms │     no change │
│ QQuery 17 │        77.98 / 79.85 ±1.62 / 82.68 ms │             78.21 / 79.77 ±2.75 / 85.26 ms │     no change │
│ QQuery 18 │     102.48 / 103.12 ±0.50 / 103.75 ms │          102.54 / 103.89 ±0.71 / 104.55 ms │     no change │
│ QQuery 19 │        40.34 / 42.28 ±1.33 / 44.46 ms │             40.36 / 40.84 ±0.31 / 41.28 ms │     no change │
│ QQuery 20 │        30.19 / 30.53 ±0.29 / 31.01 ms │             30.76 / 32.04 ±2.27 / 36.58 ms │     no change │
│ QQuery 21 │        16.36 / 16.61 ±0.21 / 16.86 ms │             16.37 / 16.75 ±0.23 / 17.07 ms │     no change │
│ QQuery 22 │        69.42 / 70.31 ±0.77 / 71.55 ms │             60.12 / 61.55 ±1.12 / 63.52 ms │ +1.14x faster │
│ QQuery 23 │     297.34 / 301.69 ±4.52 / 310.28 ms │          296.35 / 298.12 ±1.06 / 299.01 ms │     no change │
│ QQuery 24 │     184.40 / 187.77 ±3.91 / 195.07 ms │          183.57 / 187.16 ±3.31 / 193.35 ms │     no change │
│ QQuery 25 │     105.94 / 107.15 ±1.13 / 108.91 ms │          105.53 / 106.88 ±1.68 / 110.13 ms │     no change │
│ QQuery 26 │        45.44 / 45.88 ±0.32 / 46.39 ms │             45.91 / 46.34 ±0.33 / 46.92 ms │     no change │
│ QQuery 27 │           5.76 / 6.43 ±1.03 / 8.48 ms │                5.88 / 6.02 ±0.14 / 6.28 ms │ +1.07x faster │
│ QQuery 28 │        56.57 / 60.27 ±2.46 / 64.24 ms │             60.07 / 60.61 ±0.47 / 61.40 ms │     no change │
│ QQuery 29 │        92.99 / 94.82 ±1.51 / 97.17 ms │             93.52 / 94.79 ±1.31 / 97.09 ms │     no change │
│ QQuery 30 │        35.63 / 35.81 ±0.20 / 36.21 ms │             35.28 / 35.92 ±0.49 / 36.47 ms │     no change │
│ QQuery 31 │     109.17 / 109.85 ±0.54 / 110.62 ms │          109.50 / 110.36 ±1.06 / 112.44 ms │     no change │
│ QQuery 32 │        19.20 / 19.43 ±0.33 / 20.08 ms │             19.13 / 19.36 ±0.32 / 19.99 ms │     no change │
│ QQuery 33 │        37.32 / 37.72 ±0.37 / 38.40 ms │             37.18 / 37.67 ±0.67 / 38.99 ms │     no change │
│ QQuery 34 │           9.22 / 9.40 ±0.26 / 9.92 ms │               9.32 / 9.63 ±0.27 / 10.04 ms │     no change │
│ QQuery 35 │        69.63 / 70.94 ±2.12 / 75.09 ms │             69.49 / 69.93 ±0.40 / 70.60 ms │     no change │
│ QQuery 36 │           5.70 / 5.85 ±0.24 / 6.32 ms │                5.68 / 5.85 ±0.20 / 6.21 ms │     no change │
│ QQuery 37 │           6.96 / 7.19 ±0.15 / 7.35 ms │                7.09 / 7.19 ±0.08 / 7.30 ms │     no change │
│ QQuery 38 │        63.36 / 63.80 ±0.30 / 64.14 ms │             61.60 / 62.70 ±1.47 / 65.60 ms │     no change │
│ QQuery 39 │        70.84 / 72.29 ±1.67 / 74.63 ms │             70.82 / 71.85 ±0.76 / 72.78 ms │     no change │
│ QQuery 40 │        21.96 / 23.19 ±1.06 / 24.82 ms │             21.91 / 22.29 ±0.19 / 22.42 ms │     no change │
│ QQuery 41 │        13.38 / 13.57 ±0.22 / 13.97 ms │             13.29 / 13.48 ±0.18 / 13.78 ms │     no change │
│ QQuery 42 │        22.93 / 23.37 ±0.51 / 24.37 ms │             22.94 / 23.23 ±0.27 / 23.73 ms │     no change │
│ QQuery 43 │           4.91 / 5.07 ±0.18 / 5.41 ms │                4.78 / 4.93 ±0.20 / 5.31 ms │     no change │
│ QQuery 44 │           8.28 / 8.36 ±0.08 / 8.49 ms │                8.11 / 8.25 ±0.12 / 8.45 ms │     no change │
│ QQuery 45 │        33.61 / 34.13 ±0.42 / 34.65 ms │             33.93 / 35.25 ±1.65 / 38.42 ms │     no change │
│ QQuery 46 │        10.92 / 11.10 ±0.16 / 11.39 ms │             10.86 / 11.00 ±0.23 / 11.46 ms │     no change │
│ QQuery 47 │     196.69 / 198.56 ±1.67 / 201.35 ms │          197.25 / 200.26 ±2.42 / 202.38 ms │     no change │
│ QQuery 48 │        89.61 / 90.11 ±0.49 / 90.94 ms │             90.88 / 91.39 ±0.29 / 91.74 ms │     no change │
│ QQuery 49 │        69.32 / 71.77 ±3.29 / 78.26 ms │             69.02 / 70.03 ±0.67 / 71.00 ms │     no change │
│ QQuery 50 │        57.16 / 57.64 ±0.40 / 58.31 ms │             57.82 / 59.82 ±3.46 / 66.72 ms │     no change │
│ QQuery 51 │        90.30 / 91.22 ±0.97 / 92.45 ms │             90.24 / 92.61 ±1.59 / 94.77 ms │     no change │
│ QQuery 52 │        23.32 / 23.93 ±0.53 / 24.78 ms │             23.45 / 23.87 ±0.23 / 24.14 ms │     no change │
│ QQuery 53 │        28.31 / 28.75 ±0.28 / 29.15 ms │             28.49 / 29.15 ±0.70 / 30.49 ms │     no change │
│ QQuery 54 │        52.07 / 53.02 ±0.66 / 54.06 ms │             52.76 / 53.76 ±1.43 / 56.59 ms │     no change │
│ QQuery 55 │        23.18 / 23.43 ±0.15 / 23.57 ms │             23.04 / 24.36 ±1.27 / 26.05 ms │     no change │
│ QQuery 56 │        38.06 / 38.28 ±0.19 / 38.62 ms │             38.33 / 38.73 ±0.33 / 39.20 ms │     no change │
│ QQuery 57 │     149.91 / 152.19 ±2.40 / 156.82 ms │          149.17 / 151.51 ±1.92 / 155.01 ms │     no change │
│ QQuery 58 │     100.83 / 102.07 ±0.87 / 103.31 ms │          101.27 / 102.69 ±1.92 / 106.45 ms │     no change │
│ QQuery 59 │     105.19 / 105.41 ±0.20 / 105.69 ms │          105.88 / 107.11 ±1.13 / 109.13 ms │     no change │
│ QQuery 60 │        41.88 / 42.68 ±0.64 / 43.78 ms │             42.09 / 43.12 ±1.19 / 45.24 ms │     no change │
│ QQuery 61 │           9.34 / 9.48 ±0.19 / 9.85 ms │                9.35 / 9.46 ±0.19 / 9.84 ms │     no change │
│ QQuery 62 │        37.80 / 38.54 ±0.97 / 40.40 ms │             37.99 / 38.15 ±0.20 / 38.52 ms │     no change │
│ QQuery 63 │        28.95 / 29.38 ±0.28 / 29.78 ms │             28.90 / 29.08 ±0.13 / 29.21 ms │     no change │
│ QQuery 64 │     357.23 / 361.82 ±3.68 / 367.10 ms │          359.72 / 362.56 ±2.29 / 366.21 ms │     no change │
│ QQuery 65 │     127.27 / 131.37 ±2.39 / 134.03 ms │          131.47 / 133.10 ±1.66 / 136.27 ms │     no change │
│ QQuery 66 │        72.34 / 75.64 ±3.37 / 81.74 ms │             71.98 / 73.02 ±0.58 / 73.63 ms │     no change │
│ QQuery 67 │     220.57 / 222.49 ±2.67 / 227.67 ms │          210.94 / 212.33 ±1.19 / 214.55 ms │     no change │
│ QQuery 68 │        11.14 / 11.31 ±0.22 / 11.73 ms │             11.01 / 11.21 ±0.28 / 11.76 ms │     no change │
│ QQuery 69 │        55.58 / 55.92 ±0.28 / 56.35 ms │             55.94 / 56.39 ±0.31 / 56.84 ms │     no change │
│ QQuery 70 │        96.30 / 97.63 ±1.09 / 98.94 ms │           97.36 / 100.59 ±5.25 / 111.06 ms │     no change │
│ QQuery 71 │        34.91 / 35.87 ±1.56 / 38.97 ms │             34.34 / 34.93 ±0.49 / 35.63 ms │     no change │
│ QQuery 72 │ 1371.65 / 1455.64 ±62.31 / 1564.90 ms │      1534.08 / 1590.49 ±49.55 / 1676.33 ms │  1.09x slower │
│ QQuery 73 │           9.09 / 9.29 ±0.30 / 9.87 ms │                9.05 / 9.23 ±0.22 / 9.65 ms │     no change │
│ QQuery 74 │     234.09 / 238.83 ±2.59 / 241.91 ms │          222.20 / 227.01 ±4.40 / 234.76 ms │     no change │
│ QQuery 75 │     136.65 / 137.63 ±1.49 / 140.60 ms │          136.98 / 139.36 ±2.44 / 144.04 ms │     no change │
│ QQuery 76 │        33.21 / 33.57 ±0.21 / 33.81 ms │             33.52 / 33.83 ±0.25 / 34.20 ms │     no change │
│ QQuery 77 │        58.43 / 59.56 ±1.85 / 63.26 ms │             58.89 / 60.66 ±2.93 / 66.49 ms │     no change │
│ QQuery 78 │     156.56 / 160.65 ±3.59 / 165.98 ms │          157.03 / 161.34 ±5.32 / 171.60 ms │     no change │
│ QQuery 79 │        66.04 / 66.63 ±0.66 / 67.89 ms │             66.44 / 68.17 ±2.01 / 70.97 ms │     no change │
│ QQuery 80 │        92.19 / 93.54 ±1.03 / 94.75 ms │             92.54 / 93.81 ±1.90 / 97.58 ms │     no change │
│ QQuery 81 │        27.45 / 28.52 ±1.88 / 32.28 ms │             27.85 / 28.29 ±0.24 / 28.55 ms │     no change │
│ QQuery 82 │        16.40 / 16.80 ±0.50 / 17.73 ms │             16.66 / 16.97 ±0.34 / 17.57 ms │     no change │
│ QQuery 83 │        31.00 / 31.35 ±0.33 / 31.88 ms │             31.74 / 33.04 ±1.96 / 36.94 ms │  1.05x slower │
│ QQuery 84 │        30.21 / 30.80 ±0.74 / 32.26 ms │             30.48 / 31.93 ±2.02 / 35.78 ms │     no change │
│ QQuery 85 │       97.59 / 99.05 ±1.50 / 101.94 ms │             98.12 / 98.70 ±0.46 / 99.35 ms │     no change │
│ QQuery 86 │        23.82 / 25.05 ±1.57 / 28.07 ms │             23.85 / 24.25 ±0.27 / 24.67 ms │     no change │
│ QQuery 87 │        63.38 / 63.80 ±0.35 / 64.26 ms │             63.50 / 64.46 ±1.02 / 66.41 ms │     no change │
│ QQuery 88 │        58.06 / 59.58 ±1.54 / 62.25 ms │             58.14 / 58.84 ±0.57 / 59.78 ms │     no change │
│ QQuery 89 │        35.02 / 35.37 ±0.39 / 36.12 ms │             35.16 / 35.75 ±0.42 / 36.45 ms │     no change │
│ QQuery 90 │        15.57 / 15.69 ±0.23 / 16.15 ms │             15.72 / 15.85 ±0.15 / 16.14 ms │     no change │
│ QQuery 91 │        39.04 / 39.52 ±0.31 / 39.98 ms │             39.58 / 39.82 ±0.21 / 40.11 ms │     no change │
│ QQuery 92 │        27.79 / 28.18 ±0.40 / 28.91 ms │             28.13 / 29.54 ±1.34 / 32.02 ms │     no change │
│ QQuery 93 │        47.90 / 48.11 ±0.16 / 48.39 ms │             48.03 / 49.23 ±1.39 / 51.72 ms │     no change │
│ QQuery 94 │        36.63 / 37.16 ±0.40 / 37.82 ms │             36.70 / 37.67 ±0.66 / 38.52 ms │     no change │
│ QQuery 95 │        78.00 / 78.58 ±0.53 / 79.43 ms │             77.28 / 78.24 ±0.80 / 79.69 ms │     no change │
│ QQuery 96 │        22.94 / 23.21 ±0.23 / 23.62 ms │             23.15 / 23.40 ±0.27 / 23.90 ms │     no change │
│ QQuery 97 │        49.52 / 50.32 ±0.52 / 50.97 ms │             49.14 / 51.02 ±1.23 / 53.03 ms │     no change │
│ QQuery 98 │        37.32 / 38.23 ±0.88 / 39.87 ms │             37.21 / 37.66 ±0.45 / 38.40 ms │     no change │
│ QQuery 99 │        55.72 / 56.52 ±0.89 / 58.22 ms │             56.54 / 56.79 ±0.17 / 57.02 ms │     no change │
└───────────┴───────────────────────────────────────┴────────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Benchmark Summary                                         ┃           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ Total Time (HEAD)                                         │ 9129.28ms │
│ Total Time (rich-T-kid_aggregate-dictionary-hash-cache)   │ 9110.97ms │
│ Average Time (HEAD)                                       │   92.21ms │
│ Average Time (rich-T-kid_aggregate-dictionary-hash-cache) │   92.03ms │
│ Queries Faster                                            │         4 │
│ Queries Slower                                            │         2 │
│ Queries with No Change                                    │        93 │
│ 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: a48c3cf5aa944823e58f683839253a3aef96193b | Changed: f349d1fa1339952045759b1e1d60fc761ef6402c

tpcds — tpcds_sf1

Query Base Changed Change
Query 1 197.5 KiB 140.8 KiB -28.7%
Query 2 92.0 MiB 80.9 MiB -12.0%
Query 3 1.8 MiB 1.7 MiB -9.1%
Query 4 79.7 MiB 79.7 MiB +0.1%
Query 5 13.0 MiB 13.0 MiB +0.1%
Query 6 4.4 MiB 4.7 MiB +6.6%
Query 7 3.7 MiB 3.6 MiB -1.1%
Query 8 1.7 MiB 1.8 MiB +2.2%
Query 9 32.1 KiB 32.1 KiB +0.0%
Query 10 2.0 MiB 2.0 MiB +0.4%
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 171.0 MiB +0.0%
Query 15 4.2 MiB 4.2 MiB +0.3%
Query 16 118.6 KiB 118.6 KiB +0.0%
Query 17 40.1 MiB 40.5 MiB +1.0%
Query 18 21.2 MiB 21.2 MiB +0.0%
Query 19 2.1 MiB 1.9 MiB -9.0%
Query 20 114.6 MiB 114.6 MiB +0.0%
Query 21 2.6 MiB 3.0 MiB +14.2%
Query 22 61.8 MiB 63.5 MiB +2.8%
Query 23 213.2 MiB 213.3 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.8 MiB 3.5 MiB -9.8%
Query 27 1.6 MiB 1.6 MiB +0.2%
Query 28 1.5 MiB 1.5 MiB +0.0%
Query 29 104.7 MiB 104.8 MiB +0.0%
Query 30 3.7 MiB 3.8 MiB +3.4%
Query 31 13.4 MiB 13.4 MiB +0.0%
Query 32 2.7 MiB 2.5 MiB -8.1%
Query 33 4.3 MiB 5.5 MiB +27.4%
Query 34 6.0 MiB 6.0 MiB +0.0%
Query 35 17.5 MiB 16.6 MiB -5.0%
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 11.0 MiB +1.8%
Query 39 41.5 MiB 33.2 MiB -20.2%
Query 40 12.2 MiB 12.2 MiB +0.0%
Query 41 2.1 MiB 2.1 MiB +0.2%
Query 42 1.3 MiB 1.2 MiB -2.4%
Query 43 275.0 KiB 277.0 KiB +0.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.8 MiB 11.8 MiB +0.0%
Query 49 51.3 MiB 43.2 MiB -15.8%
Query 50 17.3 MiB 17.3 MiB +0.1%
Query 51 177.7 MiB 177.7 MiB +0.0%
Query 52 1.1 MiB 1.5 MiB +41.2%
Query 53 30.4 MiB 30.6 MiB +0.5%
Query 54 2.2 MiB 2.1 MiB -4.1%
Query 55 1.3 MiB 1.3 MiB +1.0%
Query 56 3.3 MiB 2.9 MiB -10.3%
Query 57 120.8 MiB 130.6 MiB +8.1%
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.1 MiB -0.8%
Query 61 2.4 KiB 2.4 KiB +0.0%
Query 62 3.6 MiB 3.3 MiB -8.9%
Query 63 20.6 MiB 20.6 MiB -0.0%
Query 64 83.7 MiB 84.7 MiB +1.1%
Query 65 29.7 MiB 29.7 MiB +0.0%
Query 66 11.9 MiB 11.9 MiB +0.1%
Query 67 140.6 MiB 140.2 MiB -0.3%
Query 68 6.2 MiB 6.2 MiB +0.1%
Query 69 3.6 MiB 3.6 MiB +1.0%
Query 70 44.0 MiB 44.0 MiB +0.0%
Query 71 50.4 MiB 40.4 MiB -19.8%
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 20.3 MiB +0.1%
Query 76 7.9 MiB 7.9 MiB +0.1%
Query 77 4.1 MiB 4.1 MiB +0.1%
Query 78 109.9 MiB 111.5 MiB +1.5%
Query 79 8.7 MiB 9.3 MiB +7.5%
Query 80 42.0 MiB 42.8 MiB +2.0%
Query 81 4.1 MiB 4.2 MiB +2.2%
Query 82 4.9 MiB 4.9 MiB +0.1%
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 82.1 MiB +0.0%
Query 87 12.9 MiB 13.1 MiB +1.7%
Query 88 1.7 MiB 1.6 MiB -5.8%
Query 89 122.0 MiB 112.2 MiB -8.1%
Query 90 348.6 KiB 348.6 KiB +0.0%
Query 91 21.1 MiB 21.0 MiB -0.3%
Query 92 2.7 MiB 2.7 MiB +0.0%
Query 93 15.1 MiB 15.1 MiB +0.0%
Query 94 3.7 MiB 3.7 MiB +0.0%
Query 95 16.8 MiB 16.5 MiB -1.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.7 MiB 1.9 MiB +12.9%

Pool accounting vs. process RSS

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

Benchmark Side Max pool peak Peak RSS Gap RSS / pool
tpcds base (a48c3cf5aa944823e58f683839253a3aef96193b) 213.2 MiB 2.0 GiB 1.8 GiB 9.7×
tpcds changed (f349d1fa1339952045759b1e1d60fc761ef6402c) 213.3 MiB 2.1 GiB 1.9 GiB 10.1×
Resource Usage

tpcds — base (merge-base)

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

tpcds — branch

Metric Value
Wall time 50.0s
Peak memory 2.1 GiB
Avg memory 1.5 GiB
CPU user 183.6s
CPU sys 5.2s
Peak spill 0 B

File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark completed (GKE) | trigger

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

Comparing f349d1f (f349d1f) to a48c3cf diff

Run configuration
run benchmark clickbench_partitioned
env:
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "a48c3cf5aa944823e58f683839253a3aef96193b"
changed:
  ref: "f349d1fa1339952045759b1e1d60fc761ef6402c"
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  │    11.02 ms │                                   11.13 ms │     no change │
│ QQuery 2  │    35.33 ms │                                   35.58 ms │     no change │
│ QQuery 3  │    30.97 ms │                                   30.91 ms │     no change │
│ QQuery 4  │   233.58 ms │                                  238.63 ms │     no change │
│ QQuery 5  │  1467.04 ms │                                 1377.95 ms │ +1.06x faster │
│ QQuery 6  │     1.18 ms │                                    1.17 ms │     no change │
│ QQuery 7  │    12.08 ms │                                   12.19 ms │     no change │
│ QQuery 8  │   333.13 ms │                                  336.30 ms │     no change │
│ QQuery 9  │   465.95 ms │                                  473.80 ms │     no change │
│ QQuery 10 │   198.07 ms │                                  196.78 ms │     no change │
│ QQuery 11 │   209.29 ms │                                  209.18 ms │     no change │
│ QQuery 12 │  1502.01 ms │                                 1426.20 ms │ +1.05x faster │
│ QQuery 13 │  2077.60 ms │                                 1944.83 ms │ +1.07x faster │
│ QQuery 14 │  1636.25 ms │                                 1616.94 ms │     no change │
│ QQuery 15 │   283.56 ms │                                  286.81 ms │     no change │
│ QQuery 16 │  3596.36 ms │                                 3633.84 ms │     no change │
│ QQuery 17 │  3612.91 ms │                                 3623.79 ms │     no change │
│ QQuery 18 │  6534.68 ms │                                 6522.89 ms │     no change │
│ QQuery 19 │    26.46 ms │                                   26.40 ms │     no change │
│ QQuery 20 │  1028.86 ms │                                 1048.79 ms │     no change │
│ QQuery 21 │  1347.26 ms │                                 1350.87 ms │     no change │
│ QQuery 22 │  3171.39 ms │                                 3207.84 ms │     no change │
│ QQuery 23 │  9183.09 ms │                                 9257.89 ms │     no change │
│ QQuery 24 │    94.47 ms │                                   94.85 ms │     no change │
│ QQuery 25 │   350.90 ms │                                  351.51 ms │     no change │
│ QQuery 26 │    95.12 ms │                                   95.79 ms │     no change │
│ QQuery 27 │  1138.01 ms │                                 1138.15 ms │     no change │
│ QQuery 28 │  2781.70 ms │                                 2720.92 ms │     no change │
│ QQuery 29 │    38.44 ms │                                   38.96 ms │     no change │
│ QQuery 30 │   538.77 ms │                                  542.21 ms │     no change │
│ QQuery 31 │   535.98 ms │                                  528.05 ms │     no change │
│ QQuery 32 │  1044.17 ms │                                 1010.61 ms │     no change │
│ QQuery 33 │ 13511.50 ms │                                12953.81 ms │     no change │
│ QQuery 34 │ 13270.92 ms │                                14079.96 ms │  1.06x slower │
│ QQuery 35 │   291.52 ms │                                  286.16 ms │     no change │
│ QQuery 36 │   161.99 ms │                                  163.43 ms │     no change │
│ QQuery 37 │    94.85 ms │                                   94.50 ms │     no change │
│ QQuery 38 │    77.62 ms │                                   78.46 ms │     no change │
│ QQuery 39 │   386.22 ms │                                  369.59 ms │     no change │
│ QQuery 40 │    13.77 ms │                                   13.89 ms │     no change │
│ QQuery 41 │    13.08 ms │                                   12.88 ms │     no change │
│ QQuery 42 │    12.78 ms │                                   12.78 ms │     no change │
└───────────┴─────────────┴────────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                                         ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                                         │ 71451.00ms │
│ Total Time (rich-T-kid_aggregate-dictionary-hash-cache)   │ 71458.35ms │
│ Average Time (HEAD)                                       │  1661.65ms │
│ Average Time (rich-T-kid_aggregate-dictionary-hash-cache) │  1661.82ms │
│ Queries Faster                                            │          3 │
│ Queries Slower                                            │          1 │
│ Queries with No Change                                    │         39 │
│ Queries with Failure                                      │          0 │
└───────────────────────────────────────────────────────────┴────────────┘

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

Comparing HEAD and rich-T-kid_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.97 / 16.11 ms │               1.13 / 4.29 ±6.16 / 16.62 ms │     no change │
│ QQuery 1  │            11.02 / 11.16 ±0.10 / 11.28 ms │             11.13 / 11.33 ±0.15 / 11.59 ms │     no change │
│ QQuery 2  │            35.33 / 35.65 ±0.25 / 36.04 ms │             35.58 / 35.92 ±0.33 / 36.32 ms │     no change │
│ QQuery 3  │            30.97 / 31.84 ±0.89 / 33.06 ms │             30.91 / 31.13 ±0.18 / 31.46 ms │     no change │
│ QQuery 4  │         233.58 / 239.50 ±4.46 / 245.00 ms │          238.63 / 240.16 ±1.09 / 241.59 ms │     no change │
│ QQuery 5  │     1467.04 / 1517.33 ±53.71 / 1604.93 ms │      1377.95 / 1412.60 ±23.84 / 1449.77 ms │ +1.07x faster │
│ QQuery 6  │               1.18 / 1.34 ±0.23 / 1.79 ms │                1.17 / 1.33 ±0.24 / 1.80 ms │     no change │
│ QQuery 7  │            12.08 / 12.20 ±0.16 / 12.51 ms │             12.19 / 12.38 ±0.15 / 12.64 ms │     no change │
│ QQuery 8  │         333.13 / 337.69 ±2.74 / 340.59 ms │          336.30 / 337.87 ±1.40 / 339.73 ms │     no change │
│ QQuery 9  │         465.95 / 477.04 ±7.79 / 488.49 ms │          473.80 / 483.32 ±8.93 / 499.02 ms │     no change │
│ QQuery 10 │         198.07 / 199.39 ±1.24 / 201.33 ms │          196.78 / 199.01 ±1.93 / 201.94 ms │     no change │
│ QQuery 11 │         209.29 / 210.22 ±0.65 / 211.32 ms │          209.18 / 210.32 ±0.68 / 211.10 ms │     no change │
│ QQuery 12 │     1502.01 / 1538.45 ±34.05 / 1588.89 ms │      1426.20 / 1484.52 ±30.35 / 1512.72 ms │     no change │
│ QQuery 13 │    2077.60 / 2228.97 ±129.04 / 2430.35 ms │      1944.83 / 2041.67 ±76.10 / 2161.69 ms │ +1.09x faster │
│ QQuery 14 │     1636.25 / 1729.93 ±94.15 / 1906.53 ms │      1616.94 / 1691.74 ±53.85 / 1773.97 ms │     no change │
│ QQuery 15 │         283.56 / 292.01 ±5.38 / 300.34 ms │          286.81 / 297.28 ±7.71 / 309.82 ms │     no change │
│ QQuery 16 │     3596.36 / 3682.34 ±65.51 / 3759.19 ms │      3633.84 / 3727.92 ±84.05 / 3871.14 ms │     no change │
│ QQuery 17 │    3612.91 / 3763.27 ±103.24 / 3899.13 ms │     3623.79 / 3791.30 ±103.73 / 3924.47 ms │     no change │
│ QQuery 18 │    6534.68 / 6844.40 ±177.37 / 7079.98 ms │     6522.89 / 6964.32 ±361.10 / 7421.18 ms │     no change │
│ QQuery 19 │            26.46 / 28.37 ±2.77 / 33.80 ms │            26.40 / 34.20 ±14.64 / 63.45 ms │  1.21x slower │
│ QQuery 20 │     1028.86 / 1043.42 ±15.04 / 1070.65 ms │       1048.79 / 1058.66 ±9.39 / 1070.82 ms │     no change │
│ QQuery 21 │      1347.26 / 1361.33 ±8.69 / 1372.41 ms │       1350.87 / 1362.72 ±7.67 / 1374.32 ms │     no change │
│ QQuery 22 │     3171.39 / 3238.98 ±97.35 / 3432.34 ms │      3207.84 / 3269.76 ±69.11 / 3398.23 ms │     no change │
│ QQuery 23 │    9183.09 / 9270.43 ±104.97 / 9468.22 ms │      9257.89 / 9363.87 ±79.27 / 9482.53 ms │     no change │
│ QQuery 24 │         94.47 / 146.03 ±87.57 / 319.81 ms │            94.85 / 97.49 ±3.05 / 103.46 ms │ +1.50x faster │
│ QQuery 25 │         350.90 / 354.76 ±3.66 / 361.13 ms │         351.51 / 370.97 ±34.49 / 439.82 ms │     no change │
│ QQuery 26 │            95.12 / 96.60 ±1.22 / 98.78 ms │             95.79 / 97.26 ±0.97 / 98.68 ms │     no change │
│ QQuery 27 │      1138.01 / 1147.15 ±7.58 / 1160.28 ms │       1138.15 / 1149.71 ±7.07 / 1157.70 ms │     no change │
│ QQuery 28 │     2781.70 / 2804.48 ±17.00 / 2827.95 ms │      2720.92 / 2772.16 ±40.67 / 2841.45 ms │     no change │
│ QQuery 29 │           38.44 / 44.48 ±10.22 / 64.81 ms │             38.96 / 39.14 ±0.17 / 39.41 ms │ +1.14x faster │
│ QQuery 30 │         538.77 / 548.07 ±7.93 / 559.38 ms │         542.21 / 558.62 ±26.02 / 610.43 ms │     no change │
│ QQuery 31 │        535.98 / 546.84 ±13.05 / 571.63 ms │         528.05 / 544.15 ±11.48 / 557.78 ms │     no change │
│ QQuery 32 │     1044.17 / 1081.09 ±38.21 / 1136.64 ms │      1010.61 / 1093.20 ±69.91 / 1187.47 ms │     no change │
│ QQuery 33 │ 13511.50 / 14056.63 ±471.83 / 14741.80 ms │  12953.81 / 14005.44 ±740.65 / 14905.66 ms │     no change │
│ QQuery 34 │ 13270.92 / 14131.43 ±500.82 / 14813.94 ms │  14079.96 / 14418.53 ±310.95 / 14892.41 ms │     no change │
│ QQuery 35 │        291.52 / 319.79 ±35.23 / 388.96 ms │         286.16 / 329.49 ±65.11 / 458.57 ms │     no change │
│ QQuery 36 │        161.99 / 181.92 ±11.05 / 195.04 ms │         163.43 / 173.26 ±10.57 / 192.63 ms │     no change │
│ QQuery 37 │           94.85 / 97.69 ±4.24 / 106.09 ms │             94.50 / 96.00 ±1.34 / 98.11 ms │     no change │
│ QQuery 38 │            77.62 / 83.04 ±4.05 / 90.08 ms │             78.46 / 87.10 ±6.87 / 99.24 ms │     no change │
│ QQuery 39 │         386.22 / 397.30 ±6.39 / 405.26 ms │         369.59 / 392.92 ±19.00 / 416.19 ms │     no change │
│ QQuery 40 │            13.77 / 14.10 ±0.30 / 14.58 ms │             13.89 / 14.36 ±0.37 / 14.84 ms │     no change │
│ QQuery 41 │            13.08 / 16.82 ±6.12 / 29.01 ms │             12.88 / 13.32 ±0.33 / 13.86 ms │ +1.26x faster │
│ QQuery 42 │            12.78 / 13.00 ±0.17 / 13.23 ms │             12.78 / 13.17 ±0.33 / 13.66 ms │     no change │
└───────────┴───────────────────────────────────────────┴────────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                                         ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                                         │ 74180.67ms │
│ Total Time (rich-T-kid_aggregate-dictionary-hash-cache)   │ 74333.93ms │
│ Average Time (HEAD)                                       │  1725.13ms │
│ Average Time (rich-T-kid_aggregate-dictionary-hash-cache) │  1728.70ms │
│ Queries Faster                                            │          5 │
│ Queries Slower                                            │          1 │
│ 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: a48c3cf5aa944823e58f683839253a3aef96193b | Changed: f349d1fa1339952045759b1e1d60fc761ef6402c

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 845.2 MiB 827.8 MiB -2.1%
Query 5 1.4 GiB 1.4 GiB -5.9%
Query 6 0 B 0 B 0.0%
Query 7 50.3 MiB 50.2 MiB -0.2%
Query 8 945.1 MiB 947.5 MiB +0.3%
Query 9 593.9 MiB 594.0 MiB +0.0%
Query 10 71.0 MiB 74.0 MiB +4.3%
Query 11 77.7 MiB 75.8 MiB -2.4%
Query 12 1.6 GiB 1.5 GiB -5.9%
Query 13 1.9 GiB 1.7 GiB -8.9%
Query 14 1.9 GiB 1.9 GiB +0.2%
Query 15 1.2 GiB 1.2 GiB +1.3%
Query 16 3.3 GiB 3.4 GiB +3.4%
Query 17 3.4 GiB 3.3 GiB -4.0%
Query 18 7.6 GiB 7.1 GiB -5.9%
Query 19 0 B 0 B 0.0%
Query 20 104 B 104 B +0.0%
Query 21 1.4 MiB 1.5 MiB +12.1%
Query 22 2.7 MiB 2.5 MiB -9.6%
Query 23 12.7 MiB 12.6 MiB -1.2%
Query 24 6.8 MiB 6.8 MiB +0.9%
Query 25 7.6 MiB 7.1 MiB -6.9%
Query 26 7.8 MiB 8.1 MiB +2.8%
Query 27 2.5 MiB 2.5 MiB +0.0%
Query 28 2.1 GiB 2.0 GiB -3.2%
Query 29 624 B 624 B +0.0%
Query 30 717.1 MiB 638.9 MiB -10.9%
Query 31 1.5 GiB 1.5 GiB -3.0%
Query 32 7.1 GiB 7.1 GiB +0.1%
Query 33 12.7 GiB 12.7 GiB +0.0%
Query 34 12.7 GiB 12.7 GiB +0.1%
Query 35 674.7 MiB 660.0 MiB -2.2%
Query 36 474.1 MiB 468.9 MiB -1.1%
Query 37 8.1 MiB 8.4 MiB +3.6%
Query 38 5.3 MiB 5.3 MiB -0.6%
Query 39 715.5 MiB 478.9 MiB -33.1%
Query 40 2.3 MiB 2.3 MiB +2.1%
Query 41 3.1 MiB 3.1 MiB +0.0%
Query 42 1.7 MiB 1.7 MiB -0.3%

Pool accounting vs. process RSS

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

Benchmark Side Max pool peak Peak RSS Gap RSS / pool
clickbench_partitioned base (a48c3cf5aa944823e58f683839253a3aef96193b) 12.7 GiB 13.2 GiB 480.6 MiB 1.0×
clickbench_partitioned changed (f349d1fa1339952045759b1e1d60fc761ef6402c) 12.7 GiB 14.1 GiB 1.4 GiB 1.1×
Resource Usage

clickbench_partitioned — base (merge-base)

Metric Value
Wall time 375.1s
Peak memory 13.2 GiB
Avg memory 6.0 GiB
CPU user 3273.6s
CPU sys 200.1s
Peak spill 0 B

clickbench_partitioned — branch

Metric Value
Wall time 375.1s
Peak memory 14.1 GiB
Avg memory 5.7 GiB
CPU user 3183.9s
CPU sys 199.5s
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: "a48c3cf5aa944823e58f683839253a3aef96193b"
changed:
ref: "d14a173971f4a0f451dc5e253ad3bfc61e6011c6"

Use the caching hasher only for non-streaming group schemas that contain dictionary columns, and share cached hashes only with those columns. Streaming and non-dictionary aggregates keep the existing hashing path without per-batch cache plumbing.
@Rich-T-kid
Rich-T-kid force-pushed the rich-T-kid/aggregate-dictionary-hash-cache branch from d14a173 to 409c45d Compare October 30, 2026 23:32
@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: "a48c3cf5aa944823e58f683839253a3aef96193b"
changed:
ref: "409c45d9576334f69cab2c09fa70d68ff64db1e3"

@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-30T23:32:20.357945Z  INFO runner starting benchmark runner bench_type=Datafusion, pr_url=https://github.com/apache/datafusion/pull/26826, benchmarks=tpcds
2026-10-30T23:32:20.419029Z  INFO benchmark_controller::runner::bench_datafusion === Cloning PR branch ===
2026-10-30T23:32:20.419051Z  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-30T23:32:25.427243Z  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-30T23:32:30.430072Z  INFO benchmark_controller::runner::shell running command cmd=git, args=["checkout", "rich-T-kid/aggregate-dictionary-hash-cache"], cwd="/workspace/datafusion-branch"
2026-10-30T23:32:35.431757Z  INFO benchmark_controller::runner::shell running command cmd=git, args=["merge-base", "HEAD", "origin/main"], cwd="/workspace/datafusion-branch"
2026-10-30T23:32:40.433665Z  INFO benchmark_controller::runner::bench_datafusion === Checking out custom changed ref === changed_ref=d14a173971f4a0f451dc5e253ad3bfc61e6011c6
2026-10-30T23:32:40.433680Z  INFO benchmark_controller::runner::shell running command cmd=git, args=["fetch", "origin", "refs/pull/26826/head"], cwd="/workspace/datafusion-branch"
2026-10-30T23:32:45.436083Z  INFO benchmark_controller::runner::shell running command cmd=git, args=["fetch", "origin"], cwd="/workspace/datafusion-branch"
2026-10-30T23:32:50.437982Z  INFO benchmark_controller::runner::shell running command cmd=git, args=["-c", "advice.detachedHead=false", "checkout", "d14a173971f4a0f451dc5e253ad3bfc61e6011c6"], cwd="/workspace/datafusion-branch"
2026-10-30T23:32:55.440153Z ERROR runner benchmark failed error=git checkout: git -c advice.detachedHead=false checkout d14a173971f4a0f451dc5e253ad3bfc61e6011c6 exited with code 128
stdout:

stderr:
fatal: reference is not a tree: d14a173971f4a0f451dc5e253ad3bfc61e6011c6
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-30T23:32:18.972201Z  INFO runner starting benchmark runner bench_type=Datafusion, pr_url=https://github.com/apache/datafusion/pull/26826, benchmarks=clickbench_partitioned
2026-10-30T23:32:19.031219Z  INFO benchmark_controller::runner::bench_datafusion === Cloning PR branch ===
2026-10-30T23:32:19.031253Z  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-30T23:32:24.043015Z  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-30T23:32:29.045880Z  INFO benchmark_controller::runner::shell running command cmd=git, args=["checkout", "rich-T-kid/aggregate-dictionary-hash-cache"], cwd="/workspace/datafusion-branch"
2026-10-30T23:32:34.048296Z  INFO benchmark_controller::runner::shell running command cmd=git, args=["merge-base", "HEAD", "origin/main"], cwd="/workspace/datafusion-branch"
2026-10-30T23:32:39.050243Z  INFO benchmark_controller::runner::bench_datafusion === Checking out custom changed ref === changed_ref=d14a173971f4a0f451dc5e253ad3bfc61e6011c6
2026-10-30T23:32:39.050259Z  INFO benchmark_controller::runner::shell running command cmd=git, args=["fetch", "origin", "refs/pull/26826/head"], cwd="/workspace/datafusion-branch"
2026-10-30T23:32:44.052261Z  INFO benchmark_controller::runner::shell running command cmd=git, args=["fetch", "origin"], cwd="/workspace/datafusion-branch"
2026-10-30T23:32:49.053987Z  INFO benchmark_controller::runner::shell running command cmd=git, args=["-c", "advice.detachedHead=false", "checkout", "d14a173971f4a0f451dc5e253ad3bfc61e6011c6"], cwd="/workspace/datafusion-branch"
2026-10-30T23:32:54.056269Z ERROR runner benchmark failed error=git checkout: git -c advice.detachedHead=false checkout d14a173971f4a0f451dc5e253ad3bfc61e6011c6 exited with code 128
stdout:

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

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-c6535704728-4200-66xg9 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 d14a173 (d14a173) to a48c3cf diff

Run configuration
run benchmark tpch
env:
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "a48c3cf5aa944823e58f683839253a3aef96193b"
changed:
  ref: "d14a173971f4a0f451dc5e253ad3bfc61e6011c6"

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-c6535738769-4204-89ldv 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 409c45d (409c45d) to a48c3cf diff

Run configuration
run benchmark tpcds
env:
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "a48c3cf5aa944823e58f683839253a3aef96193b"
changed:
  ref: "409c45d9576334f69cab2c09fa70d68ff64db1e3"

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-c6535738769-4203-nt2vt 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 409c45d (409c45d) to a48c3cf diff

Run configuration
run benchmark tpch
env:
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "a48c3cf5aa944823e58f683839253a3aef96193b"
changed:
  ref: "409c45d9576334f69cab2c09fa70d68ff64db1e3"

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-c6535738769-4205-27vgr 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 409c45d (409c45d) to a48c3cf diff

Run configuration
run benchmark clickbench_partitioned
env:
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "a48c3cf5aa944823e58f683839253a3aef96193b"
changed:
  ref: "409c45d9576334f69cab2c09fa70d68ff64db1e3"

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

Run configuration
run benchmark tpch
env:
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "a48c3cf5aa944823e58f683839253a3aef96193b"
changed:
  ref: "d14a173971f4a0f451dc5e253ad3bfc61e6011c6"
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.07 ms │                                   40.00 ms │ no change │
│ QQuery 2  │  18.58 ms │                                   18.80 ms │ no change │
│ QQuery 3  │  28.17 ms │                                   28.11 ms │ no change │
│ QQuery 4  │  17.39 ms │                                   17.20 ms │ no change │
│ QQuery 5  │  35.17 ms │                                   34.85 ms │ no change │
│ QQuery 6  │  13.51 ms │                                   13.62 ms │ no change │
│ QQuery 7  │  41.06 ms │                                   42.13 ms │ no change │
│ QQuery 8  │  41.39 ms │                                   41.00 ms │ no change │
│ QQuery 9  │  51.15 ms │                                   51.56 ms │ no change │
│ QQuery 10 │  58.87 ms │                                   57.90 ms │ no change │
│ QQuery 11 │  13.52 ms │                                   13.70 ms │ no change │
│ QQuery 12 │  21.21 ms │                                   21.24 ms │ no change │
│ QQuery 13 │  46.88 ms │                                   46.41 ms │ no change │
│ QQuery 14 │  24.05 ms │                                   23.83 ms │ no change │
│ QQuery 15 │  31.34 ms │                                   31.13 ms │ no change │
│ QQuery 16 │  13.22 ms │                                   13.44 ms │ no change │
│ QQuery 17 │  74.87 ms │                                   74.93 ms │ no change │
│ QQuery 18 │ 115.57 ms │                                  113.64 ms │ no change │
│ QQuery 19 │  30.00 ms │                                   29.79 ms │ no change │
│ QQuery 20 │  33.19 ms │                                   33.73 ms │ no change │
│ QQuery 21 │  53.51 ms │                                   52.47 ms │ no change │
│ QQuery 22 │  15.97 ms │                                   15.85 ms │ no change │
└───────────┴───────────┴────────────────────────────────────────────┴───────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┓
┃ Benchmark Summary                                         ┃          ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━┩
│ Total Time (HEAD)                                         │ 818.68ms │
│ Total Time (rich-T-kid_aggregate-dictionary-hash-cache)   │ 815.34ms │
│ Average Time (HEAD)                                       │  37.21ms │
│ Average Time (rich-T-kid_aggregate-dictionary-hash-cache) │  37.06ms │
│ 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.07 / 40.81 ±0.89 / 42.53 ms │             40.00 / 41.55 ±1.43 / 43.46 ms │ no change │
│ QQuery 2  │    18.58 / 18.88 ±0.29 / 19.38 ms │             18.80 / 19.10 ±0.29 / 19.60 ms │ no change │
│ QQuery 3  │    28.17 / 28.57 ±0.37 / 29.21 ms │             28.11 / 29.09 ±1.12 / 31.20 ms │ no change │
│ QQuery 4  │    17.39 / 17.79 ±0.53 / 18.82 ms │             17.20 / 17.72 ±0.45 / 18.53 ms │ no change │
│ QQuery 5  │    35.17 / 35.42 ±0.28 / 35.94 ms │             34.85 / 35.61 ±0.42 / 36.10 ms │ no change │
│ QQuery 6  │    13.51 / 13.70 ±0.12 / 13.82 ms │             13.62 / 13.70 ±0.07 / 13.83 ms │ no change │
│ QQuery 7  │    41.06 / 43.15 ±1.74 / 46.31 ms │             42.13 / 44.42 ±1.90 / 47.59 ms │ no change │
│ QQuery 8  │    41.39 / 43.11 ±1.95 / 46.75 ms │             41.00 / 41.72 ±0.38 / 42.08 ms │ no change │
│ QQuery 9  │    51.15 / 52.29 ±1.01 / 53.89 ms │             51.56 / 51.67 ±0.14 / 51.93 ms │ no change │
│ QQuery 10 │    58.87 / 60.21 ±0.99 / 61.90 ms │             57.90 / 58.38 ±0.75 / 59.87 ms │ no change │
│ QQuery 11 │    13.52 / 14.02 ±0.27 / 14.24 ms │             13.70 / 13.95 ±0.19 / 14.16 ms │ no change │
│ QQuery 12 │    21.21 / 21.54 ±0.19 / 21.74 ms │             21.24 / 21.50 ±0.18 / 21.81 ms │ no change │
│ QQuery 13 │    46.88 / 48.32 ±1.08 / 50.23 ms │             46.41 / 48.07 ±1.14 / 49.73 ms │ no change │
│ QQuery 14 │    24.05 / 24.41 ±0.29 / 24.93 ms │             23.83 / 24.26 ±0.40 / 25.00 ms │ no change │
│ QQuery 15 │    31.34 / 33.11 ±1.68 / 36.03 ms │             31.13 / 31.57 ±0.33 / 32.04 ms │ no change │
│ QQuery 16 │    13.22 / 13.74 ±0.29 / 14.06 ms │             13.44 / 13.69 ±0.16 / 13.88 ms │ no change │
│ QQuery 17 │    74.87 / 75.89 ±0.86 / 76.92 ms │             74.93 / 77.07 ±1.86 / 80.23 ms │ no change │
│ QQuery 18 │ 115.57 / 117.99 ±1.44 / 119.84 ms │          113.64 / 115.50 ±1.89 / 119.12 ms │ no change │
│ QQuery 19 │    30.00 / 30.86 ±0.88 / 32.27 ms │             29.79 / 30.34 ±0.44 / 31.09 ms │ no change │
│ QQuery 20 │    33.19 / 33.74 ±0.32 / 34.15 ms │             33.73 / 33.89 ±0.14 / 34.15 ms │ no change │
│ QQuery 21 │    53.51 / 56.74 ±3.67 / 63.92 ms │             52.47 / 55.05 ±1.62 / 57.14 ms │ no change │
│ QQuery 22 │    15.97 / 16.29 ±0.19 / 16.54 ms │             15.85 / 16.27 ±0.39 / 16.94 ms │ no change │
└───────────┴───────────────────────────────────┴────────────────────────────────────────────┴───────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┓
┃ Benchmark Summary                                         ┃          ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━┩
│ Total Time (HEAD)                                         │ 840.58ms │
│ Total Time (rich-T-kid_aggregate-dictionary-hash-cache)   │ 834.15ms │
│ Average Time (HEAD)                                       │  38.21ms │
│ Average Time (rich-T-kid_aggregate-dictionary-hash-cache) │  37.92ms │
│ 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: a48c3cf5aa944823e58f683839253a3aef96193b | Changed: d14a173971f4a0f451dc5e253ad3bfc61e6011c6

tpch — tpch_sf1

Query Base Changed Change
Query 1 20.2 MiB 30.1 MiB +49.4%
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 42.8 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.0 MiB 33.3 MiB -2.2%
Query 9 155.6 MiB 155.6 MiB +0.0%
Query 10 61.7 MiB 70.0 MiB +13.5%
Query 11 61.9 MiB 42.2 MiB -31.8%
Query 12 20.1 MiB 20.1 MiB +0.0%
Query 13 52.3 MiB 52.3 MiB -0.0%
Query 14 7.7 MiB 7.7 MiB +0.0%
Query 15 12.8 MiB 12.8 MiB -0.0%
Query 16 42.8 MiB 33.5 MiB -21.8%
Query 17 150.3 MiB 150.3 MiB +0.0%
Query 18 2.7 GiB 2.7 GiB +0.1%
Query 19 228.6 KiB 228.6 KiB +0.0%
Query 20 59.7 MiB 57.5 MiB -3.6%
Query 21 37.7 MiB 37.7 MiB +0.0%
Query 22 22.2 MiB 31.7 MiB +43.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
tpch base (a48c3cf5aa944823e58f683839253a3aef96193b) 2.7 GiB 1.2 GiB −1.5 GiB 0.4×
tpch changed (d14a173971f4a0f451dc5e253ad3bfc61e6011c6) 2.7 GiB 1.2 GiB −1.5 GiB 0.5×
Resource Usage

tpch — base (merge-base)

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

tpch — branch

Metric Value
Wall time 5.0s
Peak memory 1.2 GiB
Avg memory 694.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 409c45d (409c45d) to a48c3cf diff

Run configuration
run benchmark tpch
env:
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "a48c3cf5aa944823e58f683839253a3aef96193b"
changed:
  ref: "409c45d9576334f69cab2c09fa70d68ff64db1e3"
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  │  39.94 ms │                                   41.90 ms │     no change │
│ QQuery 2  │  18.42 ms │                                   18.47 ms │     no change │
│ QQuery 3  │  28.04 ms │                                   28.09 ms │     no change │
│ QQuery 4  │  16.84 ms │                                   16.98 ms │     no change │
│ QQuery 5  │  34.55 ms │                                   34.87 ms │     no change │
│ QQuery 6  │  13.44 ms │                                   13.47 ms │     no change │
│ QQuery 7  │  42.55 ms │                                   39.99 ms │ +1.06x faster │
│ QQuery 8  │  40.58 ms │                                   41.16 ms │     no change │
│ QQuery 9  │  50.57 ms │                                   50.99 ms │     no change │
│ QQuery 10 │  58.00 ms │                                   56.91 ms │     no change │
│ QQuery 11 │  13.39 ms │                                   13.33 ms │     no change │
│ QQuery 12 │  20.80 ms │                                   21.18 ms │     no change │
│ QQuery 13 │  45.70 ms │                                   45.43 ms │     no change │
│ QQuery 14 │  23.76 ms │                                   23.73 ms │     no change │
│ QQuery 15 │  30.53 ms │                                   30.51 ms │     no change │
│ QQuery 16 │  13.16 ms │                                   13.27 ms │     no change │
│ QQuery 17 │  73.09 ms │                                   72.47 ms │     no change │
│ QQuery 18 │ 111.57 ms │                                  113.92 ms │     no change │
│ QQuery 19 │  29.52 ms │                                   29.73 ms │     no change │
│ QQuery 20 │  33.04 ms │                                   33.37 ms │     no change │
│ QQuery 21 │  51.21 ms │                                   53.20 ms │     no change │
│ QQuery 22 │  15.85 ms │                                   15.34 ms │     no change │
└───────────┴───────────┴────────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┓
┃ Benchmark Summary                                         ┃          ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━┩
│ Total Time (HEAD)                                         │ 804.56ms │
│ Total Time (rich-T-kid_aggregate-dictionary-hash-cache)   │ 808.32ms │
│ Average Time (HEAD)                                       │  36.57ms │
│ Average Time (rich-T-kid_aggregate-dictionary-hash-cache) │  36.74ms │
│ Queries Faster                                            │        1 │
│ Queries Slower                                            │        0 │
│ Queries with No Change                                    │       21 │
│ 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  │    39.94 / 40.62 ±0.91 / 42.40 ms │             41.90 / 43.22 ±1.24 / 45.44 ms │ 1.06x slower │
│ QQuery 2  │    18.42 / 18.69 ±0.27 / 19.20 ms │             18.47 / 18.66 ±0.22 / 19.08 ms │    no change │
│ QQuery 3  │    28.04 / 28.49 ±0.39 / 29.05 ms │             28.09 / 28.47 ±0.53 / 29.52 ms │    no change │
│ QQuery 4  │    16.84 / 17.14 ±0.21 / 17.35 ms │             16.98 / 17.16 ±0.17 / 17.48 ms │    no change │
│ QQuery 5  │    34.55 / 34.78 ±0.12 / 34.91 ms │             34.87 / 35.08 ±0.35 / 35.79 ms │    no change │
│ QQuery 6  │    13.44 / 13.58 ±0.08 / 13.67 ms │             13.47 / 13.61 ±0.09 / 13.72 ms │    no change │
│ QQuery 7  │    42.55 / 43.67 ±0.89 / 44.81 ms │             39.99 / 42.24 ±1.45 / 43.98 ms │    no change │
│ QQuery 8  │    40.58 / 41.60 ±1.16 / 43.59 ms │             41.16 / 43.60 ±1.77 / 46.65 ms │    no change │
│ QQuery 9  │    50.57 / 51.78 ±1.14 / 53.86 ms │             50.99 / 52.27 ±1.32 / 54.10 ms │    no change │
│ QQuery 10 │    58.00 / 58.22 ±0.24 / 58.64 ms │             56.91 / 57.73 ±0.93 / 59.51 ms │    no change │
│ QQuery 11 │    13.39 / 13.48 ±0.10 / 13.66 ms │             13.33 / 14.87 ±2.80 / 20.47 ms │ 1.10x slower │
│ QQuery 12 │    20.80 / 21.09 ±0.17 / 21.29 ms │             21.18 / 21.40 ±0.19 / 21.64 ms │    no change │
│ QQuery 13 │    45.70 / 46.72 ±1.44 / 49.56 ms │             45.43 / 45.88 ±0.35 / 46.41 ms │    no change │
│ QQuery 14 │    23.76 / 23.85 ±0.09 / 24.02 ms │             23.73 / 23.85 ±0.11 / 24.00 ms │    no change │
│ QQuery 15 │    30.53 / 30.92 ±0.34 / 31.41 ms │             30.51 / 30.71 ±0.16 / 30.93 ms │    no change │
│ QQuery 16 │    13.16 / 13.34 ±0.17 / 13.65 ms │             13.27 / 13.34 ±0.06 / 13.41 ms │    no change │
│ QQuery 17 │    73.09 / 74.58 ±1.04 / 75.95 ms │             72.47 / 73.41 ±1.09 / 75.47 ms │    no change │
│ QQuery 18 │ 111.57 / 115.79 ±3.52 / 121.74 ms │          113.92 / 118.13 ±3.59 / 124.20 ms │    no change │
│ QQuery 19 │    29.52 / 29.80 ±0.20 / 30.11 ms │             29.73 / 32.08 ±2.30 / 36.21 ms │ 1.08x slower │
│ QQuery 20 │    33.04 / 33.24 ±0.13 / 33.40 ms │             33.37 / 33.60 ±0.25 / 34.06 ms │    no change │
│ QQuery 21 │    51.21 / 54.11 ±3.28 / 58.92 ms │             53.20 / 54.90 ±1.76 / 57.94 ms │    no change │
│ QQuery 22 │    15.85 / 16.00 ±0.15 / 16.27 ms │             15.34 / 15.70 ±0.30 / 16.25 ms │    no change │
└───────────┴───────────────────────────────────┴────────────────────────────────────────────┴──────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┓
┃ Benchmark Summary                                         ┃          ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━┩
│ Total Time (HEAD)                                         │ 821.50ms │
│ Total Time (rich-T-kid_aggregate-dictionary-hash-cache)   │ 829.91ms │
│ Average Time (HEAD)                                       │  37.34ms │
│ Average Time (rich-T-kid_aggregate-dictionary-hash-cache) │  37.72ms │
│ Queries Faster                                            │        0 │
│ Queries Slower                                            │        3 │
│ Queries with No Change                                    │       19 │
│ 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: a48c3cf5aa944823e58f683839253a3aef96193b | Changed: 409c45d9576334f69cab2c09fa70d68ff64db1e3

tpch — tpch_sf1

Query Base Changed Change
Query 1 20.2 MiB 20.2 MiB +0.0%
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.3%
Query 5 42.7 MiB 32.9 MiB -23.0%
Query 6 832 B 832 B +0.0%
Query 7 107.6 MiB 107.6 MiB +0.0%
Query 8 34.0 MiB 34.0 MiB +0.2%
Query 9 155.6 MiB 155.6 MiB +0.0%
Query 10 62.5 MiB 66.3 MiB +6.1%
Query 11 61.7 MiB 41.5 MiB -32.7%
Query 12 20.1 MiB 20.1 MiB +0.1%
Query 13 62.3 MiB 52.4 MiB -16.0%
Query 14 7.7 MiB 7.7 MiB +0.0%
Query 15 12.9 MiB 12.8 MiB -0.8%
Query 16 33.3 MiB 33.2 MiB -0.1%
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.3 MiB 59.9 MiB -0.6%
Query 21 37.7 MiB 37.7 MiB +0.0%
Query 22 22.0 MiB 31.9 MiB +45.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 (a48c3cf5aa944823e58f683839253a3aef96193b) 2.7 GiB 2.0 GiB −727.6 MiB 0.7×
tpch changed (409c45d9576334f69cab2c09fa70d68ff64db1e3) 2.7 GiB 2.0 GiB −755.2 MiB 0.7×
Resource Usage

tpch — base (merge-base)

Metric Value
Wall time 5.0s
Peak memory 2.0 GiB
Avg memory 800.7 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 825.9 MiB
CPU user 21.5s
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 409c45d (409c45d) to a48c3cf diff

Run configuration
run benchmark tpcds
env:
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "a48c3cf5aa944823e58f683839253a3aef96193b"
changed:
  ref: "409c45d9576334f69cab2c09fa70d68ff64db1e3"
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.33 ms │                                    5.40 ms │     no change │
│ QQuery 2  │   76.55 ms │                                   75.94 ms │     no change │
│ QQuery 3  │   28.21 ms │                                   28.44 ms │     no change │
│ QQuery 4  │  774.34 ms │                                  691.96 ms │ +1.12x faster │
│ QQuery 5  │   49.87 ms │                                   49.57 ms │     no change │
│ QQuery 6  │   32.90 ms │                                   33.00 ms │     no change │
│ QQuery 7  │   72.18 ms │                                   71.71 ms │     no change │
│ QQuery 8  │   37.41 ms │                                   37.24 ms │     no change │
│ QQuery 9  │   51.83 ms │                                   51.62 ms │     no change │
│ QQuery 10 │   61.11 ms │                                   61.39 ms │     no change │
│ QQuery 11 │  446.65 ms │                                  400.27 ms │ +1.12x faster │
│ QQuery 12 │   25.25 ms │                                   25.60 ms │     no change │
│ QQuery 13 │  110.37 ms │                                  112.59 ms │     no change │
│ QQuery 14 │  375.82 ms │                                  383.65 ms │     no change │
│ QQuery 15 │   50.98 ms │                                   51.73 ms │     no change │
│ QQuery 16 │    6.06 ms │                                    6.15 ms │     no change │
│ QQuery 17 │   78.90 ms │                                   79.06 ms │     no change │
│ QQuery 18 │  103.68 ms │                                  104.33 ms │     no change │
│ QQuery 19 │   40.82 ms │                                   41.16 ms │     no change │
│ QQuery 20 │   30.31 ms │                                   31.27 ms │     no change │
│ QQuery 21 │   16.63 ms │                                   16.84 ms │     no change │
│ QQuery 22 │   70.62 ms │                                   61.94 ms │ +1.14x faster │
│ QQuery 23 │  300.74 ms │                                  303.83 ms │     no change │
│ QQuery 24 │  187.10 ms │                                  187.38 ms │     no change │
│ QQuery 25 │  104.55 ms │                                  106.39 ms │     no change │
│ QQuery 26 │   45.91 ms │                                   46.13 ms │     no change │
│ QQuery 27 │    6.02 ms │                                    6.11 ms │     no change │
│ QQuery 28 │   60.62 ms │                                   57.15 ms │ +1.06x faster │
│ QQuery 29 │   93.59 ms │                                   94.79 ms │     no change │
│ QQuery 30 │   35.97 ms │                                   36.01 ms │     no change │
│ QQuery 31 │  110.02 ms │                                  110.18 ms │     no change │
│ QQuery 32 │   19.19 ms │                                   19.28 ms │     no change │
│ QQuery 33 │   36.66 ms │                                   37.13 ms │     no change │
│ QQuery 34 │    9.54 ms │                                    9.44 ms │     no change │
│ QQuery 35 │   70.18 ms │                                   69.90 ms │     no change │
│ QQuery 36 │    5.91 ms │                                    5.83 ms │     no change │
│ QQuery 37 │    7.20 ms │                                    7.03 ms │     no change │
│ QQuery 38 │   63.69 ms │                                   62.32 ms │     no change │
│ QQuery 39 │   71.66 ms │                                   71.11 ms │     no change │
│ QQuery 40 │   22.19 ms │                                   22.26 ms │     no change │
│ QQuery 41 │   13.23 ms │                                   13.65 ms │     no change │
│ QQuery 42 │   22.84 ms │                                   23.47 ms │     no change │
│ QQuery 43 │    4.90 ms │                                    5.13 ms │     no change │
│ QQuery 44 │    8.29 ms │                                    8.50 ms │     no change │
│ QQuery 45 │   34.39 ms │                                   34.25 ms │     no change │
│ QQuery 46 │   11.05 ms │                                   11.33 ms │     no change │
│ QQuery 47 │  200.00 ms │                                  198.37 ms │     no change │
│ QQuery 48 │   90.00 ms │                                   90.34 ms │     no change │
│ QQuery 49 │   68.95 ms │                                   69.13 ms │     no change │
│ QQuery 50 │   57.60 ms │                                   58.08 ms │     no change │
│ QQuery 51 │   92.81 ms │                                   90.42 ms │     no change │
│ QQuery 52 │   23.40 ms │                                   23.32 ms │     no change │
│ QQuery 53 │   28.32 ms │                                   28.63 ms │     no change │
│ QQuery 54 │   51.63 ms │                                   52.19 ms │     no change │
│ QQuery 55 │   22.97 ms │                                   23.06 ms │     no change │
│ QQuery 56 │   37.90 ms │                                   37.91 ms │     no change │
│ QQuery 57 │  149.97 ms │                                  152.07 ms │     no change │
│ QQuery 58 │  101.35 ms │                                  100.46 ms │     no change │
│ QQuery 59 │  105.88 ms │                                  105.77 ms │     no change │
│ QQuery 60 │   41.72 ms │                                   41.74 ms │     no change │
│ QQuery 61 │    9.55 ms │                                    9.47 ms │     no change │
│ QQuery 62 │   37.49 ms │                                   37.55 ms │     no change │
│ QQuery 63 │   28.70 ms │                                   28.63 ms │     no change │
│ QQuery 64 │  359.59 ms │                                  358.30 ms │     no change │
│ QQuery 65 │  132.06 ms │                                  129.95 ms │     no change │
│ QQuery 66 │   72.57 ms │                                   72.87 ms │     no change │
│ QQuery 67 │  220.95 ms │                                  210.75 ms │     no change │
│ QQuery 68 │   11.32 ms │                                   11.28 ms │     no change │
│ QQuery 69 │   55.96 ms │                                   55.93 ms │     no change │
│ QQuery 70 │   96.90 ms │                                   97.27 ms │     no change │
│ QQuery 71 │   34.22 ms │                                   34.24 ms │     no change │
│ QQuery 72 │ 1553.77 ms │                                 1529.85 ms │     no change │
│ QQuery 73 │    9.27 ms │                                    9.35 ms │     no change │
│ QQuery 74 │  238.45 ms │                                  225.29 ms │ +1.06x faster │
│ QQuery 75 │  136.15 ms │                                  136.62 ms │     no change │
│ QQuery 76 │   33.70 ms │                                   33.34 ms │     no change │
│ QQuery 77 │   58.32 ms │                                   58.56 ms │     no change │
│ QQuery 78 │  157.65 ms │                                  157.69 ms │     no change │
│ QQuery 79 │   66.00 ms │                                   66.11 ms │     no change │
│ QQuery 80 │   92.62 ms │                                   93.08 ms │     no change │
│ QQuery 81 │   27.80 ms │                                   28.18 ms │     no change │
│ QQuery 82 │   16.53 ms │                                   16.69 ms │     no change │
│ QQuery 83 │   32.01 ms │                                   31.77 ms │     no change │
│ QQuery 84 │   30.65 ms │                                   30.47 ms │     no change │
│ QQuery 85 │   98.14 ms │                                   97.88 ms │     no change │
│ QQuery 86 │   23.98 ms │                                   23.89 ms │     no change │
│ QQuery 87 │   64.01 ms │                                   62.69 ms │     no change │
│ QQuery 88 │   58.53 ms │                                   58.53 ms │     no change │
│ QQuery 89 │   34.71 ms │                                   34.97 ms │     no change │
│ QQuery 90 │   15.79 ms │                                   15.86 ms │     no change │
│ QQuery 91 │   39.62 ms │                                   39.87 ms │     no change │
│ QQuery 92 │   27.93 ms │                                   27.75 ms │     no change │
│ QQuery 93 │   48.24 ms │                                   48.55 ms │     no change │
│ QQuery 94 │   36.97 ms │                                   36.80 ms │     no change │
│ QQuery 95 │   78.10 ms │                                   77.70 ms │     no change │
│ QQuery 96 │   23.17 ms │                                   23.05 ms │     no change │
│ QQuery 97 │   49.54 ms │                                   49.54 ms │     no change │
│ QQuery 98 │   36.89 ms │                                   37.18 ms │     no change │
│ QQuery 99 │   55.76 ms │                                   56.13 ms │     no change │
└───────────┴────────────┴────────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Benchmark Summary                                         ┃           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ Total Time (HEAD)                                         │ 9167.45ms │
│ Total Time (rich-T-kid_aggregate-dictionary-hash-cache)   │ 8994.62ms │
│ Average Time (HEAD)                                       │   92.60ms │
│ Average Time (rich-T-kid_aggregate-dictionary-hash-cache) │   90.85ms │
│ Queries Faster                                            │         5 │
│ Queries Slower                                            │         0 │
│ Queries with No Change                                    │        94 │
│ 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.33 / 5.93 ±1.09 / 8.11 ms │                5.40 / 5.98 ±1.08 / 8.14 ms │     no change │
│ QQuery 2  │        76.55 / 76.86 ±0.27 / 77.33 ms │             75.94 / 76.38 ±0.35 / 76.88 ms │     no change │
│ QQuery 3  │        28.21 / 28.48 ±0.23 / 28.77 ms │             28.44 / 28.61 ±0.13 / 28.76 ms │     no change │
│ QQuery 4  │     774.34 / 782.01 ±6.54 / 791.60 ms │          691.96 / 702.29 ±5.80 / 707.67 ms │ +1.11x faster │
│ QQuery 5  │        49.87 / 50.13 ±0.22 / 50.52 ms │             49.57 / 50.21 ±0.71 / 51.57 ms │     no change │
│ QQuery 6  │        32.90 / 33.22 ±0.28 / 33.67 ms │             33.00 / 33.38 ±0.25 / 33.72 ms │     no change │
│ QQuery 7  │        72.18 / 73.23 ±0.77 / 74.49 ms │             71.71 / 72.33 ±0.46 / 72.97 ms │     no change │
│ QQuery 8  │        37.41 / 37.75 ±0.39 / 38.51 ms │             37.24 / 39.10 ±3.30 / 45.70 ms │     no change │
│ QQuery 9  │        51.83 / 53.18 ±1.42 / 55.74 ms │             51.62 / 52.48 ±0.90 / 54.12 ms │     no change │
│ QQuery 10 │        61.11 / 62.23 ±1.91 / 66.04 ms │             61.39 / 61.76 ±0.27 / 62.22 ms │     no change │
│ QQuery 11 │     446.65 / 450.01 ±2.76 / 454.35 ms │          400.27 / 402.36 ±1.55 / 404.74 ms │ +1.12x faster │
│ QQuery 12 │        25.25 / 25.61 ±0.29 / 26.08 ms │             25.60 / 26.09 ±0.62 / 27.29 ms │     no change │
│ QQuery 13 │     110.37 / 111.27 ±0.47 / 111.66 ms │          112.59 / 114.66 ±2.09 / 118.66 ms │     no change │
│ QQuery 14 │     375.82 / 381.11 ±4.62 / 389.25 ms │          383.65 / 385.44 ±1.37 / 387.49 ms │     no change │
│ QQuery 15 │        50.98 / 53.27 ±2.45 / 58.03 ms │             51.73 / 52.18 ±0.42 / 52.72 ms │     no change │
│ QQuery 16 │           6.06 / 6.97 ±1.49 / 9.91 ms │                6.15 / 6.35 ±0.19 / 6.70 ms │ +1.10x faster │
│ QQuery 17 │        78.90 / 80.63 ±2.01 / 84.55 ms │             79.06 / 81.08 ±1.84 / 84.47 ms │     no change │
│ QQuery 18 │     103.68 / 104.43 ±0.59 / 105.38 ms │          104.33 / 105.73 ±1.35 / 108.13 ms │     no change │
│ QQuery 19 │        40.82 / 41.36 ±0.46 / 42.10 ms │             41.16 / 42.37 ±1.54 / 45.41 ms │     no change │
│ QQuery 20 │        30.31 / 30.78 ±0.24 / 30.98 ms │             31.27 / 31.83 ±0.55 / 32.52 ms │     no change │
│ QQuery 21 │        16.63 / 16.79 ±0.17 / 17.08 ms │             16.84 / 17.02 ±0.16 / 17.31 ms │     no change │
│ QQuery 22 │        70.62 / 71.19 ±0.72 / 72.57 ms │             61.94 / 62.47 ±0.43 / 63.06 ms │ +1.14x faster │
│ QQuery 23 │     300.74 / 304.74 ±3.83 / 310.19 ms │          303.83 / 305.60 ±1.51 / 307.55 ms │     no change │
│ QQuery 24 │     187.10 / 190.49 ±3.15 / 195.59 ms │          187.38 / 190.27 ±2.65 / 194.50 ms │     no change │
│ QQuery 25 │     104.55 / 106.43 ±1.98 / 110.02 ms │          106.39 / 107.83 ±1.10 / 109.05 ms │     no change │
│ QQuery 26 │        45.91 / 47.05 ±1.36 / 49.71 ms │             46.13 / 46.51 ±0.26 / 46.89 ms │     no change │
│ QQuery 27 │           6.02 / 6.14 ±0.12 / 6.38 ms │                6.11 / 6.34 ±0.23 / 6.66 ms │     no change │
│ QQuery 28 │        60.62 / 61.37 ±0.47 / 61.86 ms │             57.15 / 59.82 ±2.05 / 61.83 ms │     no change │
│ QQuery 29 │        93.59 / 94.40 ±1.46 / 97.31 ms │             94.79 / 96.44 ±1.93 / 99.23 ms │     no change │
│ QQuery 30 │        35.97 / 37.07 ±1.31 / 39.62 ms │             36.01 / 36.33 ±0.26 / 36.79 ms │     no change │
│ QQuery 31 │     110.02 / 110.65 ±0.54 / 111.64 ms │          110.18 / 112.60 ±1.90 / 115.40 ms │     no change │
│ QQuery 32 │        19.19 / 19.38 ±0.27 / 19.92 ms │             19.28 / 19.90 ±0.99 / 21.87 ms │     no change │
│ QQuery 33 │        36.66 / 37.24 ±0.71 / 38.62 ms │             37.13 / 37.41 ±0.19 / 37.63 ms │     no change │
│ QQuery 34 │          9.54 / 9.66 ±0.19 / 10.03 ms │                9.44 / 9.60 ±0.19 / 9.96 ms │     no change │
│ QQuery 35 │        70.18 / 71.10 ±1.34 / 73.71 ms │             69.90 / 70.79 ±0.77 / 72.16 ms │     no change │
│ QQuery 36 │           5.91 / 6.06 ±0.19 / 6.41 ms │                5.83 / 5.96 ±0.20 / 6.35 ms │     no change │
│ QQuery 37 │           7.20 / 7.34 ±0.15 / 7.53 ms │                7.03 / 7.31 ±0.14 / 7.43 ms │     no change │
│ QQuery 38 │        63.69 / 64.12 ±0.43 / 64.87 ms │             62.32 / 62.81 ±0.35 / 63.31 ms │     no change │
│ QQuery 39 │        71.66 / 72.29 ±0.67 / 73.13 ms │             71.11 / 72.30 ±1.54 / 75.27 ms │     no change │
│ QQuery 40 │        22.19 / 23.05 ±0.70 / 24.28 ms │             22.26 / 22.44 ±0.21 / 22.85 ms │     no change │
│ QQuery 41 │        13.23 / 13.62 ±0.29 / 14.11 ms │             13.65 / 13.80 ±0.19 / 14.18 ms │     no change │
│ QQuery 42 │        22.84 / 23.22 ±0.40 / 23.97 ms │             23.47 / 23.87 ±0.44 / 24.67 ms │     no change │
│ QQuery 43 │           4.90 / 5.05 ±0.14 / 5.32 ms │                5.13 / 5.22 ±0.14 / 5.49 ms │     no change │
│ QQuery 44 │           8.29 / 8.41 ±0.13 / 8.66 ms │                8.50 / 8.70 ±0.16 / 8.97 ms │     no change │
│ QQuery 45 │        34.39 / 34.78 ±0.34 / 35.41 ms │             34.25 / 34.71 ±0.37 / 35.26 ms │     no change │
│ QQuery 46 │        11.05 / 11.20 ±0.13 / 11.42 ms │             11.33 / 11.43 ±0.10 / 11.57 ms │     no change │
│ QQuery 47 │     200.00 / 201.45 ±1.07 / 203.10 ms │          198.37 / 201.75 ±1.82 / 203.32 ms │     no change │
│ QQuery 48 │        90.00 / 90.62 ±0.33 / 90.98 ms │             90.34 / 90.68 ±0.34 / 91.29 ms │     no change │
│ QQuery 49 │        68.95 / 70.93 ±1.55 / 73.46 ms │             69.13 / 70.81 ±1.88 / 74.22 ms │     no change │
│ QQuery 50 │        57.60 / 58.06 ±0.36 / 58.71 ms │             58.08 / 58.33 ±0.30 / 58.86 ms │     no change │
│ QQuery 51 │        92.81 / 94.60 ±1.21 / 96.34 ms │             90.42 / 91.69 ±0.95 / 93.05 ms │     no change │
│ QQuery 52 │        23.40 / 23.66 ±0.22 / 24.04 ms │             23.32 / 23.70 ±0.21 / 23.92 ms │     no change │
│ QQuery 53 │        28.32 / 28.62 ±0.25 / 29.03 ms │             28.63 / 28.72 ±0.14 / 29.01 ms │     no change │
│ QQuery 54 │        51.63 / 51.95 ±0.26 / 52.34 ms │             52.19 / 52.83 ±0.41 / 53.29 ms │     no change │
│ QQuery 55 │        22.97 / 23.10 ±0.09 / 23.20 ms │             23.06 / 23.97 ±1.50 / 26.92 ms │     no change │
│ QQuery 56 │        37.90 / 38.86 ±1.14 / 40.99 ms │             37.91 / 38.16 ±0.21 / 38.43 ms │     no change │
│ QQuery 57 │     149.97 / 151.98 ±2.23 / 156.28 ms │          152.07 / 153.10 ±1.55 / 156.17 ms │     no change │
│ QQuery 58 │     101.35 / 103.47 ±1.54 / 105.52 ms │          100.46 / 102.72 ±2.45 / 107.40 ms │     no change │
│ QQuery 59 │     105.88 / 106.87 ±0.67 / 107.58 ms │          105.77 / 106.66 ±0.51 / 107.35 ms │     no change │
│ QQuery 60 │        41.72 / 42.98 ±1.08 / 44.86 ms │             41.74 / 42.02 ±0.19 / 42.32 ms │     no change │
│ QQuery 61 │          9.55 / 9.72 ±0.24 / 10.18 ms │                9.47 / 9.59 ±0.18 / 9.94 ms │     no change │
│ QQuery 62 │        37.49 / 38.96 ±1.71 / 42.26 ms │             37.55 / 38.79 ±2.05 / 42.88 ms │     no change │
│ QQuery 63 │        28.70 / 28.99 ±0.24 / 29.25 ms │             28.63 / 29.18 ±0.48 / 29.79 ms │     no change │
│ QQuery 64 │     359.59 / 362.81 ±3.11 / 368.02 ms │          358.30 / 362.24 ±2.79 / 365.28 ms │     no change │
│ QQuery 65 │     132.06 / 134.60 ±1.70 / 136.79 ms │          129.95 / 133.25 ±3.17 / 139.29 ms │     no change │
│ QQuery 66 │        72.57 / 73.43 ±0.46 / 73.82 ms │             72.87 / 74.05 ±1.38 / 76.72 ms │     no change │
│ QQuery 67 │     220.95 / 223.72 ±2.57 / 226.92 ms │          210.75 / 214.55 ±2.56 / 218.58 ms │     no change │
│ QQuery 68 │        11.32 / 11.52 ±0.28 / 12.06 ms │             11.28 / 11.48 ±0.24 / 11.95 ms │     no change │
│ QQuery 69 │        55.96 / 56.26 ±0.26 / 56.72 ms │             55.93 / 56.75 ±0.58 / 57.45 ms │     no change │
│ QQuery 70 │       96.90 / 98.03 ±1.44 / 100.82 ms │           97.27 / 100.04 ±3.59 / 106.99 ms │     no change │
│ QQuery 71 │        34.22 / 36.16 ±2.93 / 41.91 ms │             34.24 / 34.98 ±0.90 / 36.75 ms │     no change │
│ QQuery 72 │ 1553.77 / 1639.89 ±52.34 / 1695.32 ms │      1529.85 / 1574.60 ±35.95 / 1613.14 ms │     no change │
│ QQuery 73 │           9.27 / 9.40 ±0.23 / 9.85 ms │               9.35 / 9.83 ±0.85 / 11.52 ms │     no change │
│ QQuery 74 │     238.45 / 242.62 ±2.91 / 247.31 ms │          225.29 / 228.48 ±2.31 / 230.93 ms │ +1.06x faster │
│ QQuery 75 │     136.15 / 139.32 ±2.92 / 144.86 ms │          136.62 / 139.02 ±2.79 / 144.47 ms │     no change │
│ QQuery 76 │        33.70 / 34.08 ±0.41 / 34.79 ms │             33.34 / 34.83 ±1.86 / 38.48 ms │     no change │
│ QQuery 77 │        58.32 / 60.89 ±2.81 / 64.63 ms │             58.56 / 58.84 ±0.28 / 59.36 ms │     no change │
│ QQuery 78 │     157.65 / 160.24 ±3.27 / 166.62 ms │          157.69 / 163.27 ±3.18 / 166.94 ms │     no change │
│ QQuery 79 │        66.00 / 67.40 ±1.06 / 68.98 ms │             66.11 / 66.27 ±0.18 / 66.60 ms │     no change │
│ QQuery 80 │        92.62 / 94.93 ±2.02 / 98.63 ms │             93.08 / 94.09 ±1.19 / 96.37 ms │     no change │
│ QQuery 81 │        27.80 / 27.96 ±0.09 / 28.05 ms │             28.18 / 28.90 ±1.19 / 31.25 ms │     no change │
│ QQuery 82 │        16.53 / 16.79 ±0.32 / 17.41 ms │             16.69 / 17.22 ±0.59 / 18.21 ms │     no change │
│ QQuery 83 │        32.01 / 34.87 ±3.43 / 40.57 ms │             31.77 / 32.09 ±0.23 / 32.35 ms │ +1.09x faster │
│ QQuery 84 │        30.65 / 31.08 ±0.31 / 31.56 ms │             30.47 / 32.30 ±2.72 / 37.67 ms │     no change │
│ QQuery 85 │       98.14 / 99.17 ±1.07 / 100.49 ms │            97.88 / 98.88 ±0.83 / 100.25 ms │     no change │
│ QQuery 86 │        23.98 / 24.25 ±0.28 / 24.76 ms │             23.89 / 25.27 ±2.20 / 29.66 ms │     no change │
│ QQuery 87 │        64.01 / 65.61 ±1.92 / 69.35 ms │             62.69 / 63.40 ±0.61 / 64.21 ms │     no change │
│ QQuery 88 │        58.53 / 59.43 ±0.56 / 60.10 ms │             58.53 / 59.02 ±0.55 / 59.82 ms │     no change │
│ QQuery 89 │        34.71 / 35.29 ±0.32 / 35.65 ms │             34.97 / 35.36 ±0.24 / 35.71 ms │     no change │
│ QQuery 90 │        15.79 / 15.93 ±0.19 / 16.29 ms │             15.86 / 16.05 ±0.17 / 16.36 ms │     no change │
│ QQuery 91 │        39.62 / 39.84 ±0.21 / 40.18 ms │             39.87 / 40.78 ±1.41 / 43.56 ms │     no change │
│ QQuery 92 │        27.93 / 29.40 ±1.56 / 32.29 ms │             27.75 / 28.53 ±0.60 / 29.13 ms │     no change │
│ QQuery 93 │        48.24 / 49.15 ±1.50 / 52.13 ms │             48.55 / 49.23 ±0.94 / 51.04 ms │     no change │
│ QQuery 94 │        36.97 / 37.31 ±0.39 / 38.02 ms │             36.80 / 37.15 ±0.29 / 37.62 ms │     no change │
│ QQuery 95 │        78.10 / 78.50 ±0.45 / 79.30 ms │             77.70 / 78.99 ±1.09 / 80.58 ms │     no change │
│ QQuery 96 │        23.17 / 24.34 ±1.73 / 27.77 ms │             23.05 / 23.25 ±0.23 / 23.70 ms │     no change │
│ QQuery 97 │        49.54 / 52.07 ±1.45 / 54.00 ms │             49.54 / 50.92 ±1.23 / 53.18 ms │     no change │
│ QQuery 98 │        36.89 / 37.50 ±0.34 / 37.92 ms │             37.18 / 37.59 ±0.35 / 38.09 ms │     no change │
│ QQuery 99 │        55.76 / 56.63 ±0.65 / 57.61 ms │             56.13 / 56.49 ±0.20 / 56.66 ms │     no change │
└───────────┴───────────────────────────────────────┴────────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Benchmark Summary                                         ┃           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ Total Time (HEAD)                                         │ 9366.53ms │
│ Total Time (rich-T-kid_aggregate-dictionary-hash-cache)   │ 9148.74ms │
│ Average Time (HEAD)                                       │   94.61ms │
│ Average Time (rich-T-kid_aggregate-dictionary-hash-cache) │   92.41ms │
│ Queries Faster                                            │         6 │
│ Queries Slower                                            │         0 │
│ Queries with No Change                                    │        93 │
│ 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: a48c3cf5aa944823e58f683839253a3aef96193b | Changed: 409c45d9576334f69cab2c09fa70d68ff64db1e3

tpcds — tpcds_sf1

Query Base Changed Change
Query 1 141.5 KiB 197.5 KiB +39.6%
Query 2 68.1 MiB 61.9 MiB -9.2%
Query 3 1.8 MiB 1.7 MiB -7.9%
Query 4 79.7 MiB 79.7 MiB -0.0%
Query 5 12.5 MiB 13.0 MiB +4.2%
Query 6 5.0 MiB 4.1 MiB -17.1%
Query 7 3.7 MiB 3.6 MiB -2.3%
Query 8 2.1 MiB 2.0 MiB -4.3%
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.7 MiB 13.7 MiB +0.0%
Query 14 171.4 MiB 171.0 MiB -0.3%
Query 15 4.1 MiB 4.4 MiB +6.2%
Query 16 118.6 KiB 118.6 KiB +0.0%
Query 17 41.5 MiB 40.6 MiB -2.2%
Query 18 21.3 MiB 21.2 MiB -0.1%
Query 19 2.1 MiB 2.1 MiB -1.0%
Query 20 114.6 MiB 114.6 MiB -0.0%
Query 21 2.5 MiB 2.6 MiB +2.0%
Query 22 61.8 MiB 63.5 MiB +2.8%
Query 23 211.5 MiB 212.9 MiB +0.7%
Query 24 38.7 MiB 38.7 MiB +0.0%
Query 25 99.9 MiB 99.9 MiB +0.0%
Query 26 3.7 MiB 3.6 MiB -2.9%
Query 27 1.6 MiB 1.6 MiB +0.3%
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.8 MiB +3.8%
Query 31 13.4 MiB 13.4 MiB +0.0%
Query 32 2.7 MiB 2.7 MiB +0.0%
Query 33 4.4 MiB 5.6 MiB +29.3%
Query 34 6.0 MiB 6.0 MiB +0.1%
Query 35 17.5 MiB 16.6 MiB -5.0%
Query 36 10.3 MiB 10.3 MiB +0.0%
Query 37 3.3 MiB 3.3 MiB +0.2%
Query 38 10.8 MiB 10.8 MiB +0.5%
Query 39 53.0 MiB 42.4 MiB -20.0%
Query 40 12.2 MiB 12.2 MiB +0.0%
Query 41 2.1 MiB 2.1 MiB +0.3%
Query 42 1.1 MiB 1.2 MiB +15.3%
Query 43 275.0 KiB 277.9 KiB +1.0%
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.8 MiB 11.8 MiB +0.0%
Query 49 42.8 MiB 43.0 MiB +0.4%
Query 50 16.6 MiB 16.6 MiB +0.1%
Query 51 178.0 MiB 177.7 MiB -0.2%
Query 52 2.0 MiB 1.5 MiB -22.2%
Query 53 20.6 MiB 20.6 MiB +0.0%
Query 54 2.1 MiB 2.1 MiB +0.1%
Query 55 1.2 MiB 1.5 MiB +22.1%
Query 56 3.0 MiB 3.0 MiB -2.5%
Query 57 120.8 MiB 120.8 MiB +0.0%
Query 58 4.4 MiB 4.2 MiB -4.7%
Query 59 11.7 MiB 11.7 MiB +0.0%
Query 60 7.2 MiB 7.2 MiB -0.4%
Query 61 2.4 KiB 2.5 KiB +6.0%
Query 62 4.3 MiB 3.7 MiB -15.2%
Query 63 20.6 MiB 20.6 MiB +0.0%
Query 64 73.8 MiB 84.8 MiB +14.8%
Query 65 29.7 MiB 29.7 MiB +0.0%
Query 66 14.9 MiB 15.0 MiB +0.1%
Query 67 138.9 MiB 138.2 MiB -0.5%
Query 68 6.2 MiB 6.2 MiB +0.1%
Query 69 3.5 MiB 3.6 MiB +3.8%
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.1%
Query 74 34.6 MiB 34.6 MiB +0.0%
Query 75 20.2 MiB 20.3 MiB +0.6%
Query 76 7.9 MiB 7.9 MiB +0.2%
Query 77 4.1 MiB 4.1 MiB +0.1%
Query 78 109.4 MiB 109.8 MiB +0.4%
Query 79 8.0 MiB 9.3 MiB +16.3%
Query 80 42.8 MiB 41.7 MiB -2.6%
Query 81 4.1 MiB 4.2 MiB +2.7%
Query 82 4.9 MiB 4.9 MiB +0.1%
Query 83 9.0 MiB 8.6 MiB -5.2%
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.5 MiB 1.8 MiB +17.6%
Query 89 112.2 MiB 122.0 MiB +8.8%
Query 90 351.7 KiB 351.7 KiB +0.0%
Query 91 30.9 MiB 31.0 MiB +0.3%
Query 92 2.7 MiB 2.7 MiB +0.0%
Query 93 15.1 MiB 15.1 MiB +0.0%
Query 94 3.7 MiB 3.7 MiB -0.0%
Query 95 17.0 MiB 17.8 MiB +4.9%
Query 96 224.7 KiB 224.7 KiB +0.0%
Query 97 33.1 MiB 33.1 MiB +0.0%
Query 98 114.8 MiB 114.7 MiB -0.0%
Query 99 1.6 MiB 1.7 MiB +1.1%

Pool accounting vs. process RSS

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

Benchmark Side Max pool peak Peak RSS Gap RSS / pool
tpcds base (a48c3cf5aa944823e58f683839253a3aef96193b) 211.5 MiB 1.7 GiB 1.5 GiB 8.4×
tpcds changed (409c45d9576334f69cab2c09fa70d68ff64db1e3) 212.9 MiB 2.1 GiB 1.9 GiB 10.1×
Resource Usage

tpcds — base (merge-base)

Metric Value
Wall time 50.0s
Peak memory 1.7 GiB
Avg memory 1.2 GiB
CPU user 189.0s
CPU sys 4.8s
Peak spill 0 B

tpcds — branch

Metric Value
Wall time 50.0s
Peak memory 2.1 GiB
Avg memory 1.5 GiB
CPU user 181.5s
CPU sys 4.8s
Peak spill 0 B

File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark completed (GKE) | trigger

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

Comparing 409c45d (409c45d) to a48c3cf diff

Run configuration
run benchmark clickbench_partitioned
env:
  DATAFUSION_EXECUTION_PARQUET_ENABLE_RLE_TO_DICTIONARY: "true"
  DATAFUSION_RUNTIME_MEMORY_LIMIT: "32G"
baseline:
  ref: "a48c3cf5aa944823e58f683839253a3aef96193b"
changed:
  ref: "409c45d9576334f69cab2c09fa70d68ff64db1e3"
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  │    10.92 ms │                                   10.93 ms │     no change │
│ QQuery 2  │    35.83 ms │                                   36.09 ms │     no change │
│ QQuery 3  │    30.64 ms │                                   30.97 ms │     no change │
│ QQuery 4  │   237.11 ms │                                  230.12 ms │     no change │
│ QQuery 5  │  1474.90 ms │                                 1382.40 ms │ +1.07x faster │
│ QQuery 6  │     1.17 ms │                                    1.20 ms │     no change │
│ QQuery 7  │    12.01 ms │                                   12.10 ms │     no change │
│ QQuery 8  │   334.44 ms │                                  338.41 ms │     no change │
│ QQuery 9  │   469.74 ms │                                  470.26 ms │     no change │
│ QQuery 10 │   198.78 ms │                                  198.26 ms │     no change │
│ QQuery 11 │   208.54 ms │                                  209.25 ms │     no change │
│ QQuery 12 │  1500.69 ms │                                 1419.32 ms │ +1.06x faster │
│ QQuery 13 │  2106.04 ms │                                 1920.31 ms │ +1.10x faster │
│ QQuery 14 │  1623.76 ms │                                 1604.42 ms │     no change │
│ QQuery 15 │   287.03 ms │                                  289.92 ms │     no change │
│ QQuery 16 │  3697.08 ms │                                 3563.55 ms │     no change │
│ QQuery 17 │  3669.16 ms │                                 3695.73 ms │     no change │
│ QQuery 18 │  6716.46 ms │                                 6676.22 ms │     no change │
│ QQuery 19 │    26.31 ms │                                   26.45 ms │     no change │
│ QQuery 20 │  1038.92 ms │                                 1041.46 ms │     no change │
│ QQuery 21 │  1359.12 ms │                                 1356.21 ms │     no change │
│ QQuery 22 │  3205.19 ms │                                 3213.59 ms │     no change │
│ QQuery 23 │  9176.65 ms │                                 9160.58 ms │     no change │
│ QQuery 24 │    93.87 ms │                                   94.75 ms │     no change │
│ QQuery 25 │   351.24 ms │                                  351.90 ms │     no change │
│ QQuery 26 │    95.87 ms │                                   95.58 ms │     no change │
│ QQuery 27 │  1135.25 ms │                                 1131.08 ms │     no change │
│ QQuery 28 │  2775.40 ms │                                 2710.14 ms │     no change │
│ QQuery 29 │    39.30 ms │                                   39.09 ms │     no change │
│ QQuery 30 │   535.76 ms │                                  541.82 ms │     no change │
│ QQuery 31 │   537.82 ms │                                  536.29 ms │     no change │
│ QQuery 32 │  1045.22 ms │                                 1076.65 ms │     no change │
│ QQuery 33 │ 13533.85 ms │                                13926.10 ms │     no change │
│ QQuery 34 │ 14084.78 ms │                                13275.68 ms │ +1.06x faster │
│ QQuery 35 │   296.11 ms │                                  287.82 ms │     no change │
│ QQuery 36 │   165.90 ms │                                  154.95 ms │ +1.07x faster │
│ QQuery 37 │    96.36 ms │                                   94.66 ms │     no change │
│ QQuery 38 │    79.04 ms │                                   76.92 ms │     no change │
│ QQuery 39 │   390.85 ms │                                  363.49 ms │ +1.08x faster │
│ QQuery 40 │    13.99 ms │                                   14.01 ms │     no change │
│ QQuery 41 │    13.01 ms │                                   13.28 ms │     no change │
│ QQuery 42 │    12.42 ms │                                   12.60 ms │     no change │
└───────────┴─────────────┴────────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                                         ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                                         │ 72717.66ms │
│ Total Time (rich-T-kid_aggregate-dictionary-hash-cache)   │ 71685.71ms │
│ Average Time (HEAD)                                       │  1691.11ms │
│ Average Time (rich-T-kid_aggregate-dictionary-hash-cache) │  1667.11ms │
│ Queries Faster                                            │          6 │
│ Queries Slower                                            │          0 │
│ Queries with No Change                                    │         37 │
│ 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.08 ±5.84 / 15.76 ms │               1.15 / 4.23 ±6.01 / 16.25 ms │     no change │
│ QQuery 1  │             10.92 / 11.07 ±0.10 / 11.21 ms │             10.93 / 11.05 ±0.09 / 11.13 ms │     no change │
│ QQuery 2  │             35.83 / 36.35 ±0.35 / 36.74 ms │             36.09 / 36.63 ±0.44 / 37.27 ms │     no change │
│ QQuery 3  │             30.64 / 31.65 ±0.97 / 33.11 ms │             30.97 / 31.13 ±0.18 / 31.49 ms │     no change │
│ QQuery 4  │          237.11 / 238.81 ±1.75 / 242.14 ms │          230.12 / 235.16 ±2.89 / 238.62 ms │     no change │
│ QQuery 5  │      1474.90 / 1508.44 ±47.81 / 1602.09 ms │      1382.40 / 1428.34 ±38.32 / 1485.41 ms │ +1.06x faster │
│ QQuery 6  │                1.17 / 1.33 ±0.25 / 1.83 ms │                1.20 / 1.35 ±0.24 / 1.83 ms │     no change │
│ QQuery 7  │             12.01 / 12.16 ±0.10 / 12.29 ms │             12.10 / 12.21 ±0.06 / 12.27 ms │     no change │
│ QQuery 8  │          334.44 / 337.17 ±2.15 / 340.38 ms │          338.41 / 346.33 ±8.98 / 358.55 ms │     no change │
│ QQuery 9  │          469.74 / 480.18 ±8.10 / 492.19 ms │          470.26 / 483.30 ±7.21 / 491.85 ms │     no change │
│ QQuery 10 │          198.78 / 199.41 ±0.59 / 200.26 ms │          198.26 / 201.76 ±3.60 / 206.85 ms │     no change │
│ QQuery 11 │          208.54 / 210.98 ±2.39 / 215.08 ms │          209.25 / 209.84 ±0.35 / 210.35 ms │     no change │
│ QQuery 12 │      1500.69 / 1533.79 ±25.33 / 1571.04 ms │      1419.32 / 1458.18 ±44.86 / 1544.16 ms │     no change │
│ QQuery 13 │     2106.04 / 2479.57 ±325.52 / 2857.84 ms │     1920.31 / 2112.17 ±156.41 / 2315.28 ms │ +1.17x faster │
│ QQuery 14 │      1623.76 / 1667.78 ±25.07 / 1692.86 ms │      1604.42 / 1653.36 ±45.15 / 1729.52 ms │     no change │
│ QQuery 15 │          287.03 / 297.44 ±8.44 / 311.54 ms │         289.92 / 303.18 ±11.31 / 321.27 ms │     no change │
│ QQuery 16 │      3697.08 / 3757.01 ±69.59 / 3845.58 ms │     3563.55 / 3764.73 ±111.52 / 3894.69 ms │     no change │
│ QQuery 17 │     3669.16 / 3803.31 ±103.45 / 3915.10 ms │      3695.73 / 3792.30 ±82.03 / 3911.32 ms │     no change │
│ QQuery 18 │     6716.46 / 7096.04 ±306.68 / 7638.98 ms │     6676.22 / 6921.36 ±179.95 / 7177.18 ms │     no change │
│ QQuery 19 │            26.31 / 33.41 ±13.01 / 59.41 ms │             26.45 / 29.59 ±5.34 / 40.22 ms │ +1.13x faster │
│ QQuery 20 │      1038.92 / 1052.92 ±11.22 / 1072.01 ms │      1041.46 / 1049.82 ±11.23 / 1072.03 ms │     no change │
│ QQuery 21 │       1359.12 / 1368.45 ±7.87 / 1379.94 ms │       1356.21 / 1360.82 ±4.38 / 1366.08 ms │     no change │
│ QQuery 22 │      3205.19 / 3240.30 ±38.77 / 3315.79 ms │      3213.59 / 3242.55 ±29.62 / 3297.58 ms │     no change │
│ QQuery 23 │     9176.65 / 9317.51 ±118.55 / 9533.93 ms │     9160.58 / 9284.44 ±133.49 / 9512.82 ms │     no change │
│ QQuery 24 │          93.87 / 130.11 ±68.19 / 266.47 ms │          94.75 / 127.59 ±29.50 / 165.75 ms │     no change │
│ QQuery 25 │         351.24 / 367.30 ±29.45 / 426.13 ms │          351.90 / 357.47 ±9.38 / 376.17 ms │     no change │
│ QQuery 26 │            95.87 / 97.53 ±1.90 / 101.15 ms │             95.58 / 96.94 ±1.51 / 99.84 ms │     no change │
│ QQuery 27 │       1135.25 / 1143.16 ±5.78 / 1149.82 ms │       1131.08 / 1141.05 ±8.60 / 1155.39 ms │     no change │
│ QQuery 28 │      2775.40 / 2852.05 ±89.32 / 3011.53 ms │      2710.14 / 2758.13 ±58.04 / 2871.39 ms │     no change │
│ QQuery 29 │           39.30 / 69.20 ±30.38 / 109.59 ms │            39.09 / 45.63 ±10.68 / 66.65 ms │ +1.52x faster │
│ QQuery 30 │          535.76 / 547.02 ±8.94 / 561.53 ms │          541.82 / 545.71 ±4.78 / 555.07 ms │     no change │
│ QQuery 31 │         537.82 / 547.92 ±12.29 / 570.01 ms │          536.29 / 550.73 ±7.68 / 559.39 ms │     no change │
│ QQuery 32 │      1045.22 / 1125.06 ±74.76 / 1223.46 ms │      1076.65 / 1116.08 ±30.12 / 1156.64 ms │     no change │
│ QQuery 33 │  13533.85 / 14249.13 ±451.36 / 14846.54 ms │  13926.10 / 14458.31 ±484.15 / 15212.14 ms │     no change │
│ QQuery 34 │ 14084.78 / 17159.12 ±5689.48 / 28528.30 ms │  13275.68 / 14023.42 ±379.69 / 14269.50 ms │ +1.22x faster │
│ QQuery 35 │         296.11 / 376.92 ±90.16 / 538.98 ms │         287.82 / 349.50 ±87.54 / 521.83 ms │ +1.08x faster │
│ QQuery 36 │         165.90 / 181.20 ±15.26 / 207.82 ms │         154.95 / 167.39 ±10.04 / 180.62 ms │ +1.08x faster │
│ QQuery 37 │           96.36 / 101.20 ±4.59 / 108.98 ms │           94.66 / 100.57 ±3.37 / 104.27 ms │     no change │
│ QQuery 38 │             79.04 / 83.54 ±6.46 / 96.27 ms │             76.92 / 81.59 ±2.76 / 84.65 ms │     no change │
│ QQuery 39 │          390.85 / 399.93 ±7.19 / 412.90 ms │         363.49 / 390.59 ±17.64 / 411.89 ms │     no change │
│ QQuery 40 │             13.99 / 15.66 ±1.58 / 18.56 ms │             14.01 / 14.99 ±1.49 / 17.93 ms │     no change │
│ QQuery 41 │             13.01 / 13.31 ±0.20 / 13.53 ms │             13.28 / 13.59 ±0.25 / 13.94 ms │     no change │
│ QQuery 42 │            12.42 / 18.11 ±10.57 / 39.25 ms │             12.60 / 12.84 ±0.16 / 13.00 ms │ +1.41x faster │
└───────────┴────────────────────────────────────────────┴────────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                                         ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                                         │ 78196.64ms │
│ Total Time (rich-T-kid_aggregate-dictionary-hash-cache)   │ 74325.96ms │
│ Average Time (HEAD)                                       │  1818.53ms │
│ Average Time (rich-T-kid_aggregate-dictionary-hash-cache) │  1728.51ms │
│ Queries Faster                                            │          8 │
│ Queries Slower                                            │          0 │
│ 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: a48c3cf5aa944823e58f683839253a3aef96193b | Changed: 409c45d9576334f69cab2c09fa70d68ff64db1e3

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 845.8 MiB 848.4 MiB +0.3%
Query 5 1.4 GiB 1.4 GiB -6.6%
Query 6 0 B 0 B 0.0%
Query 7 40.0 MiB 40.3 MiB +0.6%
Query 8 947.3 MiB 945.9 MiB -0.1%
Query 9 594.0 MiB 636.2 MiB +7.1%
Query 10 72.7 MiB 71.4 MiB -1.9%
Query 11 76.4 MiB 77.2 MiB +1.0%
Query 12 1.6 GiB 1.5 GiB -6.8%
Query 13 2.1 GiB 1.7 GiB -17.5%
Query 14 1.9 GiB 1.9 GiB -0.0%
Query 15 1.2 GiB 1.2 GiB +5.8%
Query 16 3.3 GiB 3.4 GiB +3.1%
Query 17 3.3 GiB 3.3 GiB +1.5%
Query 18 7.0 GiB 7.2 GiB +3.1%
Query 19 0 B 0 B 0.0%
Query 20 104 B 104 B +0.0%
Query 21 1.4 MiB 1.4 MiB -0.1%
Query 22 2.6 MiB 2.2 MiB -15.4%
Query 23 13.0 MiB 12.4 MiB -4.5%
Query 24 6.3 MiB 6.4 MiB +1.6%
Query 25 8.1 MiB 8.1 MiB +0.0%
Query 26 7.9 MiB 7.8 MiB -1.4%
Query 27 2.7 MiB 2.5 MiB -7.1%
Query 28 2.0 GiB 2.0 GiB +1.3%
Query 29 624 B 624 B +0.0%
Query 30 646.5 MiB 623.3 MiB -3.6%
Query 31 1.5 GiB 1.5 GiB -1.4%
Query 32 7.1 GiB 7.2 GiB +0.4%
Query 33 12.7 GiB 12.7 GiB +0.3%
Query 34 12.7 GiB 12.7 GiB +0.2%
Query 35 674.7 MiB 668.8 MiB -0.9%
Query 36 474.1 MiB 468.9 MiB -1.1%
Query 37 8.4 MiB 8.1 MiB -2.5%
Query 38 5.3 MiB 5.6 MiB +6.6%
Query 39 460.4 MiB 478.9 MiB +4.0%
Query 40 2.5 MiB 2.3 MiB -8.3%
Query 41 3.1 MiB 3.1 MiB -0.0%
Query 42 1.7 MiB 1.7 MiB +2.3%

Pool accounting vs. process RSS

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

Benchmark Side Max pool peak Peak RSS Gap RSS / pool
clickbench_partitioned base (a48c3cf5aa944823e58f683839253a3aef96193b) 12.7 GiB 15.4 GiB 2.7 GiB 1.2×
clickbench_partitioned changed (409c45d9576334f69cab2c09fa70d68ff64db1e3) 12.7 GiB 13.2 GiB 490.7 MiB 1.0×
Resource Usage

clickbench_partitioned — base (merge-base)

Metric Value
Wall time 395.1s
Peak memory 15.4 GiB
Avg memory 6.5 GiB
CPU user 3296.1s
CPU sys 217.0s
Peak spill 12.8 GiB

clickbench_partitioned — branch

Metric Value
Wall time 375.1s
Peak memory 13.2 GiB
Avg memory 5.9 GiB
CPU user 3209.3s
CPU sys 196.2s
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