Skip to content

bench: isolate continuous partial flushing against main - #26098

Draft
Rachelint wants to merge 9 commits into
apache:mainfrom
Rachelint:codex/partial-flush-controls
Draft

Rachelint wants to merge 9 commits into
apache:mainfrom
Rachelint:codex/partial-flush-controls

Conversation

@Rachelint

@Rachelint Rachelint commented Oct 7, 2026 •

Copy link
Copy Markdown
Contributor

Which issue does this PR close?

None. Benchmark-only experiment based on #26097 (85b64a74cec1eab1e5a590234cd242fa0ece843d).

Rationale for this change

Compare continuous Partial flushing with ordinary Final aggregation against main, and expose independent switches for follow-up experiments.

What changes are included in this PR?

  • Revert the fixed-width-only eligibility change (88d36d4d) so string keys and string state are eligible again; preserve the original nested-state exclusions.
  • Use only the 2 MiB allocated-byte threshold for Partial flushing; remove the group-count trigger. The configured group-count threshold still controls Final buckets, and zero still disables the experiment.
  • Add three experimental execution options, all defaulting to true: hash_aggregate_bucket_compaction, hash_aggregate_detect_repeated_groups, and hash_aggregate_final_buckets.
  • Disabling recurrence detection bypasses emitted-key hashing/sampling and keeps threshold flushing active. Disabling Final buckets leaves Partial flushing enabled.
  • No StringView allocation reuse, payload reserve, or column-wise scatter changes from perf: route final aggregate buckets by column #25959 are included.

Requested comparison: all three switches false, hash_aggregate_bucket_threshold=262144, against main at 7f0ab426eb84a967a93c42ee0bd6e928e49adeb6. Existing skip-partial aggregation remains enabled. Main uses its ordinary behavior. This compares the full experiment with main, not just the incremental switch diff.

What is the testing strategy for this PR?

The byte-only follow-up passed cargo check -p datafusion-physical-plan, workspace format checks, full all-target/all-feature clippy with -D warnings, configuration documentation generation/format checks, and aggregate_bucketed.slt plus information_schema.slt. The aggregation test explicitly checks that exceeding a small group-count threshold does not flush a Partial table below 2 MiB.

The following original validation and timing results apply to fe0866a91, before removing the group-count trigger:

Added SQLLogicTest coverage for integer, long StringView, and mixed keys with all three switches disabled, plus Final buckets enabled with compaction disabled. Updated configuration documentation and information_schema fixtures.

  • cargo fmt --all and format check: passed.
  • cargo clippy --all-targets --all-features -- -D warnings: passed.
  • Configuration docs regenerated; ./ci/scripts/doc_prettier_check.sh --write --allow-dirty: passed.
  • Required workspace extended tests: passed (12,382 Rust tests and 527 SQLLogicTest files).
  • ECS runtime source hashes match the three modified Rust source files.

ECS comparison: Rust 1.99.0, release-nonlto, 12 partitions on CPUs 0-11, batch size 8192, 99,997,497 partitioned input rows. Two reverse-order rounds; four iterations per cell, first excluded (six warm samples per variant). Unmodified benchmark runner, entire-query wall-time medians:

Query main (ms) Candidate (ms) Change
Q10 106.80 110.82 +3.76%
Q11 123.25 127.66 +3.58%
Q12 404.42 390.75 -3.38%
Q31 460.88 456.69 -0.91%
Q32 1776.68 1790.72 +0.79%
Q33 2286.17 2016.63 -11.79%
Q34 2277.13 2048.87 -10.02%
Q35 419.98 354.63 -15.56%

Q33/Q34/Q35 gains repeat in both orders. Q10/Q11 regress slightly; Q31/Q32 remain near flat. The benchmark checks success and output row counts; SQLLogicTest provides value-level correctness coverage. These results compare the full experiment against the pinned current main; they do not isolate unrelated changes between the parent PR base and main.

Byte-only follow-up (3ce7f0174): same ECS setup, all three switches false, two reverse-order rounds with six warm samples per variant. Compare the parent with the byte-only change and the pinned main in the same run.

Query main (ms) Parent (ms) Byte-only (ms) vs parent vs main
Q32 1798.58 1801.89 1791.15 -0.60% -0.41%
Q33 2296.13 2051.36 2061.99 +0.52% -10.20%
Q34 2280.47 2081.10 2035.57 -2.19% -10.74%
Q35 420.62 355.16 359.80 +1.31% -14.46%

Are there any user-facing changes?

Three experimental configuration switches. The parent feature is disabled by default (hash_aggregate_bucket_threshold=0). This PR is an experimental benchmark vehicle, not intended for merge.

@github-actions github-actions Bot added documentation Improvements or additions to documentation sqllogictest SQL Logic Tests (.slt) labels Oct 7, 2026
@Rachelint

Copy link
Copy Markdown
Contributor Author

run benchmark clickbench_partitioned

baseline:
ref: 7f0ab42
env:
DATAFUSION_EXECUTION_HASH_AGGREGATE_BUCKET_THRESHOLD: "262144"
DATAFUSION_EXECUTION_HASH_AGGREGATE_BUCKET_COMPACTION: "false"
DATAFUSION_EXECUTION_HASH_AGGREGATE_DETECT_REPEATED_GROUPS: "false"
DATAFUSION_EXECUTION_HASH_AGGREGATE_FINAL_BUCKETS: "false"

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

github-actions Bot commented Oct 7, 2026 •

Copy link
Copy Markdown

Thank you for opening this pull request!

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

Details
     Cloning apache/main
    Building datafusion-common v55.1.0 (current)
       Built [  37.230s] (current)
     Parsing datafusion-common v55.1.0 (current)
      Parsed [   0.063s] (current)
    Building datafusion-common v55.1.0 (baseline)
       Built [  33.764s] (baseline)
     Parsing datafusion-common v55.1.0 (baseline)
      Parsed [   0.065s] (baseline)
    Checking datafusion-common v55.1.0 -> v55.1.0 (no change; assume patch)
     Checked [   0.737s] 223 checks: 222 pass, 1 fail, 0 warn, 31 skip

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

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

Failed in:
  field ExecutionOptions.hash_aggregate_bucket_threshold in /home/runner/work/datafusion/datafusion/datafusion/common/src/config.rs:897
  field ExecutionOptions.hash_aggregate_bucket_compaction in /home/runner/work/datafusion/datafusion/datafusion/common/src/config.rs:897
  field ExecutionOptions.hash_aggregate_detect_repeated_groups in /home/runner/work/datafusion/datafusion/datafusion/common/src/config.rs:897
  field ExecutionOptions.hash_aggregate_final_buckets in /home/runner/work/datafusion/datafusion/datafusion/common/src/config.rs:897

     Summary semver requires new major version: 1 major and 0 minor checks failed
    Finished [  73.412s] datafusion-common
    Building datafusion-physical-plan v55.1.0 (current)
       Built [  38.129s] (current)
     Parsing datafusion-physical-plan v55.1.0 (current)
      Parsed [   0.180s] (current)
    Building datafusion-physical-plan v55.1.0 (baseline)
       Built [  37.239s] (baseline)
     Parsing datafusion-physical-plan v55.1.0 (baseline)
      Parsed [   0.178s] (baseline)
    Checking datafusion-physical-plan v55.1.0 -> v55.1.0 (no change; assume patch)
     Checked [   0.624s] 223 checks: 223 pass, 31 skip
     Summary no semver update required
    Finished [  77.626s] datafusion-physical-plan
    Building datafusion-sqllogictest v55.1.0 (current)
       Built [  94.430s] (current)
     Parsing datafusion-sqllogictest v55.1.0 (current)
      Parsed [   0.015s] (current)
    Building datafusion-sqllogictest v55.1.0 (baseline)
       Built [  92.451s] (baseline)
     Parsing datafusion-sqllogictest v55.1.0 (baseline)
      Parsed [   0.016s] (baseline)
    Checking datafusion-sqllogictest v55.1.0 -> v55.1.0 (no change; assume patch)
     Checked [   0.107s] 223 checks: 223 pass, 31 skip
     Summary no semver update required
    Finished [ 189.504s] datafusion-sqllogictest

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

Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highcpu-48 (12 vCPU / 65 GiB) | Linux bench-c6031351170-3108-qg2hl 6.12.94+ #1 SMP Fri Aug 21 08:00:16 UTC 2026 aarch64 GNU/Linux

CPU Details (lscpu)
Architecture:                            aarch64
CPU op-mode(s):                          64-bit
Byte Order:                              Little Endian
CPU(s):                                  48
On-line CPU(s) list:                     0-47
Vendor ID:                               ARM
Model name:                              Neoverse-V2
Model:                                   1
Thread(s) per core:                      1
Core(s) per cluster:                     48
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:                               3 MiB (48 instances)
L1i cache:                               3 MiB (48 instances)
L2 cache:                                96 MiB (48 instances)
L3 cache:                                80 MiB (1 instance)
NUMA node(s):                            1
NUMA node0 CPU(s):                       0-47
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 codex/partial-flush-controls (fe0866a) to 7f0ab42 diff

Run configuration
run benchmark clickbench_partitioned
env:
  DATAFUSION_EXECUTION_HASH_AGGREGATE_BUCKET_COMPACTION: "false"
  DATAFUSION_EXECUTION_HASH_AGGREGATE_BUCKET_THRESHOLD: "262144"
  DATAFUSION_EXECUTION_HASH_AGGREGATE_DETECT_REPEATED_GROUPS: "false"
  DATAFUSION_EXECUTION_HASH_AGGREGATE_FINAL_BUCKETS: "false"
baseline:
  ref: "7f0ab426eb84a967a93c42ee0bd6e928e49adeb6"

Results will be posted here when complete


File an issue against this benchmark runner

@codecov-commenter

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 88.65385% with 118 lines in your changes missing coverage. Please review.
✅ Project coverage is 82.73%. Comparing base (22a0fdb) to head (fe0866a).
⚠️ Report is 46 commits behind head on main.

Files with missing lines Patch % Lines
...fusion/physical-plan/src/aggregates/hash_stream.rs 90.04% 9 Missing and 35 partials ⚠️
...sion/physical-plan/src/aggregates/final_buckets.rs 86.69% 8 Missing and 29 partials ⚠️
...ysical-plan/src/aggregates/bucketed_aggregation.rs 85.33% 10 Missing and 23 partials ⚠️
...src/aggregates/aggregate_hash_table/final_table.rs 90.00% 3 Missing ⚠️
...plan/src/aggregates/aggregate_hash_table/common.rs 98.33% 0 Missing and 1 partial ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main   #26098      +/-   ##
==========================================
+ Coverage   82.64%   82.73%   +0.09%     
==========================================
  Files        1147     1149       +2     
  Lines      445440   450009    +4569     
  Branches   445440   450009    +4569     
==========================================
+ Hits       368123   372333    +4210     
+ Misses      54970    54948      -22     
- Partials    22347    22728     +381     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@Rachelint

Copy link
Copy Markdown
Contributor Author

run benchmark clickbench_partitioned

baseline:
ref: 7f0ab42
env:
DATAFUSION_EXECUTION_HASH_AGGREGATE_BUCKET_THRESHOLD: "262144"
DATAFUSION_EXECUTION_HASH_AGGREGATE_BUCKET_COMPACTION: "false"
DATAFUSION_EXECUTION_HASH_AGGREGATE_DETECT_REPEATED_GROUPS: "false"
DATAFUSION_EXECUTION_HASH_AGGREGATE_FINAL_BUCKETS: "true"

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark completed (GKE) | trigger

Instance: c4a-highcpu-48 (12 vCPU / 65 GiB)

Comparing codex/partial-flush-controls (fe0866a) to 7f0ab42 diff

Run configuration
run benchmark clickbench_partitioned
env:
  DATAFUSION_EXECUTION_HASH_AGGREGATE_BUCKET_COMPACTION: "false"
  DATAFUSION_EXECUTION_HASH_AGGREGATE_BUCKET_THRESHOLD: "262144"
  DATAFUSION_EXECUTION_HASH_AGGREGATE_DETECT_REPEATED_GROUPS: "false"
  DATAFUSION_EXECUTION_HASH_AGGREGATE_FINAL_BUCKETS: "false"
baseline:
  ref: "7f0ab426eb84a967a93c42ee0bd6e928e49adeb6"
CPU Details (lscpu)
Architecture:                            aarch64
CPU op-mode(s):                          64-bit
Byte Order:                              Little Endian
CPU(s):                                  48
On-line CPU(s) list:                     0-47
Vendor ID:                               ARM
Model name:                              Neoverse-V2
Model:                                   1
Thread(s) per core:                      1
Core(s) per cluster:                     48
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:                               3 MiB (48 instances)
L1i cache:                               3 MiB (48 instances)
L2 cache:                                96 MiB (48 instances)
L3 cache:                                80 MiB (1 instance)
NUMA node(s):                            1
NUMA node0 CPU(s):                       0-47
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 codex_partial-flush-controls
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃       HEAD ┃ codex_partial-flush-controls ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0  │    1.21 ms │                      1.24 ms │     no change │
│ QQuery 1  │   11.58 ms │                     11.64 ms │     no change │
│ QQuery 2  │   36.42 ms │                     36.26 ms │     no change │
│ QQuery 3  │   30.61 ms │                     30.87 ms │     no change │
│ QQuery 4  │  230.44 ms │                    218.76 ms │ +1.05x faster │
│ QQuery 5  │  270.55 ms │                    272.70 ms │     no change │
│ QQuery 6  │    1.27 ms │                      1.28 ms │     no change │
│ QQuery 7  │   12.58 ms │                     12.64 ms │     no change │
│ QQuery 8  │  324.38 ms │                    314.48 ms │     no change │
│ QQuery 9  │  458.71 ms │                    464.69 ms │     no change │
│ QQuery 10 │   62.82 ms │                     63.66 ms │     no change │
│ QQuery 11 │   73.18 ms │                     75.00 ms │     no change │
│ QQuery 12 │  255.78 ms │                    259.35 ms │     no change │
│ QQuery 13 │  353.64 ms │                    354.30 ms │     no change │
│ QQuery 14 │  278.07 ms │                    269.41 ms │     no change │
│ QQuery 15 │  275.78 ms │                    253.99 ms │ +1.09x faster │
│ QQuery 16 │  612.06 ms │                    567.58 ms │ +1.08x faster │
│ QQuery 17 │  616.25 ms │                    568.66 ms │ +1.08x faster │
│ QQuery 18 │ 1256.26 ms │                   1060.54 ms │ +1.18x faster │
│ QQuery 19 │   26.79 ms │                     26.78 ms │     no change │
│ QQuery 20 │  514.17 ms │                    513.87 ms │     no change │
│ QQuery 21 │  505.37 ms │                    504.38 ms │     no change │
│ QQuery 22 │  993.89 ms │                    989.67 ms │     no change │
│ QQuery 23 │ 3113.99 ms │                   3034.33 ms │     no change │
│ QQuery 24 │   39.84 ms │                     40.00 ms │     no change │
│ QQuery 25 │  104.34 ms │                    103.28 ms │     no change │
│ QQuery 26 │   40.29 ms │                     40.81 ms │     no change │
│ QQuery 27 │  505.17 ms │                    508.66 ms │     no change │
│ QQuery 28 │ 2865.29 ms │                   2854.09 ms │     no change │
│ QQuery 29 │   38.69 ms │                     38.76 ms │     no change │
│ QQuery 30 │  302.34 ms │                    286.32 ms │ +1.06x faster │
│ QQuery 31 │  282.35 ms │                    280.04 ms │     no change │
│ QQuery 32 │ 1111.65 ms │                   1077.42 ms │     no change │
│ QQuery 33 │ 1538.73 ms │                   1382.94 ms │ +1.11x faster │
│ QQuery 34 │ 1558.35 ms │                   1380.60 ms │ +1.13x faster │
│ QQuery 35 │  307.92 ms │                    252.11 ms │ +1.22x faster │
│ QQuery 36 │   70.05 ms │                     62.71 ms │ +1.12x faster │
│ QQuery 37 │   35.46 ms │                     34.42 ms │     no change │
│ QQuery 38 │   42.30 ms │                     39.98 ms │ +1.06x faster │
│ QQuery 39 │  156.16 ms │                    138.25 ms │ +1.13x faster │
│ QQuery 40 │   13.80 ms │                     13.78 ms │     no change │
│ QQuery 41 │   13.25 ms │                     12.95 ms │     no change │
│ QQuery 42 │   12.90 ms │                     12.91 ms │     no change │
└───────────┴────────────┴──────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                           ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                           │ 19354.69ms │
│ Total Time (codex_partial-flush-controls)   │ 18466.10ms │
│ Average Time (HEAD)                         │   450.11ms │
│ Average Time (codex_partial-flush-controls) │   429.44ms │
│ Queries Faster                              │         12 │
│ Queries Slower                              │          0 │
│ Queries with No Change                      │         31 │
│ Queries with Failure                        │          0 │
└─────────────────────────────────────────────┴────────────┘

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

Comparing HEAD and codex_partial-flush-controls
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                   HEAD ┃           codex_partial-flush-controls ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0  │           1.21 / 3.91 ±5.34 / 14.58 ms │           1.24 / 4.01 ±5.47 / 14.94 ms │     no change │
│ QQuery 1  │         11.58 / 11.68 ±0.08 / 11.77 ms │         11.64 / 11.73 ±0.09 / 11.88 ms │     no change │
│ QQuery 2  │         36.42 / 36.73 ±0.28 / 37.10 ms │         36.26 / 36.57 ±0.16 / 36.69 ms │     no change │
│ QQuery 3  │         30.61 / 30.99 ±0.56 / 32.10 ms │         30.87 / 31.07 ±0.13 / 31.21 ms │     no change │
│ QQuery 4  │      230.44 / 233.59 ±2.41 / 236.71 ms │      218.76 / 223.81 ±3.48 / 228.94 ms │     no change │
│ QQuery 5  │      270.55 / 273.31 ±1.76 / 276.11 ms │      272.70 / 279.57 ±6.52 / 291.80 ms │     no change │
│ QQuery 6  │            1.27 / 1.40 ±0.20 / 1.79 ms │            1.28 / 1.42 ±0.23 / 1.87 ms │     no change │
│ QQuery 7  │         12.58 / 12.76 ±0.13 / 12.97 ms │         12.64 / 12.77 ±0.08 / 12.87 ms │     no change │
│ QQuery 8  │      324.38 / 329.99 ±3.25 / 334.23 ms │      314.48 / 317.98 ±4.07 / 325.78 ms │     no change │
│ QQuery 9  │     458.71 / 474.42 ±11.61 / 490.28 ms │      464.69 / 469.09 ±4.27 / 476.68 ms │     no change │
│ QQuery 10 │         62.82 / 63.46 ±0.64 / 64.29 ms │         63.66 / 68.99 ±8.49 / 85.92 ms │  1.09x slower │
│ QQuery 11 │         73.18 / 76.70 ±5.54 / 87.70 ms │         75.00 / 76.80 ±1.56 / 78.69 ms │     no change │
│ QQuery 12 │      255.78 / 261.97 ±3.50 / 266.26 ms │      259.35 / 261.13 ±1.47 / 262.93 ms │     no change │
│ QQuery 13 │      353.64 / 362.46 ±6.78 / 373.92 ms │      354.30 / 358.59 ±3.26 / 363.97 ms │     no change │
│ QQuery 14 │     278.07 / 286.50 ±14.02 / 314.43 ms │      269.41 / 281.46 ±8.66 / 291.11 ms │     no change │
│ QQuery 15 │      275.78 / 284.90 ±5.25 / 290.99 ms │      253.99 / 254.86 ±0.80 / 256.00 ms │ +1.12x faster │
│ QQuery 16 │      612.06 / 621.51 ±9.43 / 639.51 ms │      567.58 / 574.81 ±9.47 / 593.29 ms │ +1.08x faster │
│ QQuery 17 │      616.25 / 625.09 ±7.05 / 635.21 ms │      568.66 / 576.18 ±6.06 / 583.05 ms │ +1.08x faster │
│ QQuery 18 │   1256.26 / 1269.35 ±9.01 / 1280.07 ms │   1060.54 / 1071.11 ±8.09 / 1084.80 ms │ +1.19x faster │
│ QQuery 19 │         26.79 / 28.91 ±3.74 / 36.38 ms │         26.78 / 27.03 ±0.18 / 27.32 ms │ +1.07x faster │
│ QQuery 20 │     514.17 / 522.33 ±12.11 / 546.31 ms │     513.87 / 526.04 ±15.88 / 556.47 ms │     no change │
│ QQuery 21 │     505.37 / 524.21 ±14.48 / 550.17 ms │      504.38 / 508.47 ±3.91 / 514.72 ms │     no change │
│ QQuery 22 │   993.89 / 1041.69 ±45.01 / 1117.23 ms │      989.67 / 992.26 ±1.49 / 993.73 ms │     no change │
│ QQuery 23 │ 3113.99 / 3207.69 ±121.59 / 3445.15 ms │ 3034.33 / 3256.28 ±188.28 / 3508.41 ms │     no change │
│ QQuery 24 │       39.84 / 66.21 ±51.92 / 170.05 ms │         40.00 / 43.05 ±4.23 / 51.34 ms │ +1.54x faster │
│ QQuery 25 │     104.34 / 186.95 ±98.24 / 309.61 ms │    103.28 / 193.89 ±109.84 / 357.04 ms │     no change │
│ QQuery 26 │         40.29 / 41.30 ±1.68 / 44.65 ms │         40.81 / 41.67 ±0.82 / 43.16 ms │     no change │
│ QQuery 27 │      505.17 / 513.99 ±9.24 / 530.57 ms │      508.66 / 517.40 ±6.20 / 527.81 ms │     no change │
│ QQuery 28 │  2865.29 / 2887.14 ±29.68 / 2944.92 ms │  2854.09 / 2875.05 ±13.17 / 2891.95 ms │     no change │
│ QQuery 29 │         38.69 / 39.03 ±0.27 / 39.38 ms │         38.76 / 39.15 ±0.35 / 39.77 ms │     no change │
│ QQuery 30 │      302.34 / 308.55 ±5.01 / 317.45 ms │      286.32 / 295.37 ±9.45 / 312.64 ms │     no change │
│ QQuery 31 │     282.35 / 299.98 ±24.10 / 347.66 ms │     280.04 / 293.57 ±10.16 / 307.21 ms │     no change │
│ QQuery 32 │ 1111.65 / 1225.20 ±161.35 / 1542.68 ms │ 1077.42 / 1249.77 ±118.54 / 1447.87 ms │     no change │
│ QQuery 33 │  1538.73 / 1593.76 ±29.14 / 1625.32 ms │  1382.94 / 1406.74 ±17.82 / 1424.04 ms │ +1.13x faster │
│ QQuery 34 │ 1558.35 / 1682.00 ±180.45 / 2038.75 ms │  1380.60 / 1423.30 ±48.02 / 1516.62 ms │ +1.18x faster │
│ QQuery 35 │     307.92 / 352.35 ±72.46 / 497.00 ms │     252.11 / 271.55 ±30.90 / 332.54 ms │ +1.30x faster │
│ QQuery 36 │         70.05 / 77.59 ±8.77 / 94.18 ms │         62.71 / 67.30 ±3.53 / 71.65 ms │ +1.15x faster │
│ QQuery 37 │         35.46 / 39.04 ±3.99 / 46.06 ms │         34.42 / 34.86 ±0.47 / 35.75 ms │ +1.12x faster │
│ QQuery 38 │         42.30 / 43.62 ±1.40 / 45.75 ms │         39.98 / 44.20 ±4.26 / 52.35 ms │     no change │
│ QQuery 39 │      156.16 / 160.12 ±3.26 / 165.42 ms │      138.25 / 143.02 ±4.08 / 148.25 ms │ +1.12x faster │
│ QQuery 40 │         13.80 / 14.18 ±0.31 / 14.57 ms │         13.78 / 13.95 ±0.21 / 14.34 ms │     no change │
│ QQuery 41 │         13.25 / 13.40 ±0.19 / 13.77 ms │         12.95 / 13.40 ±0.36 / 14.05 ms │     no change │
│ QQuery 42 │         12.90 / 13.88 ±1.70 / 17.28 ms │         12.91 / 15.34 ±4.37 / 24.07 ms │  1.11x slower │
└───────────┴────────────────────────────────────────┴────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                           ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                           │ 20143.88ms │
│ Total Time (codex_partial-flush-controls)   │ 19204.61ms │
│ Average Time (HEAD)                         │   468.46ms │
│ Average Time (codex_partial-flush-controls) │   446.62ms │
│ Queries Faster                              │         12 │
│ Queries Slower                              │          2 │
│ Queries with No Change                      │         29 │
│ Queries with Failure                        │          0 │
└─────────────────────────────────────────────┴────────────┘

Resource Usage

clickbench_partitioned — base (merge-base)

Metric Value
Wall time 105.0s
Peak memory 18.3 GiB
Avg memory 5.8 GiB
CPU user 990.1s
CPU sys 94.2s
Peak spill 0 B

clickbench_partitioned — branch

Metric Value
Wall time 100.0s
Peak memory 18.4 GiB
Avg memory 5.4 GiB
CPU user 947.2s
CPU sys 84.3s
Peak spill 0 B

File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highcpu-48 (12 vCPU / 65 GiB) | Linux bench-c6031699653-3110-ttzc8 6.12.94+ #1 SMP Fri Aug 21 08:00:16 UTC 2026 aarch64 GNU/Linux

CPU Details (lscpu)
Architecture:                            aarch64
CPU op-mode(s):                          64-bit
Byte Order:                              Little Endian
CPU(s):                                  48
On-line CPU(s) list:                     0-47
Vendor ID:                               ARM
Model name:                              Neoverse-V2
Model:                                   1
Thread(s) per core:                      1
Core(s) per cluster:                     48
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:                               3 MiB (48 instances)
L1i cache:                               3 MiB (48 instances)
L2 cache:                                96 MiB (48 instances)
L3 cache:                                80 MiB (1 instance)
NUMA node(s):                            1
NUMA node0 CPU(s):                       0-47
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 codex/partial-flush-controls (fe0866a) to 7f0ab42 diff

Run configuration
run benchmark clickbench_partitioned
env:
  DATAFUSION_EXECUTION_HASH_AGGREGATE_BUCKET_COMPACTION: "false"
  DATAFUSION_EXECUTION_HASH_AGGREGATE_BUCKET_THRESHOLD: "262144"
  DATAFUSION_EXECUTION_HASH_AGGREGATE_DETECT_REPEATED_GROUPS: "false"
  DATAFUSION_EXECUTION_HASH_AGGREGATE_FINAL_BUCKETS: "true"
baseline:
  ref: "7f0ab426eb84a967a93c42ee0bd6e928e49adeb6"

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-highcpu-48 (12 vCPU / 65 GiB)

Comparing codex/partial-flush-controls (fe0866a) to 7f0ab42 diff

Run configuration
run benchmark clickbench_partitioned
env:
  DATAFUSION_EXECUTION_HASH_AGGREGATE_BUCKET_COMPACTION: "false"
  DATAFUSION_EXECUTION_HASH_AGGREGATE_BUCKET_THRESHOLD: "262144"
  DATAFUSION_EXECUTION_HASH_AGGREGATE_DETECT_REPEATED_GROUPS: "false"
  DATAFUSION_EXECUTION_HASH_AGGREGATE_FINAL_BUCKETS: "true"
baseline:
  ref: "7f0ab426eb84a967a93c42ee0bd6e928e49adeb6"
CPU Details (lscpu)
Architecture:                            aarch64
CPU op-mode(s):                          64-bit
Byte Order:                              Little Endian
CPU(s):                                  48
On-line CPU(s) list:                     0-47
Vendor ID:                               ARM
Model name:                              Neoverse-V2
Model:                                   1
Thread(s) per core:                      1
Core(s) per cluster:                     48
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:                               3 MiB (48 instances)
L1i cache:                               3 MiB (48 instances)
L2 cache:                                96 MiB (48 instances)
L3 cache:                                80 MiB (1 instance)
NUMA node(s):                            1
NUMA node0 CPU(s):                       0-47
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 codex_partial-flush-controls
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃       HEAD ┃ codex_partial-flush-controls ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0  │    1.21 ms │                      1.25 ms │     no change │
│ QQuery 1  │   11.74 ms │                     11.56 ms │     no change │
│ QQuery 2  │   36.56 ms │                     36.51 ms │     no change │
│ QQuery 3  │   30.86 ms │                     31.10 ms │     no change │
│ QQuery 4  │  231.75 ms │                    163.65 ms │ +1.42x faster │
│ QQuery 5  │  267.84 ms │                    258.91 ms │     no change │
│ QQuery 6  │    1.30 ms │                      1.32 ms │     no change │
│ QQuery 7  │   12.86 ms │                     12.89 ms │     no change │
│ QQuery 8  │  324.79 ms │                    264.69 ms │ +1.23x faster │
│ QQuery 9  │  467.63 ms │                    475.57 ms │     no change │
│ QQuery 10 │   63.28 ms │                     66.27 ms │     no change │
│ QQuery 11 │   73.84 ms │                     77.14 ms │     no change │
│ QQuery 12 │  258.17 ms │                    246.05 ms │     no change │
│ QQuery 13 │  356.94 ms │                    400.35 ms │  1.12x slower │
│ QQuery 14 │  274.79 ms │                    264.41 ms │     no change │
│ QQuery 15 │  287.33 ms │                    183.90 ms │ +1.56x faster │
│ QQuery 16 │  609.14 ms │                    530.09 ms │ +1.15x faster │
│ QQuery 17 │  615.56 ms │                    445.39 ms │ +1.38x faster │
│ QQuery 18 │ 1260.61 ms │                    981.50 ms │ +1.28x faster │
│ QQuery 19 │   27.26 ms │                     27.46 ms │     no change │
│ QQuery 20 │  516.80 ms │                    526.60 ms │     no change │
│ QQuery 21 │  516.10 ms │                    514.39 ms │     no change │
│ QQuery 22 │  983.55 ms │                   1019.63 ms │     no change │
│ QQuery 23 │ 3058.41 ms │                   3195.60 ms │     no change │
│ QQuery 24 │   40.36 ms │                     39.91 ms │     no change │
│ QQuery 25 │  105.15 ms │                    104.36 ms │     no change │
│ QQuery 26 │   40.68 ms │                     40.33 ms │     no change │
│ QQuery 27 │  513.41 ms │                    510.48 ms │     no change │
│ QQuery 28 │ 2876.49 ms │                   2880.14 ms │     no change │
│ QQuery 29 │   38.67 ms │                     39.18 ms │     no change │
│ QQuery 30 │  309.02 ms │                    259.97 ms │ +1.19x faster │
│ QQuery 31 │  273.11 ms │                    250.81 ms │ +1.09x faster │
│ QQuery 32 │ 1068.34 ms │                    642.75 ms │ +1.66x faster │
│ QQuery 33 │ 1572.63 ms │                   1373.65 ms │ +1.14x faster │
│ QQuery 34 │ 1593.09 ms │                   1399.02 ms │ +1.14x faster │
│ QQuery 35 │  299.81 ms │                    206.20 ms │ +1.45x faster │
│ QQuery 36 │   66.61 ms │                     67.44 ms │     no change │
│ QQuery 37 │   34.81 ms │                     36.06 ms │     no change │
│ QQuery 38 │   43.05 ms │                     42.21 ms │     no change │
│ QQuery 39 │  145.95 ms │                    142.61 ms │     no change │
│ QQuery 40 │   13.96 ms │                     14.29 ms │     no change │
│ QQuery 41 │   13.46 ms │                     13.81 ms │     no change │
│ QQuery 42 │   12.91 ms │                     12.99 ms │     no change │
└───────────┴────────────┴──────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                           ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                           │ 19349.85ms │
│ Total Time (codex_partial-flush-controls)   │ 17812.43ms │
│ Average Time (HEAD)                         │   450.00ms │
│ Average Time (codex_partial-flush-controls) │   414.24ms │
│ Queries Faster                              │         12 │
│ Queries Slower                              │          1 │
│ Queries with No Change                      │         30 │
│ Queries with Failure                        │          0 │
└─────────────────────────────────────────────┴────────────┘

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

Comparing HEAD and codex_partial-flush-controls
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                   HEAD ┃           codex_partial-flush-controls ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 0  │           1.21 / 4.00 ±5.49 / 14.98 ms │           1.25 / 4.04 ±5.51 / 15.07 ms │     no change │
│ QQuery 1  │         11.74 / 11.85 ±0.07 / 11.92 ms │         11.56 / 11.75 ±0.12 / 11.92 ms │     no change │
│ QQuery 2  │         36.56 / 36.66 ±0.08 / 36.80 ms │         36.51 / 36.69 ±0.17 / 36.90 ms │     no change │
│ QQuery 3  │         30.86 / 31.34 ±0.57 / 32.44 ms │         31.10 / 31.26 ±0.12 / 31.42 ms │     no change │
│ QQuery 4  │      231.75 / 236.03 ±2.57 / 239.09 ms │      163.65 / 165.34 ±1.23 / 167.43 ms │ +1.43x faster │
│ QQuery 5  │      267.84 / 274.20 ±4.00 / 279.54 ms │      258.91 / 265.83 ±3.57 / 268.93 ms │     no change │
│ QQuery 6  │            1.30 / 1.44 ±0.22 / 1.87 ms │            1.32 / 1.46 ±0.22 / 1.89 ms │     no change │
│ QQuery 7  │         12.86 / 13.01 ±0.13 / 13.20 ms │         12.89 / 12.95 ±0.04 / 12.99 ms │     no change │
│ QQuery 8  │      324.79 / 331.55 ±5.04 / 338.83 ms │      264.69 / 268.39 ±3.01 / 273.64 ms │ +1.24x faster │
│ QQuery 9  │      467.63 / 476.73 ±4.98 / 482.56 ms │      475.57 / 481.84 ±6.62 / 494.57 ms │     no change │
│ QQuery 10 │         63.28 / 63.78 ±0.71 / 65.18 ms │         66.27 / 67.76 ±1.34 / 70.22 ms │  1.06x slower │
│ QQuery 11 │         73.84 / 74.92 ±0.68 / 75.72 ms │         77.14 / 77.64 ±0.56 / 78.67 ms │     no change │
│ QQuery 12 │      258.17 / 264.68 ±3.94 / 270.49 ms │     246.05 / 266.27 ±24.87 / 314.62 ms │     no change │
│ QQuery 13 │     356.94 / 369.99 ±14.34 / 392.15 ms │      400.35 / 406.23 ±9.85 / 425.90 ms │  1.10x slower │
│ QQuery 14 │     274.79 / 286.69 ±13.48 / 312.06 ms │      264.41 / 271.54 ±5.87 / 282.06 ms │ +1.06x faster │
│ QQuery 15 │      287.33 / 293.95 ±4.17 / 299.54 ms │      183.90 / 188.03 ±3.45 / 193.92 ms │ +1.56x faster │
│ QQuery 16 │      609.14 / 616.89 ±4.47 / 622.75 ms │     530.09 / 542.27 ±13.50 / 567.60 ms │ +1.14x faster │
│ QQuery 17 │      615.56 / 624.71 ±8.42 / 638.61 ms │     445.39 / 463.22 ±26.84 / 516.19 ms │ +1.35x faster │
│ QQuery 18 │  1260.61 / 1291.83 ±22.97 / 1321.79 ms │      981.50 / 991.24 ±7.03 / 999.53 ms │ +1.30x faster │
│ QQuery 19 │         27.26 / 32.00 ±8.65 / 49.26 ms │         27.46 / 27.78 ±0.17 / 27.96 ms │ +1.15x faster │
│ QQuery 20 │     516.80 / 529.29 ±12.89 / 552.18 ms │     526.60 / 558.51 ±54.76 / 667.80 ms │  1.06x slower │
│ QQuery 21 │      516.10 / 520.44 ±6.30 / 532.85 ms │     514.39 / 536.83 ±12.10 / 548.67 ms │     no change │
│ QQuery 22 │     983.55 / 991.09 ±6.76 / 1002.48 ms │  1019.63 / 1037.15 ±10.48 / 1048.95 ms │     no change │
│ QQuery 23 │ 3058.41 / 3272.16 ±138.38 / 3467.25 ms │ 3195.60 / 3398.83 ±177.35 / 3629.46 ms │     no change │
│ QQuery 24 │       40.36 / 77.71 ±36.55 / 123.72 ms │     39.91 / 130.52 ±154.06 / 435.71 ms │  1.68x slower │
│ QQuery 25 │     105.15 / 146.93 ±73.45 / 292.97 ms │     104.36 / 154.67 ±95.27 / 345.14 ms │  1.05x slower │
│ QQuery 26 │         40.68 / 41.64 ±0.85 / 43.18 ms │         40.33 / 42.63 ±3.84 / 50.27 ms │     no change │
│ QQuery 27 │      513.41 / 522.42 ±5.40 / 528.83 ms │      510.48 / 517.94 ±8.29 / 532.71 ms │     no change │
│ QQuery 28 │  2876.49 / 2900.81 ±36.07 / 2972.37 ms │  2880.14 / 2921.30 ±50.72 / 3020.85 ms │     no change │
│ QQuery 29 │         38.67 / 43.03 ±7.72 / 58.44 ms │         39.18 / 41.62 ±3.20 / 47.85 ms │     no change │
│ QQuery 30 │      309.02 / 312.08 ±1.83 / 314.10 ms │      259.97 / 265.94 ±4.45 / 272.79 ms │ +1.17x faster │
│ QQuery 31 │     273.11 / 291.63 ±10.76 / 304.07 ms │      250.81 / 259.59 ±5.22 / 265.48 ms │ +1.12x faster │
│ QQuery 32 │  1068.34 / 1165.79 ±75.37 / 1245.28 ms │     642.75 / 694.67 ±46.57 / 780.25 ms │ +1.68x faster │
│ QQuery 33 │  1572.63 / 1613.64 ±33.78 / 1656.94 ms │  1373.65 / 1444.81 ±38.38 / 1482.27 ms │ +1.12x faster │
│ QQuery 34 │  1593.09 / 1618.36 ±20.31 / 1654.79 ms │  1399.02 / 1476.48 ±53.04 / 1560.60 ms │ +1.10x faster │
│ QQuery 35 │     299.81 / 338.55 ±62.35 / 462.88 ms │     206.20 / 260.61 ±86.39 / 431.11 ms │ +1.30x faster │
│ QQuery 36 │         66.61 / 74.10 ±7.81 / 89.02 ms │         67.44 / 73.30 ±5.85 / 83.22 ms │     no change │
│ QQuery 37 │         34.81 / 39.59 ±5.09 / 47.29 ms │         36.06 / 38.20 ±2.42 / 41.18 ms │     no change │
│ QQuery 38 │         43.05 / 48.30 ±5.36 / 56.66 ms │         42.21 / 45.01 ±2.39 / 48.66 ms │ +1.07x faster │
│ QQuery 39 │      145.95 / 153.75 ±6.25 / 160.98 ms │      142.61 / 146.89 ±3.04 / 150.74 ms │     no change │
│ QQuery 40 │         13.96 / 14.15 ±0.15 / 14.34 ms │         14.29 / 14.58 ±0.43 / 15.42 ms │     no change │
│ QQuery 41 │         13.46 / 18.43 ±6.10 / 27.15 ms │         13.81 / 16.57 ±3.26 / 21.41 ms │ +1.11x faster │
│ QQuery 42 │         12.91 / 13.12 ±0.16 / 13.31 ms │         12.99 / 13.26 ±0.27 / 13.71 ms │     no change │
└───────────┴────────────────────────────────────────┴────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                           ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                           │ 20083.25ms │
│ Total Time (codex_partial-flush-controls)   │ 18671.40ms │
│ Average Time (HEAD)                         │   467.05ms │
│ Average Time (codex_partial-flush-controls) │   434.22ms │
│ Queries Faster                              │         16 │
│ Queries Slower                              │          5 │
│ Queries with No Change                      │         22 │
│ Queries with Failure                        │          0 │
└─────────────────────────────────────────────┴────────────┘

Resource Usage

clickbench_partitioned — base (merge-base)

Metric Value
Wall time 105.0s
Peak memory 18.1 GiB
Avg memory 5.8 GiB
CPU user 991.7s
CPU sys 97.5s
Peak spill 0 B

clickbench_partitioned — branch

Metric Value
Wall time 95.0s
Peak memory 17.5 GiB
Avg memory 5.3 GiB
CPU user 893.1s
CPU sys 88.3s
Peak spill 0 B

File an issue against this benchmark runner

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

Labels

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants