Skip to content

fix: deduplicate StringView/BinaryView buffer refs in CollectLeft Has... - #25716

Closed
mohitgurav20 wants to merge 21 commits into
apache:mainfrom
mohitgurav20:fix/dedup-stringview-buffers-collectleft-joins
Closed

mohitgurav20 wants to merge 21 commits into
apache:mainfrom
mohitgurav20:fix/dedup-stringview-buffers-collectleft-joins

Conversation

@mohitgurav20

@mohitgurav20 mohitgurav20 commented Sep 24, 2026 •

Copy link
Copy Markdown
Contributor

Which issue does this PR close?

Closes #25712

Rationale for this change

Queries with multiple chained CollectLeft hash joins on StringView or BinaryView
columns can run 10x slower and use 7x more memory than expected. This happens even when
the underlying string data is tiny.

Why it happens: When Arrow's concat kernel combines batches that share the same
buffer allocations, it appends each batch's buffer list verbatim without checking for
duplicates. If N batches each hold a reference to the same K buffers, the result carries
N × K references — all pointing to the same memory. Every subsequent CollectLeft join
multiplies the count again. On TPC-DS SF1 Q64 with pushdown_filters = true we measured
a single column growing from 1 to 1,587,600 buffer references while the distinct
allocation count stayed at 2.

The two user-visible symptoms are:

  1. Query slowdown — RecordBatchMemoryCounter::count_buffer_memory_size walks every
    reference on each poll. With millions of duplicate refs, this becomes the dominant
    CPU cost.
  2. High memory use — the Arc<Buffer> reference vectors themselves occupy memory,
    and downstream take operations carry the full bloated buffer list into the next join.

On TPC-DS SF1 Q64:

pushdown_filters = false pushdown_filters = true
Query time (before) 0.75–1.4 s 4.0–10.6 s
Query time (after) 0.75–1.4 s 0.75–0.85 s
Peak RSS (before) ~1.2 GB ~8.5 GB
Peak RSS (after) ~1.2 GB ~1.2 GB

What changes are included in this PR?

A single new step is inserted immediately after the build-side concat_batches call in
concat_build_batches (hash_join/exec.rs):

  1. deduplicate_view_array_buffers<T> — for a single GenericByteViewArray, walks
    the data_buffers list, identifies duplicates by raw pointer address, and rewrites
    the 4-byte buffer_index inside each non-inline view descriptor to point into the
    deduplicated buffer vector. No string bytes are copied. The fast path (≤ 1 buffer, or
    no duplicates) returns a cheap clone() of the array reference.

  2. deduplicate_record_batch_view_buffers — calls the above for every Utf8View
    and BinaryView column in a RecordBatch. Columns of other types are passed through
    with Arc::clone.

The deduplication runs once, on the concatenated build batch, before it is handed to the
join probe loop. All subsequent take operations on the build side then start from a
clean buffer list.

What is the testing strategy for this PR?

A new unit test concat_build_batches_deduplicates_view_buffers (in the tests module
of hash_join/exec.rs) constructs three RecordBatches that share the same
StringViewArray allocation, concatenates them through concat_build_batches, and
asserts that the resulting column holds exactly one buffer reference instead of three.
It also asserts the expected row count to confirm no data was dropped or duplicated.

The existing hash-join test suite continues to pass without modification, confirming the
change is a no-op for non-view columns and for view columns that already have unique
buffers.

Are there any user-facing changes?

No API changes. The fix is entirely internal to concat_build_batches. Users running
queries with chained CollectLeft joins on StringView or BinaryView columns will
see lower memory usage and faster query times without any configuration change.

@github-actions github-actions Bot added physical-plan Changes to the physical-plan crate auto detected api change Auto detected API change labels Sep 24, 2026
@mohitgurav20

Copy link
Copy Markdown
Contributor Author

Hi @alamb @kosiew @asolimando,

I've formatted the code and rebased the branch onto latest main. This resolves the cargo-semver-checks false-positive (StatisticsExec::with_partition_statistics) that was triggered by the base branch being out-of-date.

All CI checks are now running against latest main. Ready for review when you have a moment!

@alamb

alamb commented Sep 27, 2026

Copy link
Copy Markdown
Contributor

Can you please update the description of this PR to be more readable

Also, perhaps @adriangb would be able to review it as he filed #25712

@github-actions github-actions Bot removed the auto detected api change Auto detected API change label Sep 27, 2026
@adriangb

Copy link
Copy Markdown
Contributor

Can you please update the description of this PR to be more readable

Highly agree, this is hard to read.

@mohitgurav20 a prompt I find very useful:

- Write the description focusing on the impact / experience for users (for example a SQL MRE), don't focus on implementation details.
- The target reader is a maintainer of DataFusion that is familiar with the space in general but may not be aware of this particular area / piece of the codebase.
- Define any terms you may be introducing or that would be unfamiliar to the reader above.
- Write using Simplified Technical English.
- Consider using tables, diagrams, example code snippets, lists or other forms of communication over prose where possible.

@mohitgurav20

Copy link
Copy Markdown
Contributor Author

Hey all,

I’ve fully updated the PR description following the suggested prompt to make it much easier to read (focusing on the user impact, adding the SQL MRE, and removing the heavy implementation jargon).

I also went through the CI logs and fixed the compilation issue causing the 5 checks to fail (it just needed a quick .into() conversion from Vec to Arc<[Buffer]> for the new_unchecked initialization).

Everything should build properly now. Let me know what you think!

@codecov-commenter

codecov-commenter commented Sep 27, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 82.79%. Comparing base (06aa131) to head (ca2623c).

Additional details and impacted files
@@            Coverage Diff             @@
##             main   #25716      +/-   ##
==========================================
+ Coverage   82.77%   82.79%   +0.01%     
==========================================
  Files        1147     1147              
  Lines      450909   451408     +499     
  Branches   450909   451408     +499     
==========================================
+ Hits       373252   373745     +493     
- Misses      54934    54935       +1     
- Partials    22723    22728       +5     

☔ 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.

@mohitgurav20

Copy link
Copy Markdown
Contributor Author

Hey all, just a quick update!

I've resolved the failing CI checks. The formatting has been aligned using cargo fmt, and I resolved the strict Clippy warning by explicitly using Arc::clone(&schema) instead of relying on .clone().

Everything is green now and this should be fully ready for review! Let me know if you need any further tweaks.

@kosiew

kosiew commented Oct 1, 2026

Copy link
Copy Markdown
Contributor

@mohitgurav20
Please amend the PR description as per .github/pull_request_template.md

@mohitgurav20

Copy link
Copy Markdown
Contributor Author

Updated the PR description to follow the template — it now clearly covers the rationale, what changed, testing, and user impact. Ready for review when you get a chance, @kosiew @alamb @adriangb.

@kosiew kosiew left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

@mohitgurav20,

Thanks for working on this. I found one correctness issue in the buffer deduplication that needs to be addressed before this can merge. I also left a suggestion to add BinaryView coverage.

let mut has_duplicates = false;

for buf in data_buffers.iter() {
let addr = buf.as_ptr() as usize;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Using only as_ptr() is not enough to identify an Arrow Buffer range because two valid slices can start at the same address but have different lengths. Please deduplicate only identical ranges, for example by using pointer plus length, or otherwise prove the retained buffer covers every remapped view, and add a regression where a shorter slice is seen before the longer buffer and the concatenated values are verified.

}

#[test]
fn concat_build_batches_deduplicates_view_buffers() -> Result<()> {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Could you add coverage for BinaryViewArray as well? The implementation has separate BinaryView dispatch and downcast logic, but the current regression only exercises StringViewArray.

@mohitgurav20
mohitgurav20 force-pushed the fix/dedup-stringview-buffers-collectleft-joins branch from f3bf727 to 124082a Compare October 3, 2026 09:42
@mohitgurav20

Copy link
Copy Markdown
Contributor Author

@kosiew Good catch on the slicing edge case—using just the pointer address definitely wasn't safe enough there.

I've just pushed a fix for this. The deduplication map now uses a (pointer_address, length) tuple as the key to properly identify exact buffer ranges.

I also added the test coverage you requested:

A new test specifically for BinaryViewArray deduplication.
A regression test that verifies the slicing behavior to ensure the retained buffer correctly covers the remapped views without collisions.
Everything is passing on my end. Let me know how it looks to you now!

@mohitgurav20
mohitgurav20 requested a review from kosiew October 3, 2026 10:31

@kosiew kosiew left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

@mohitgurav20,

Thanks for the follow-up. The pointer-and-length key fixes the correctness issue, and the BinaryView coverage looks good. There is still one regression-test gap that needs to be addressed.

Arc::new(Schema::new(vec![Field::new("s", DataType::Utf8View, true)]));

// Create a shorter slice that starts at the same address
let short_slice = base_array.slice(0, 1);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This test does not actually cover buffers with the same pointer but different lengths. GenericByteViewArray::slice only slices the views, so please construct two arrays using differently sized Buffer::slice_with_length(0, ...) ranges with the shorter one first, then assert that values from the longer range still survive concatenation.

@mohitgurav20
mohitgurav20 force-pushed the fix/dedup-stringview-buffers-collectleft-joins branch 2 times, most recently from ce9ad51 to 0fb7157 Compare October 5, 2026 16:52
@github-actions github-actions Bot added the common Related to common crate label Oct 5, 2026
@mohitgurav20
mohitgurav20 force-pushed the fix/dedup-stringview-buffers-collectleft-joins branch from 0fb7157 to 9647de3 Compare October 5, 2026 16:53
@adriangbot

Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c6074999034-3229-789js 6.12.94+ #1 SMP Fri Aug 21 08:00:16 UTC 2026 aarch64 GNU/Linux

CPU Details (lscpu)
Architecture:                            aarch64
CPU op-mode(s):                          64-bit
Byte Order:                              Little Endian
CPU(s):                                  16
On-line CPU(s) list:                     0-15
Vendor ID:                               ARM
Model name:                              Neoverse-V2
Model:                                   1
Thread(s) per core:                      1
Core(s) per cluster:                     16
Socket(s):                               -
Cluster(s):                              1
Stepping:                                r0p1
BogoMIPS:                                2000.00
Flags:                                   fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 sve asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp sve2 sveaes svepmull svebitperm svesha3 svesm4 flagm2 frint svei8mm svebf16 i8mm bf16 dgh rng bti
L1d cache:                               1 MiB (16 instances)
L1i cache:                               1 MiB (16 instances)
L2 cache:                                32 MiB (16 instances)
L3 cache:                                80 MiB (1 instance)
NUMA node(s):                            1
NUMA node0 CPU(s):                       0-15
Vulnerability Gather data sampling:      Not affected
Vulnerability Indirect target selection: Not affected
Vulnerability Itlb multihit:             Not affected
Vulnerability L1tf:                      Not affected
Vulnerability Mds:                       Not affected
Vulnerability Meltdown:                  Not affected
Vulnerability Mmio stale data:           Not affected
Vulnerability Reg file data sampling:    Not affected
Vulnerability Retbleed:                  Not affected
Vulnerability Spec rstack overflow:      Not affected
Vulnerability Spec store bypass:         Mitigation; Speculative Store Bypass disabled via prctl
Vulnerability Spectre v1:                Mitigation; __user pointer sanitization
Vulnerability Spectre v2:                Mitigation; CSV2, BHB
Vulnerability Srbds:                     Not affected
Vulnerability Tsa:                       Not affected
Vulnerability Tsx async abort:           Not affected
Vulnerability Vmscape:                   Not affected

Comparing b104668 (b104668) to b104668 diff

Run configuration
run benchmark tpcds
baseline:
  ref: "b104668"
  env:
    DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "false"
changed:
  ref: "b104668"
  env:
    DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "true"

Results will be posted here when complete


File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark completed (GKE) | trigger

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

Comparing b104668 (b104668) to b104668 diff

Run configuration
run benchmark tpcds
baseline:
  ref: "b104668"
  env:
    DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "false"
changed:
  ref: "b104668"
  env:
    DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "true"
CPU Details (lscpu)
Architecture:                            aarch64
CPU op-mode(s):                          64-bit
Byte Order:                              Little Endian
CPU(s):                                  16
On-line CPU(s) list:                     0-15
Vendor ID:                               ARM
Model name:                              Neoverse-V2
Model:                                   1
Thread(s) per core:                      1
Core(s) per cluster:                     16
Socket(s):                               -
Cluster(s):                              1
Stepping:                                r0p1
BogoMIPS:                                2000.00
Flags:                                   fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 sve asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp sve2 sveaes svepmull svebitperm svesha3 svesm4 flagm2 frint svei8mm svebf16 i8mm bf16 dgh rng bti
L1d cache:                               1 MiB (16 instances)
L1i cache:                               1 MiB (16 instances)
L2 cache:                                32 MiB (16 instances)
L3 cache:                                80 MiB (1 instance)
NUMA node(s):                            1
NUMA node0 CPU(s):                       0-15
Vulnerability Gather data sampling:      Not affected
Vulnerability Indirect target selection: Not affected
Vulnerability Itlb multihit:             Not affected
Vulnerability L1tf:                      Not affected
Vulnerability Mds:                       Not affected
Vulnerability Meltdown:                  Not affected
Vulnerability Mmio stale data:           Not affected
Vulnerability Reg file data sampling:    Not affected
Vulnerability Retbleed:                  Not affected
Vulnerability Spec rstack overflow:      Not affected
Vulnerability Spec store bypass:         Mitigation; Speculative Store Bypass disabled via prctl
Vulnerability Spectre v1:                Mitigation; __user pointer sanitization
Vulnerability Spectre v2:                Mitigation; CSV2, BHB
Vulnerability Srbds:                     Not affected
Vulnerability Tsa:                       Not affected
Vulnerability Tsx async abort:           Not affected
Vulnerability Vmscape:                   Not affected
Details

Comparing HEAD and fix_dedup-stringview-buffers-collectleft-joins
--------------------
Benchmark tpcds_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃       HEAD ┃ fix_dedup-stringview-buffers-collectleft-joins ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │    5.41 ms │                                        5.02 ms │ +1.08x faster │
│ QQuery 2  │   80.31 ms │                                       46.68 ms │ +1.72x faster │
│ QQuery 3  │   28.59 ms │                                       26.70 ms │ +1.07x faster │
│ QQuery 4  │  460.11 ms │                                      357.79 ms │ +1.29x faster │
│ QQuery 5  │   50.82 ms │                                       46.53 ms │ +1.09x faster │
│ QQuery 6  │   35.37 ms │                                       36.48 ms │     no change │
│ QQuery 7  │   72.30 ms │                                       83.23 ms │  1.15x slower │
│ QQuery 8  │   36.56 ms │                                       14.96 ms │ +2.44x faster │
│ QQuery 9  │   50.89 ms │                                      111.66 ms │  2.19x slower │
│ QQuery 10 │   61.69 ms │                                       73.24 ms │  1.19x slower │
│ QQuery 11 │  284.28 ms │                                      219.10 ms │ +1.30x faster │
│ QQuery 12 │   28.98 ms │                                       28.16 ms │     no change │
│ QQuery 13 │  112.86 ms │                                      110.73 ms │     no change │
│ QQuery 14 │  391.78 ms │                                      426.27 ms │  1.09x slower │
│ QQuery 15 │   54.52 ms │                                       24.34 ms │ +2.24x faster │
│ QQuery 16 │    6.44 ms │                                        5.96 ms │ +1.08x faster │
│ QQuery 17 │   79.26 ms │                                      115.36 ms │  1.46x slower │
│ QQuery 18 │  104.43 ms │                                      164.08 ms │  1.57x slower │
│ QQuery 19 │   41.17 ms │                                       39.68 ms │     no change │
│ QQuery 20 │   36.13 ms │                                       31.32 ms │ +1.15x faster │
│ QQuery 21 │   16.94 ms │                                       19.58 ms │  1.16x slower │
│ QQuery 22 │   66.19 ms │                                       63.45 ms │     no change │
│ QQuery 23 │  306.76 ms │                                      375.32 ms │  1.22x slower │
│ QQuery 24 │  197.57 ms │                                      172.63 ms │ +1.14x faster │
│ QQuery 25 │  108.81 ms │                                      117.52 ms │  1.08x slower │
│ QQuery 26 │   45.43 ms │                                       65.87 ms │  1.45x slower │
│ QQuery 27 │    5.74 ms │                                        5.98 ms │     no change │
│ QQuery 28 │   55.62 ms │                                       73.29 ms │  1.32x slower │
│ QQuery 29 │   95.60 ms │                                      147.34 ms │  1.54x slower │
│ QQuery 30 │   33.04 ms │                                       32.49 ms │     no change │
│ QQuery 31 │  109.42 ms │                                      124.97 ms │  1.14x slower │
│ QQuery 32 │   20.58 ms │                                       22.05 ms │  1.07x slower │
│ QQuery 33 │   36.84 ms │                                       39.63 ms │  1.08x slower │
│ QQuery 34 │   10.49 ms │                                       11.00 ms │     no change │
│ QQuery 35 │   71.81 ms │                                       87.37 ms │  1.22x slower │
│ QQuery 36 │    5.43 ms │                                        5.51 ms │     no change │
│ QQuery 37 │    6.71 ms │                                        7.09 ms │  1.06x slower │
│ QQuery 38 │   62.00 ms │                                       79.10 ms │  1.28x slower │
│ QQuery 39 │   72.50 ms │                                       71.72 ms │     no change │
│ QQuery 40 │   23.36 ms │                                       20.22 ms │ +1.16x faster │
│ QQuery 41 │   11.19 ms │                                       12.33 ms │  1.10x slower │
│ QQuery 42 │   23.79 ms │                                       24.28 ms │     no change │
│ QQuery 43 │    4.55 ms │                                        4.41 ms │     no change │
│ QQuery 44 │    8.47 ms │                                        8.49 ms │     no change │
│ QQuery 45 │   36.23 ms │                                       26.89 ms │ +1.35x faster │
│ QQuery 46 │   12.22 ms │                                       12.61 ms │     no change │
│ QQuery 47 │  223.84 ms │                                      227.86 ms │     no change │
│ QQuery 48 │   90.05 ms │                                      120.40 ms │  1.34x slower │
│ QQuery 49 │   68.89 ms │                                       87.64 ms │  1.27x slower │
│ QQuery 50 │   58.48 ms │                                      126.20 ms │  2.16x slower │
│ QQuery 51 │   93.32 ms │                                      101.55 ms │  1.09x slower │
│ QQuery 52 │   24.46 ms │                                       24.52 ms │     no change │
│ QQuery 53 │   29.75 ms │                                       30.69 ms │     no change │
│ QQuery 54 │   54.54 ms │                                       28.42 ms │ +1.92x faster │
│ QQuery 55 │   24.09 ms │                                       24.56 ms │     no change │
│ QQuery 56 │   38.25 ms │                                       35.03 ms │ +1.09x faster │
│ QQuery 57 │  168.92 ms │                                      137.24 ms │ +1.23x faster │
│ QQuery 58 │  106.07 ms │                                       73.76 ms │ +1.44x faster │
│ QQuery 59 │  115.74 ms │                                       79.70 ms │ +1.45x faster │
│ QQuery 60 │   38.32 ms │                                       38.70 ms │     no change │
│ QQuery 61 │   11.31 ms │                                       11.03 ms │     no change │
│ QQuery 62 │   43.60 ms │                                       42.94 ms │     no change │
│ QQuery 63 │   29.51 ms │                                       30.81 ms │     no change │
│ QQuery 64 │  359.18 ms │                                      516.11 ms │  1.44x slower │
│ QQuery 65 │  131.46 ms │                                      159.36 ms │  1.21x slower │
│ QQuery 66 │   74.71 ms │                                       63.62 ms │ +1.17x faster │
│ QQuery 67 │  254.64 ms │                                      265.91 ms │     no change │
│ QQuery 68 │   12.23 ms │                                       12.70 ms │     no change │
│ QQuery 69 │   56.30 ms │                                       70.33 ms │  1.25x slower │
│ QQuery 70 │  103.10 ms │                                      121.40 ms │  1.18x slower │
│ QQuery 71 │   35.14 ms │                                       32.66 ms │ +1.08x faster │
│ QQuery 72 │ 1672.72 ms │                                      176.44 ms │ +9.48x faster │
│ QQuery 73 │   10.55 ms │                                       10.73 ms │     no change │
│ QQuery 74 │  166.65 ms │                                      150.40 ms │ +1.11x faster │
│ QQuery 75 │  141.22 ms │                                      181.59 ms │  1.29x slower │
│ QQuery 76 │   34.23 ms │                                       40.33 ms │  1.18x slower │
│ QQuery 77 │   60.23 ms │                                       61.29 ms │     no change │
│ QQuery 78 │  163.05 ms │                                      115.59 ms │ +1.41x faster │
│ QQuery 79 │   66.19 ms │                                       67.40 ms │     no change │
│ QQuery 80 │   95.76 ms │                                       75.38 ms │ +1.27x faster │
│ QQuery 81 │   26.23 ms │                                       27.43 ms │     no change │
│ QQuery 82 │   16.65 ms │                                       30.85 ms │  1.85x slower │
│ QQuery 83 │   33.18 ms │                                       28.79 ms │ +1.15x faster │
│ QQuery 84 │   29.84 ms │                                       30.45 ms │     no change │
│ QQuery 85 │   98.71 ms │                                      158.08 ms │  1.60x slower │
│ QQuery 86 │   26.04 ms │                                       30.23 ms │  1.16x slower │
│ QQuery 87 │   62.03 ms │                                       79.38 ms │  1.28x slower │
│ QQuery 88 │   60.21 ms │                                       64.25 ms │  1.07x slower │
│ QQuery 89 │   35.18 ms │                                       42.34 ms │  1.20x slower │
│ QQuery 90 │   16.60 ms │                                       17.97 ms │  1.08x slower │
│ QQuery 91 │   41.23 ms │                                       43.47 ms │  1.05x slower │
│ QQuery 92 │   29.96 ms │                                       31.23 ms │     no change │
│ QQuery 93 │   49.18 ms │                                       49.24 ms │     no change │
│ QQuery 94 │   38.36 ms │                                       36.29 ms │ +1.06x faster │
│ QQuery 95 │   79.91 ms │                                       94.24 ms │  1.18x slower │
│ QQuery 96 │   23.92 ms │                                       26.18 ms │  1.09x slower │
│ QQuery 97 │   50.40 ms │                                       53.61 ms │  1.06x slower │
│ QQuery 98 │   42.40 ms │                                       38.32 ms │ +1.11x faster │
│ QQuery 99 │   64.50 ms │                                       59.93 ms │ +1.08x faster │
└───────────┴────────────┴────────────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Benchmark Summary                                             ┃           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ Total Time (HEAD)                                             │ 8950.25ms │
│ Total Time (fix_dedup-stringview-buffers-collectleft-joins)   │ 7883.07ms │
│ Average Time (HEAD)                                           │   90.41ms │
│ Average Time (fix_dedup-stringview-buffers-collectleft-joins) │   79.63ms │
│ Queries Faster                                                │        28 │
│ Queries Slower                                                │        40 │
│ Queries with No Change                                        │        31 │
│ Queries with Failure                                          │         0 │
└───────────────────────────────────────────────────────────────┴───────────┘

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

Comparing HEAD and fix_dedup-stringview-buffers-collectleft-joins
--------------------
Benchmark tpcds_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                  HEAD ┃ fix_dedup-stringview-buffers-collectleft-joins ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │           5.41 / 6.16 ±1.12 / 8.38 ms │                    5.02 / 5.63 ±0.99 / 7.59 ms │ +1.09x faster │
│ QQuery 2  │        80.31 / 80.57 ±0.21 / 80.93 ms │                 46.68 / 47.15 ±0.28 / 47.47 ms │ +1.71x faster │
│ QQuery 3  │        28.59 / 29.17 ±0.32 / 29.56 ms │                 26.70 / 26.85 ±0.12 / 27.03 ms │ +1.09x faster │
│ QQuery 4  │     460.11 / 467.83 ±6.69 / 478.61 ms │              357.79 / 363.85 ±4.16 / 369.73 ms │ +1.29x faster │
│ QQuery 5  │        50.82 / 52.41 ±2.58 / 57.53 ms │                 46.53 / 47.12 ±0.44 / 47.69 ms │ +1.11x faster │
│ QQuery 6  │        35.37 / 35.71 ±0.21 / 36.02 ms │                 36.48 / 36.63 ±0.10 / 36.78 ms │     no change │
│ QQuery 7  │        72.30 / 73.19 ±0.61 / 74.18 ms │                 83.23 / 85.10 ±2.59 / 90.19 ms │  1.16x slower │
│ QQuery 8  │        36.56 / 36.88 ±0.23 / 37.25 ms │                 14.96 / 15.28 ±0.22 / 15.51 ms │ +2.41x faster │
│ QQuery 9  │        50.89 / 55.57 ±3.77 / 60.66 ms │              111.66 / 115.68 ±2.41 / 117.63 ms │  2.08x slower │
│ QQuery 10 │        61.69 / 62.08 ±0.28 / 62.56 ms │                 73.24 / 76.54 ±3.86 / 83.26 ms │  1.23x slower │
│ QQuery 11 │     284.28 / 287.21 ±2.14 / 290.68 ms │              219.10 / 226.02 ±6.71 / 238.01 ms │ +1.27x faster │
│ QQuery 12 │        28.98 / 30.51 ±2.86 / 36.23 ms │                 28.16 / 28.51 ±0.19 / 28.69 ms │ +1.07x faster │
│ QQuery 13 │     112.86 / 114.52 ±1.70 / 117.68 ms │              110.73 / 111.65 ±0.82 / 113.09 ms │     no change │
│ QQuery 14 │     391.78 / 394.82 ±2.50 / 399.37 ms │              426.27 / 434.55 ±7.43 / 447.86 ms │  1.10x slower │
│ QQuery 15 │        54.52 / 55.61 ±0.76 / 56.70 ms │                 24.34 / 25.89 ±2.54 / 30.93 ms │ +2.15x faster │
│ QQuery 16 │           6.44 / 6.55 ±0.13 / 6.80 ms │                    5.96 / 6.17 ±0.16 / 6.43 ms │ +1.06x faster │
│ QQuery 17 │        79.26 / 81.99 ±4.22 / 90.38 ms │              115.36 / 115.72 ±0.37 / 116.31 ms │  1.41x slower │
│ QQuery 18 │     104.43 / 106.09 ±1.25 / 108.31 ms │              164.08 / 165.92 ±1.05 / 166.93 ms │  1.56x slower │
│ QQuery 19 │        41.17 / 42.58 ±1.33 / 44.88 ms │                 39.68 / 40.20 ±0.53 / 41.20 ms │ +1.06x faster │
│ QQuery 20 │        36.13 / 36.55 ±0.30 / 36.93 ms │                 31.32 / 32.96 ±2.50 / 37.93 ms │ +1.11x faster │
│ QQuery 21 │        16.94 / 17.19 ±0.17 / 17.43 ms │                 19.58 / 20.12 ±0.63 / 21.35 ms │  1.17x slower │
│ QQuery 22 │        66.19 / 67.91 ±2.13 / 72.08 ms │                 63.45 / 66.10 ±2.71 / 71.24 ms │     no change │
│ QQuery 23 │     306.76 / 310.29 ±2.53 / 313.06 ms │              375.32 / 378.95 ±3.29 / 383.99 ms │  1.22x slower │
│ QQuery 24 │     197.57 / 203.85 ±6.46 / 215.94 ms │              172.63 / 177.28 ±5.87 / 187.67 ms │ +1.15x faster │
│ QQuery 25 │     108.81 / 109.57 ±0.98 / 111.47 ms │              117.52 / 118.00 ±0.50 / 118.92 ms │  1.08x slower │
│ QQuery 26 │        45.43 / 46.15 ±0.39 / 46.59 ms │                 65.87 / 67.20 ±1.44 / 69.93 ms │  1.46x slower │
│ QQuery 27 │           5.74 / 6.45 ±0.87 / 8.13 ms │                    5.98 / 6.10 ±0.07 / 6.17 ms │ +1.06x faster │
│ QQuery 28 │        55.62 / 59.29 ±2.60 / 62.58 ms │                 73.29 / 75.44 ±2.78 / 80.93 ms │  1.27x slower │
│ QQuery 29 │       95.60 / 98.45 ±2.77 / 103.01 ms │              147.34 / 153.66 ±6.80 / 164.47 ms │  1.56x slower │
│ QQuery 30 │        33.04 / 33.47 ±0.40 / 34.21 ms │                 32.49 / 33.14 ±0.49 / 33.97 ms │     no change │
│ QQuery 31 │     109.42 / 111.43 ±2.35 / 115.96 ms │              124.97 / 127.73 ±2.23 / 131.70 ms │  1.15x slower │
│ QQuery 32 │        20.58 / 21.10 ±0.41 / 21.82 ms │                 22.05 / 23.43 ±2.38 / 28.17 ms │  1.11x slower │
│ QQuery 33 │        36.84 / 37.57 ±0.75 / 38.91 ms │                 39.63 / 39.93 ±0.41 / 40.74 ms │  1.06x slower │
│ QQuery 34 │        10.49 / 10.87 ±0.40 / 11.58 ms │                 11.00 / 11.68 ±0.62 / 12.77 ms │  1.07x slower │
│ QQuery 35 │        71.81 / 73.11 ±1.21 / 75.25 ms │                 87.37 / 87.79 ±0.33 / 88.19 ms │  1.20x slower │
│ QQuery 36 │           5.43 / 5.63 ±0.24 / 6.10 ms │                    5.51 / 5.68 ±0.23 / 6.14 ms │     no change │
│ QQuery 37 │           6.71 / 6.82 ±0.10 / 6.95 ms │                    7.09 / 7.21 ±0.09 / 7.33 ms │  1.06x slower │
│ QQuery 38 │        62.00 / 64.06 ±2.82 / 69.59 ms │                 79.10 / 81.76 ±4.04 / 89.78 ms │  1.28x slower │
│ QQuery 39 │        72.50 / 72.99 ±0.39 / 73.49 ms │                 71.72 / 72.40 ±0.56 / 73.22 ms │     no change │
│ QQuery 40 │        23.36 / 24.13 ±1.14 / 26.37 ms │                 20.22 / 20.29 ±0.07 / 20.42 ms │ +1.19x faster │
│ QQuery 41 │        11.19 / 11.37 ±0.13 / 11.54 ms │                 12.33 / 12.44 ±0.07 / 12.53 ms │  1.09x slower │
│ QQuery 42 │        23.79 / 24.24 ±0.60 / 25.40 ms │                 24.28 / 25.24 ±1.01 / 26.95 ms │     no change │
│ QQuery 43 │           4.55 / 4.72 ±0.24 / 5.20 ms │                    4.41 / 4.59 ±0.25 / 5.07 ms │     no change │
│ QQuery 44 │           8.47 / 8.58 ±0.08 / 8.69 ms │                    8.49 / 8.65 ±0.12 / 8.79 ms │     no change │
│ QQuery 45 │        36.23 / 37.99 ±2.42 / 42.72 ms │                 26.89 / 27.14 ±0.14 / 27.33 ms │ +1.40x faster │
│ QQuery 46 │        12.22 / 12.97 ±0.77 / 14.32 ms │                 12.61 / 12.90 ±0.16 / 13.05 ms │     no change │
│ QQuery 47 │     223.84 / 227.52 ±3.75 / 234.08 ms │              227.86 / 230.84 ±2.24 / 233.35 ms │     no change │
│ QQuery 48 │        90.05 / 90.58 ±0.53 / 91.31 ms │              120.40 / 121.77 ±1.48 / 124.20 ms │  1.34x slower │
│ QQuery 49 │        68.89 / 70.99 ±3.08 / 77.11 ms │                 87.64 / 88.63 ±0.89 / 90.02 ms │  1.25x slower │
│ QQuery 50 │        58.48 / 59.14 ±0.47 / 59.63 ms │              126.20 / 126.89 ±0.70 / 128.23 ms │  2.15x slower │
│ QQuery 51 │        93.32 / 95.18 ±1.32 / 97.02 ms │              101.55 / 105.02 ±3.86 / 112.49 ms │  1.10x slower │
│ QQuery 52 │        24.46 / 24.68 ±0.14 / 24.86 ms │                 24.52 / 24.71 ±0.14 / 24.92 ms │     no change │
│ QQuery 53 │        29.75 / 32.40 ±4.30 / 40.93 ms │                 30.69 / 30.91 ±0.15 / 31.10 ms │     no change │
│ QQuery 54 │        54.54 / 54.96 ±0.48 / 55.89 ms │                 28.42 / 31.63 ±3.58 / 38.58 ms │ +1.74x faster │
│ QQuery 55 │        24.09 / 25.05 ±1.32 / 27.64 ms │                 24.56 / 25.93 ±1.87 / 29.58 ms │     no change │
│ QQuery 56 │        38.25 / 38.96 ±0.44 / 39.50 ms │                 35.03 / 35.33 ±0.23 / 35.62 ms │ +1.10x faster │
│ QQuery 57 │     168.92 / 170.86 ±3.34 / 177.52 ms │              137.24 / 138.45 ±1.09 / 140.35 ms │ +1.23x faster │
│ QQuery 58 │     106.07 / 108.14 ±1.47 / 110.06 ms │                 73.76 / 75.45 ±1.93 / 79.20 ms │ +1.43x faster │
│ QQuery 59 │     115.74 / 116.54 ±1.14 / 118.77 ms │                 79.70 / 80.02 ±0.21 / 80.35 ms │ +1.46x faster │
│ QQuery 60 │        38.32 / 39.23 ±0.60 / 40.18 ms │                 38.70 / 39.14 ±0.59 / 40.30 ms │     no change │
│ QQuery 61 │        11.31 / 11.50 ±0.13 / 11.67 ms │                 11.03 / 11.27 ±0.15 / 11.45 ms │     no change │
│ QQuery 62 │        43.60 / 44.97 ±2.27 / 49.50 ms │                 42.94 / 44.40 ±2.66 / 49.73 ms │     no change │
│ QQuery 63 │        29.51 / 30.02 ±0.47 / 30.85 ms │                 30.81 / 30.97 ±0.19 / 31.32 ms │     no change │
│ QQuery 64 │     359.18 / 364.33 ±2.99 / 367.70 ms │              516.11 / 522.92 ±6.23 / 533.20 ms │  1.44x slower │
│ QQuery 65 │     131.46 / 134.12 ±1.89 / 136.28 ms │              159.36 / 162.79 ±2.75 / 166.44 ms │  1.21x slower │
│ QQuery 66 │        74.71 / 77.57 ±4.21 / 85.93 ms │                 63.62 / 68.28 ±5.35 / 78.27 ms │ +1.14x faster │
│ QQuery 67 │     254.64 / 258.74 ±3.59 / 263.64 ms │              265.91 / 275.37 ±8.29 / 288.71 ms │  1.06x slower │
│ QQuery 68 │        12.23 / 12.75 ±0.46 / 13.43 ms │                 12.70 / 12.82 ±0.09 / 12.93 ms │     no change │
│ QQuery 69 │        56.30 / 56.94 ±0.37 / 57.36 ms │                 70.33 / 73.03 ±3.81 / 80.61 ms │  1.28x slower │
│ QQuery 70 │     103.10 / 106.82 ±3.87 / 113.30 ms │              121.40 / 125.64 ±5.92 / 137.37 ms │  1.18x slower │
│ QQuery 71 │        35.14 / 36.62 ±1.78 / 39.97 ms │                 32.66 / 33.12 ±0.50 / 34.04 ms │ +1.11x faster │
│ QQuery 72 │ 1672.72 / 1709.51 ±24.93 / 1746.24 ms │             176.44 / 184.03 ±13.88 / 211.78 ms │ +9.29x faster │
│ QQuery 73 │        10.55 / 10.79 ±0.18 / 11.00 ms │                 10.73 / 11.06 ±0.38 / 11.74 ms │     no change │
│ QQuery 74 │     166.65 / 169.45 ±2.55 / 173.91 ms │              150.40 / 154.59 ±3.59 / 160.91 ms │ +1.10x faster │
│ QQuery 75 │     141.22 / 141.91 ±0.55 / 142.89 ms │              181.59 / 186.31 ±6.27 / 198.64 ms │  1.31x slower │
│ QQuery 76 │        34.23 / 34.78 ±0.48 / 35.68 ms │                 40.33 / 40.64 ±0.20 / 40.94 ms │  1.17x slower │
│ QQuery 77 │        60.23 / 62.17 ±3.32 / 68.76 ms │                 61.29 / 63.22 ±2.84 / 68.86 ms │     no change │
│ QQuery 78 │     163.05 / 167.37 ±3.89 / 173.84 ms │              115.59 / 118.51 ±3.13 / 123.61 ms │ +1.41x faster │
│ QQuery 79 │        66.19 / 67.31 ±0.85 / 68.28 ms │                 67.40 / 67.67 ±0.26 / 68.07 ms │     no change │
│ QQuery 80 │        95.76 / 97.27 ±0.98 / 98.79 ms │                 75.38 / 79.17 ±3.67 / 84.90 ms │ +1.23x faster │
│ QQuery 81 │        26.23 / 27.84 ±2.64 / 33.09 ms │                 27.43 / 27.62 ±0.13 / 27.82 ms │     no change │
│ QQuery 82 │        16.65 / 16.76 ±0.19 / 17.14 ms │                 30.85 / 31.18 ±0.32 / 31.75 ms │  1.86x slower │
│ QQuery 83 │        33.18 / 35.02 ±3.27 / 41.55 ms │                 28.79 / 29.18 ±0.40 / 29.93 ms │ +1.20x faster │
│ QQuery 84 │        29.84 / 30.71 ±0.93 / 32.50 ms │                 30.45 / 30.60 ±0.11 / 30.77 ms │     no change │
│ QQuery 85 │      98.71 / 100.19 ±1.56 / 102.93 ms │              158.08 / 163.95 ±4.97 / 172.35 ms │  1.64x slower │
│ QQuery 86 │        26.04 / 26.36 ±0.24 / 26.72 ms │                 30.23 / 30.45 ±0.21 / 30.73 ms │  1.16x slower │
│ QQuery 87 │        62.03 / 64.29 ±1.93 / 67.75 ms │                 79.38 / 81.46 ±2.65 / 86.49 ms │  1.27x slower │
│ QQuery 88 │        60.21 / 61.16 ±0.97 / 63.00 ms │                 64.25 / 69.44 ±4.22 / 76.02 ms │  1.14x slower │
│ QQuery 89 │        35.18 / 35.49 ±0.23 / 35.81 ms │                 42.34 / 42.60 ±0.19 / 42.84 ms │  1.20x slower │
│ QQuery 90 │        16.60 / 16.87 ±0.17 / 17.06 ms │                 17.97 / 18.25 ±0.22 / 18.57 ms │  1.08x slower │
│ QQuery 91 │        41.23 / 41.97 ±0.51 / 42.42 ms │                 43.47 / 44.60 ±0.74 / 45.65 ms │  1.06x slower │
│ QQuery 92 │        29.96 / 31.51 ±2.50 / 36.49 ms │                 31.23 / 35.23 ±6.56 / 48.22 ms │  1.12x slower │
│ QQuery 93 │        49.18 / 50.05 ±0.69 / 50.93 ms │                 49.24 / 50.26 ±0.70 / 51.07 ms │     no change │
│ QQuery 94 │        38.36 / 39.12 ±0.98 / 41.05 ms │                 36.29 / 36.72 ±0.29 / 37.16 ms │ +1.07x faster │
│ QQuery 95 │        79.91 / 80.44 ±0.48 / 81.21 ms │                94.24 / 97.92 ±3.24 / 103.26 ms │  1.22x slower │
│ QQuery 96 │        23.92 / 25.53 ±3.08 / 31.70 ms │                 26.18 / 26.81 ±0.56 / 27.84 ms │  1.05x slower │
│ QQuery 97 │        50.40 / 52.12 ±2.40 / 56.86 ms │                 53.61 / 54.72 ±1.15 / 56.13 ms │     no change │
│ QQuery 98 │        42.40 / 43.80 ±1.74 / 47.19 ms │                 38.32 / 40.49 ±1.84 / 43.80 ms │ +1.08x faster │
│ QQuery 99 │        64.50 / 64.87 ±0.37 / 65.53 ms │                 59.93 / 61.20 ±1.19 / 63.03 ms │ +1.06x faster │
└───────────┴───────────────────────────────────────┴────────────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Benchmark Summary                                             ┃           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ Total Time (HEAD)                                             │ 9129.44ms │
│ Total Time (fix_dedup-stringview-buffers-collectleft-joins)   │ 8065.44ms │
│ Average Time (HEAD)                                           │   92.22ms │
│ Average Time (fix_dedup-stringview-buffers-collectleft-joins) │   81.47ms │
│ Queries Faster                                                │        31 │
│ Queries Slower                                                │        42 │
│ Queries with No Change                                        │        26 │
│ Queries with Failure                                          │         0 │
└───────────────────────────────────────────────────────────────┴───────────┘

Resource Usage

tpcds — base (merge-base)

Metric Value
Wall time 50.0s
Peak memory 2.2 GiB
Avg memory 1.4 GiB
CPU user 192.7s
CPU sys 5.4s
Peak spill 0 B

tpcds — branch

Metric Value
Wall time 45.0s
Peak memory 1.8 GiB
Avg memory 1.2 GiB
CPU user 117.5s
CPU sys 5.7s
Peak spill 0 B

File an issue against this benchmark runner

@mohitgurav20

Copy link
Copy Markdown
Contributor Author

Thanks for the thorough review and suggestions! @kosiew

I've pushed a commit that addresses all four of your inline suggestions:

Clarified in the docs that deduplication uses the (pointer, length) pair.
Updated the RecordBatch::try_new comment to explain that the original batch's schema, column count, lengths, types, and null validity are all preserved.
Clarified that the fast path avoids rewriting the views, rather than claiming zero allocations.
Strengthened the reservation tests by adding assert_eq!(reservation.size(), get_record_batch_memory_size(&batch)) to all three deduplication tests to ensure the memory pool accurately reflects the shrunk footprint.
Regarding the benchmark investigation for Q64 (pushdown_filters = true): I investigated this regression and found the culprit. The deduplication logic was using std::collections::HashMap which uses the notoriously slow SipHash. Because pushdown_filters=true creates a high volume of heavily-filtered, fragmented batches, this hashing overhead was causing the regression. I have swapped it to use hashbrown::HashMap (which uses the much faster ahash algorithm standard in DataFusion) and this should resolve the slowdown!

All tests are passing. Let me know if you need anything else!

@kosiew

kosiew commented Oct 12, 2026

Copy link
Copy Markdown
Contributor

run benchmark tpcds

env:
  DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "true"

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highcpu-48 (12 vCPU / 65 GiB) | Linux bench-c6121378002-3330-rp8dt 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 fix/dedup-stringview-buffers-collectleft-joins (ca2623c) to 06aa131 (merge-base) diff

Run configuration
run benchmark tpcds
env:
  DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "true"

Results will be posted here when complete


File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark completed (GKE) | trigger

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

Comparing fix/dedup-stringview-buffers-collectleft-joins (ca2623c) to 06aa131 (merge-base) diff

Run configuration
run benchmark tpcds
env:
  DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "true"
CPU Details (lscpu)
Architecture:                            aarch64
CPU op-mode(s):                          64-bit
Byte Order:                              Little Endian
CPU(s):                                  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 fix_dedup-stringview-buffers-collectleft-joins
--------------------
Benchmark tpcds_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓
┃ Query     ┃      HEAD ┃ fix_dedup-stringview-buffers-collectleft-joins ┃       Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━┩
│ QQuery 1  │   5.00 ms │                                        5.11 ms │    no change │
│ QQuery 2  │  46.32 ms │                                       45.81 ms │    no change │
│ QQuery 3  │  26.22 ms │                                       25.94 ms │    no change │
│ QQuery 4  │ 345.92 ms │                                      345.15 ms │    no change │
│ QQuery 5  │  46.23 ms │                                       45.51 ms │    no change │
│ QQuery 6  │  36.23 ms │                                       35.52 ms │    no change │
│ QQuery 7  │  81.64 ms │                                       80.93 ms │    no change │
│ QQuery 8  │  14.66 ms │                                       14.74 ms │    no change │
│ QQuery 9  │ 116.52 ms │                                      118.72 ms │    no change │
│ QQuery 10 │  72.28 ms │                                       71.87 ms │    no change │
│ QQuery 11 │ 213.07 ms │                                      212.50 ms │    no change │
│ QQuery 12 │  27.27 ms │                                       27.19 ms │    no change │
│ QQuery 13 │ 110.24 ms │                                      109.26 ms │    no change │
│ QQuery 14 │ 425.51 ms │                                      424.86 ms │    no change │
│ QQuery 15 │  22.92 ms │                                       22.98 ms │    no change │
│ QQuery 16 │   5.72 ms │                                        5.64 ms │    no change │
│ QQuery 17 │ 114.52 ms │                                      114.22 ms │    no change │
│ QQuery 18 │ 160.30 ms │                                      162.95 ms │    no change │
│ QQuery 19 │  38.07 ms │                                       38.42 ms │    no change │
│ QQuery 20 │  30.45 ms │                                       30.95 ms │    no change │
│ QQuery 21 │  18.75 ms │                                       18.73 ms │    no change │
│ QQuery 22 │  59.63 ms │                                       60.47 ms │    no change │
│ QQuery 23 │ 365.86 ms │                                      365.33 ms │    no change │
│ QQuery 24 │ 162.94 ms │                                      163.04 ms │    no change │
│ QQuery 25 │ 115.14 ms │                                      114.44 ms │    no change │
│ QQuery 26 │  62.82 ms │                                       62.74 ms │    no change │
│ QQuery 27 │   5.71 ms │                                        5.61 ms │    no change │
│ QQuery 28 │  73.04 ms │                                       72.49 ms │    no change │
│ QQuery 29 │ 145.79 ms │                                      144.24 ms │    no change │
│ QQuery 30 │  32.45 ms │                                       31.67 ms │    no change │
│ QQuery 31 │ 122.08 ms │                                      123.34 ms │    no change │
│ QQuery 32 │  20.59 ms │                                       20.67 ms │    no change │
│ QQuery 33 │  38.16 ms │                                       37.98 ms │    no change │
│ QQuery 34 │  10.01 ms │                                       10.72 ms │ 1.07x slower │
│ QQuery 35 │  83.63 ms │                                       84.72 ms │    no change │
│ QQuery 36 │   5.33 ms │                                        5.30 ms │    no change │
│ QQuery 37 │   6.79 ms │                                        6.75 ms │    no change │
│ QQuery 38 │  75.15 ms │                                       76.59 ms │    no change │
│ QQuery 39 │  69.30 ms │                                       68.96 ms │    no change │
│ QQuery 40 │  19.29 ms │                                       18.91 ms │    no change │
│ QQuery 41 │  11.77 ms │                                       11.70 ms │    no change │
│ QQuery 42 │  22.84 ms │                                       22.66 ms │    no change │
│ QQuery 43 │   4.33 ms │                                        4.33 ms │    no change │
│ QQuery 44 │   8.15 ms │                                        8.09 ms │    no change │
│ QQuery 45 │  25.01 ms │                                       25.56 ms │    no change │
│ QQuery 46 │  12.09 ms │                                       11.97 ms │    no change │
│ QQuery 47 │ 215.60 ms │                                      216.83 ms │    no change │
│ QQuery 48 │ 116.84 ms │                                      118.99 ms │    no change │
│ QQuery 49 │  85.03 ms │                                       85.49 ms │    no change │
│ QQuery 50 │ 124.04 ms │                                      124.14 ms │    no change │
│ QQuery 51 │ 100.85 ms │                                       98.99 ms │    no change │
│ QQuery 52 │  23.15 ms │                                       23.00 ms │    no change │
│ QQuery 53 │  29.44 ms │                                       29.55 ms │    no change │
│ QQuery 54 │  28.61 ms │                                       29.49 ms │    no change │
│ QQuery 55 │  22.82 ms │                                       22.94 ms │    no change │
│ QQuery 56 │  33.27 ms │                                       33.51 ms │    no change │
│ QQuery 57 │ 133.02 ms │                                      134.77 ms │    no change │
│ QQuery 58 │  70.96 ms │                                       71.67 ms │    no change │
│ QQuery 59 │  78.43 ms │                                       78.01 ms │    no change │
│ QQuery 60 │  37.16 ms │                                       37.27 ms │    no change │
│ QQuery 61 │  10.65 ms │                                       10.73 ms │    no change │
│ QQuery 62 │  40.85 ms │                                       40.93 ms │    no change │
│ QQuery 63 │  29.52 ms │                                       29.57 ms │    no change │
│ QQuery 64 │ 507.43 ms │                                      511.53 ms │    no change │
│ QQuery 65 │ 161.92 ms │                                      162.44 ms │    no change │
│ QQuery 66 │  62.48 ms │                                       62.14 ms │    no change │
│ QQuery 67 │ 249.95 ms │                                      250.13 ms │    no change │
│ QQuery 68 │  11.74 ms │                                       12.01 ms │    no change │
│ QQuery 69 │  68.69 ms │                                       68.03 ms │    no change │
│ QQuery 70 │ 117.79 ms │                                      118.51 ms │    no change │
│ QQuery 71 │  31.19 ms │                                       31.34 ms │    no change │
│ QQuery 72 │ 169.91 ms │                                      170.45 ms │    no change │
│ QQuery 73 │   9.73 ms │                                       10.29 ms │ 1.06x slower │
│ QQuery 74 │ 143.95 ms │                                      144.12 ms │    no change │
│ QQuery 75 │ 177.82 ms │                                      177.08 ms │    no change │
│ QQuery 76 │  39.11 ms │                                       39.15 ms │    no change │
│ QQuery 77 │  59.72 ms │                                       59.65 ms │    no change │
│ QQuery 78 │ 113.58 ms │                                      113.16 ms │    no change │
│ QQuery 79 │  65.84 ms │                                       65.91 ms │    no change │
│ QQuery 80 │  73.18 ms │                                       72.97 ms │    no change │
│ QQuery 81 │  26.27 ms │                                       26.18 ms │    no change │
│ QQuery 82 │  30.41 ms │                                       30.28 ms │    no change │
│ QQuery 83 │  27.65 ms │                                       27.45 ms │    no change │
│ QQuery 84 │  29.64 ms │                                       29.65 ms │    no change │
│ QQuery 85 │ 156.87 ms │                                      156.84 ms │    no change │
│ QQuery 86 │  29.67 ms │                                       29.40 ms │    no change │
│ QQuery 87 │  74.77 ms │                                       76.23 ms │    no change │
│ QQuery 88 │  64.17 ms │                                       64.57 ms │    no change │
│ QQuery 89 │  41.70 ms │                                       41.39 ms │    no change │
│ QQuery 90 │  17.30 ms │                                       17.34 ms │    no change │
│ QQuery 91 │  43.73 ms │                                       43.45 ms │    no change │
│ QQuery 92 │  29.41 ms │                                       29.47 ms │    no change │
│ QQuery 93 │  47.79 ms │                                       48.26 ms │    no change │
│ QQuery 94 │  35.38 ms │                                       34.77 ms │    no change │
│ QQuery 95 │  92.07 ms │                                       93.02 ms │    no change │
│ QQuery 96 │  25.20 ms │                                       25.43 ms │    no change │
│ QQuery 97 │  51.95 ms │                                       52.49 ms │    no change │
│ QQuery 98 │  37.33 ms │                                       37.72 ms │    no change │
│ QQuery 99 │  58.79 ms │                                       58.92 ms │    no change │
└───────────┴───────────┴────────────────────────────────────────────────┴──────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Benchmark Summary                                             ┃           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ Total Time (HEAD)                                             │ 7680.07ms │
│ Total Time (fix_dedup-stringview-buffers-collectleft-joins)   │ 7692.92ms │
│ Average Time (HEAD)                                           │   77.58ms │
│ Average Time (fix_dedup-stringview-buffers-collectleft-joins) │   77.71ms │
│ Queries Faster                                                │         0 │
│ Queries Slower                                                │         2 │
│ Queries with No Change                                        │        97 │
│ Queries with Failure                                          │         0 │
└───────────────────────────────────────────────────────────────┴───────────┘

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

Comparing HEAD and fix_dedup-stringview-buffers-collectleft-joins
--------------------
Benchmark tpcds_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓
┃ Query     ┃                              HEAD ┃ fix_dedup-stringview-buffers-collectleft-joins ┃       Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━┩
│ QQuery 1  │       5.00 / 5.59 ±1.07 / 7.72 ms │                    5.11 / 5.74 ±1.12 / 7.98 ms │    no change │
│ QQuery 2  │    46.32 / 46.80 ±0.54 / 47.78 ms │                 45.81 / 46.15 ±0.47 / 47.06 ms │    no change │
│ QQuery 3  │    26.22 / 26.54 ±0.23 / 26.87 ms │                 25.94 / 26.24 ±0.31 / 26.70 ms │    no change │
│ QQuery 4  │ 345.92 / 349.56 ±3.95 / 356.45 ms │              345.15 / 350.72 ±5.29 / 359.02 ms │    no change │
│ QQuery 5  │    46.23 / 46.78 ±0.40 / 47.31 ms │                 45.51 / 46.29 ±0.61 / 47.12 ms │    no change │
│ QQuery 6  │    36.23 / 36.30 ±0.05 / 36.36 ms │                 35.52 / 36.06 ±0.42 / 36.78 ms │    no change │
│ QQuery 7  │    81.64 / 81.94 ±0.27 / 82.34 ms │                 80.93 / 81.63 ±0.57 / 82.46 ms │    no change │
│ QQuery 8  │    14.66 / 16.29 ±2.87 / 22.02 ms │                 14.74 / 16.33 ±2.89 / 22.10 ms │    no change │
│ QQuery 9  │ 116.52 / 119.23 ±1.42 / 120.39 ms │              118.72 / 120.01 ±1.57 / 122.49 ms │    no change │
│ QQuery 10 │    72.28 / 74.94 ±4.31 / 83.54 ms │                 71.87 / 72.32 ±0.32 / 72.75 ms │    no change │
│ QQuery 11 │ 213.07 / 216.88 ±4.88 / 226.32 ms │              212.50 / 218.07 ±8.21 / 234.21 ms │    no change │
│ QQuery 12 │    27.27 / 27.78 ±0.30 / 28.17 ms │                 27.19 / 27.52 ±0.29 / 28.02 ms │    no change │
│ QQuery 13 │ 110.24 / 111.12 ±0.55 / 111.98 ms │              109.26 / 110.28 ±0.67 / 111.00 ms │    no change │
│ QQuery 14 │ 425.51 / 431.27 ±6.15 / 443.16 ms │              424.86 / 430.05 ±3.53 / 434.73 ms │    no change │
│ QQuery 15 │    22.92 / 25.26 ±3.85 / 32.91 ms │                 22.98 / 25.09 ±3.44 / 31.96 ms │    no change │
│ QQuery 16 │       5.72 / 5.84 ±0.14 / 6.11 ms │                    5.64 / 5.78 ±0.18 / 6.14 ms │    no change │
│ QQuery 17 │ 114.52 / 116.90 ±2.20 / 120.80 ms │              114.22 / 117.03 ±2.92 / 121.94 ms │    no change │
│ QQuery 18 │ 160.30 / 162.47 ±2.26 / 166.40 ms │              162.95 / 166.55 ±2.49 / 170.15 ms │    no change │
│ QQuery 19 │    38.07 / 38.70 ±0.51 / 39.35 ms │                 38.42 / 38.86 ±0.34 / 39.36 ms │    no change │
│ QQuery 20 │    30.45 / 31.54 ±0.83 / 32.90 ms │                 30.95 / 31.44 ±0.62 / 32.65 ms │    no change │
│ QQuery 21 │    18.75 / 18.95 ±0.11 / 19.04 ms │                 18.73 / 18.85 ±0.11 / 19.05 ms │    no change │
│ QQuery 22 │    59.63 / 61.02 ±0.84 / 61.85 ms │                 60.47 / 61.32 ±0.73 / 62.60 ms │    no change │
│ QQuery 23 │ 365.86 / 370.58 ±2.74 / 373.43 ms │              365.33 / 369.77 ±3.91 / 374.75 ms │    no change │
│ QQuery 24 │ 162.94 / 166.46 ±3.63 / 173.34 ms │              163.04 / 164.37 ±0.81 / 165.18 ms │    no change │
│ QQuery 25 │ 115.14 / 115.94 ±1.44 / 118.82 ms │              114.44 / 117.10 ±2.22 / 120.29 ms │    no change │
│ QQuery 26 │    62.82 / 64.09 ±1.90 / 67.84 ms │                 62.74 / 63.88 ±1.63 / 67.10 ms │    no change │
│ QQuery 27 │       5.71 / 5.93 ±0.12 / 6.04 ms │                    5.61 / 5.91 ±0.18 / 6.09 ms │    no change │
│ QQuery 28 │    73.04 / 74.27 ±1.59 / 77.32 ms │                 72.49 / 76.53 ±3.59 / 81.68 ms │    no change │
│ QQuery 29 │ 145.79 / 148.59 ±4.24 / 156.97 ms │              144.24 / 145.86 ±1.04 / 147.36 ms │    no change │
│ QQuery 30 │    32.45 / 33.59 ±1.69 / 36.88 ms │                 31.67 / 33.43 ±2.37 / 38.04 ms │    no change │
│ QQuery 31 │ 122.08 / 123.02 ±0.69 / 123.91 ms │              123.34 / 124.64 ±1.58 / 127.60 ms │    no change │
│ QQuery 32 │    20.59 / 21.19 ±0.52 / 21.76 ms │                 20.67 / 21.03 ±0.29 / 21.41 ms │    no change │
│ QQuery 33 │    38.16 / 38.96 ±0.96 / 40.85 ms │                 37.98 / 39.58 ±2.89 / 45.35 ms │    no change │
│ QQuery 34 │    10.01 / 10.42 ±0.32 / 10.87 ms │                 10.72 / 11.38 ±0.58 / 12.25 ms │ 1.09x slower │
│ QQuery 35 │    83.63 / 84.49 ±0.86 / 86.05 ms │                 84.72 / 85.61 ±0.78 / 86.61 ms │    no change │
│ QQuery 36 │       5.33 / 5.49 ±0.23 / 5.94 ms │                    5.30 / 5.44 ±0.20 / 5.82 ms │    no change │
│ QQuery 37 │       6.79 / 6.86 ±0.08 / 6.99 ms │                    6.75 / 6.88 ±0.12 / 7.07 ms │    no change │
│ QQuery 38 │    75.15 / 75.98 ±0.47 / 76.35 ms │                 76.59 / 76.90 ±0.31 / 77.38 ms │    no change │
│ QQuery 39 │    69.30 / 70.77 ±1.29 / 72.39 ms │                 68.96 / 71.42 ±3.51 / 78.33 ms │    no change │
│ QQuery 40 │    19.29 / 19.47 ±0.13 / 19.67 ms │                 18.91 / 19.25 ±0.28 / 19.63 ms │    no change │
│ QQuery 41 │    11.77 / 12.46 ±1.14 / 14.74 ms │                 11.70 / 12.71 ±1.78 / 16.27 ms │    no change │
│ QQuery 42 │    22.84 / 23.27 ±0.50 / 24.25 ms │                 22.66 / 23.25 ±0.46 / 23.90 ms │    no change │
│ QQuery 43 │       4.33 / 4.43 ±0.16 / 4.75 ms │                    4.33 / 4.46 ±0.18 / 4.81 ms │    no change │
│ QQuery 44 │       8.15 / 8.27 ±0.14 / 8.53 ms │                    8.09 / 8.29 ±0.14 / 8.48 ms │    no change │
│ QQuery 45 │    25.01 / 25.31 ±0.18 / 25.54 ms │                 25.56 / 25.98 ±0.30 / 26.43 ms │    no change │
│ QQuery 46 │    12.09 / 12.31 ±0.17 / 12.56 ms │                 11.97 / 12.23 ±0.19 / 12.54 ms │    no change │
│ QQuery 47 │ 215.60 / 218.75 ±2.96 / 223.19 ms │              216.83 / 221.74 ±6.10 / 233.78 ms │    no change │
│ QQuery 48 │ 116.84 / 120.45 ±3.62 / 126.97 ms │              118.99 / 122.92 ±3.63 / 129.13 ms │    no change │
│ QQuery 49 │    85.03 / 86.00 ±0.87 / 87.55 ms │                 85.49 / 85.85 ±0.35 / 86.33 ms │    no change │
│ QQuery 50 │ 124.04 / 125.62 ±2.30 / 130.17 ms │              124.14 / 130.67 ±7.13 / 141.13 ms │    no change │
│ QQuery 51 │ 100.85 / 103.29 ±2.77 / 108.57 ms │               98.99 / 101.66 ±1.74 / 104.10 ms │    no change │
│ QQuery 52 │    23.15 / 23.49 ±0.38 / 24.22 ms │                 23.00 / 23.29 ±0.29 / 23.70 ms │    no change │
│ QQuery 53 │    29.44 / 29.54 ±0.09 / 29.67 ms │                 29.55 / 29.84 ±0.18 / 30.03 ms │    no change │
│ QQuery 54 │    28.61 / 31.06 ±3.01 / 36.37 ms │                 29.49 / 30.92 ±1.22 / 33.18 ms │    no change │
│ QQuery 55 │    22.82 / 23.14 ±0.29 / 23.64 ms │                 22.94 / 23.20 ±0.23 / 23.50 ms │    no change │
│ QQuery 56 │    33.27 / 33.52 ±0.16 / 33.70 ms │                 33.51 / 33.88 ±0.24 / 34.21 ms │    no change │
│ QQuery 57 │ 133.02 / 135.78 ±2.48 / 139.69 ms │              134.77 / 138.45 ±4.74 / 147.70 ms │    no change │
│ QQuery 58 │    70.96 / 71.60 ±0.45 / 72.17 ms │                 71.67 / 72.39 ±0.39 / 72.81 ms │    no change │
│ QQuery 59 │    78.43 / 79.91 ±2.78 / 85.46 ms │                 78.01 / 79.39 ±1.53 / 82.37 ms │    no change │
│ QQuery 60 │    37.16 / 37.39 ±0.19 / 37.72 ms │                 37.27 / 37.84 ±0.47 / 38.69 ms │    no change │
│ QQuery 61 │    10.65 / 11.07 ±0.50 / 12.01 ms │                 10.73 / 10.87 ±0.19 / 11.25 ms │    no change │
│ QQuery 62 │    40.85 / 41.40 ±0.29 / 41.65 ms │                 40.93 / 41.33 ±0.39 / 42.05 ms │    no change │
│ QQuery 63 │    29.52 / 29.62 ±0.14 / 29.90 ms │                 29.57 / 29.70 ±0.08 / 29.80 ms │    no change │
│ QQuery 64 │ 507.43 / 512.56 ±3.65 / 517.12 ms │              511.53 / 518.92 ±5.27 / 525.18 ms │    no change │
│ QQuery 65 │ 161.92 / 165.65 ±3.17 / 171.52 ms │              162.44 / 166.98 ±3.77 / 172.21 ms │    no change │
│ QQuery 66 │    62.48 / 63.64 ±1.92 / 67.47 ms │                 62.14 / 63.19 ±1.54 / 66.24 ms │    no change │
│ QQuery 67 │ 249.95 / 255.02 ±4.16 / 259.55 ms │              250.13 / 255.54 ±5.11 / 263.48 ms │    no change │
│ QQuery 68 │    11.74 / 11.91 ±0.18 / 12.23 ms │                 12.01 / 12.21 ±0.20 / 12.60 ms │    no change │
│ QQuery 69 │    68.69 / 71.10 ±3.69 / 78.44 ms │                 68.03 / 69.09 ±0.77 / 70.23 ms │    no change │
│ QQuery 70 │ 117.79 / 122.30 ±7.63 / 137.46 ms │              118.51 / 122.17 ±4.84 / 131.69 ms │    no change │
│ QQuery 71 │    31.19 / 31.54 ±0.23 / 31.80 ms │                 31.34 / 32.05 ±0.72 / 33.28 ms │    no change │
│ QQuery 72 │ 169.91 / 173.62 ±4.07 / 181.28 ms │              170.45 / 172.63 ±2.03 / 175.08 ms │    no change │
│ QQuery 73 │     9.73 / 10.09 ±0.21 / 10.34 ms │                 10.29 / 10.45 ±0.15 / 10.72 ms │    no change │
│ QQuery 74 │ 143.95 / 148.20 ±5.79 / 159.49 ms │              144.12 / 148.06 ±5.58 / 159.14 ms │    no change │
│ QQuery 75 │ 177.82 / 181.67 ±3.54 / 186.46 ms │              177.08 / 179.37 ±3.63 / 186.58 ms │    no change │
│ QQuery 76 │    39.11 / 39.96 ±0.84 / 41.50 ms │                 39.15 / 39.51 ±0.33 / 40.13 ms │    no change │
│ QQuery 77 │    59.72 / 60.78 ±1.50 / 63.76 ms │                 59.65 / 62.05 ±3.90 / 69.81 ms │    no change │
│ QQuery 78 │ 113.58 / 115.42 ±2.44 / 120.19 ms │              113.16 / 115.94 ±3.05 / 121.76 ms │    no change │
│ QQuery 79 │    65.84 / 66.11 ±0.19 / 66.37 ms │                 65.91 / 66.41 ±0.53 / 67.38 ms │    no change │
│ QQuery 80 │    73.18 / 74.02 ±0.63 / 74.72 ms │                 72.97 / 73.67 ±0.73 / 74.76 ms │    no change │
│ QQuery 81 │    26.27 / 26.50 ±0.17 / 26.72 ms │                 26.18 / 27.11 ±1.40 / 29.89 ms │    no change │
│ QQuery 82 │    30.41 / 31.94 ±2.08 / 36.01 ms │                 30.28 / 30.65 ±0.40 / 31.34 ms │    no change │
│ QQuery 83 │    27.65 / 27.93 ±0.26 / 28.30 ms │                 27.45 / 28.27 ±0.44 / 28.68 ms │    no change │
│ QQuery 84 │    29.64 / 29.74 ±0.10 / 29.91 ms │                 29.65 / 29.78 ±0.08 / 29.86 ms │    no change │
│ QQuery 85 │ 156.87 / 162.31 ±4.59 / 170.19 ms │              156.84 / 164.57 ±9.91 / 182.17 ms │    no change │
│ QQuery 86 │    29.67 / 29.96 ±0.22 / 30.21 ms │                 29.40 / 29.83 ±0.33 / 30.16 ms │    no change │
│ QQuery 87 │    74.77 / 76.23 ±1.12 / 77.99 ms │                 76.23 / 77.76 ±1.90 / 81.33 ms │    no change │
│ QQuery 88 │    64.17 / 67.26 ±3.53 / 73.89 ms │                 64.57 / 66.82 ±1.58 / 68.84 ms │    no change │
│ QQuery 89 │    41.70 / 41.99 ±0.27 / 42.41 ms │                 41.39 / 41.74 ±0.22 / 41.95 ms │    no change │
│ QQuery 90 │    17.30 / 17.61 ±0.22 / 17.98 ms │                 17.34 / 17.50 ±0.19 / 17.85 ms │    no change │
│ QQuery 91 │    43.73 / 46.14 ±2.79 / 51.26 ms │                 43.45 / 46.03 ±2.72 / 51.01 ms │    no change │
│ QQuery 92 │    29.41 / 30.04 ±0.52 / 30.83 ms │                 29.47 / 30.18 ±1.00 / 32.16 ms │    no change │
│ QQuery 93 │    47.79 / 50.03 ±3.73 / 57.42 ms │                 48.26 / 50.86 ±4.43 / 59.68 ms │    no change │
│ QQuery 94 │    35.38 / 35.68 ±0.36 / 36.38 ms │                 34.77 / 35.46 ±0.69 / 36.49 ms │    no change │
│ QQuery 95 │    92.07 / 93.95 ±2.36 / 98.47 ms │                93.02 / 95.85 ±2.91 / 101.11 ms │    no change │
│ QQuery 96 │    25.20 / 26.31 ±0.86 / 27.75 ms │                 25.43 / 26.14 ±0.81 / 27.72 ms │    no change │
│ QQuery 97 │    51.95 / 53.22 ±1.43 / 55.93 ms │                 52.49 / 54.46 ±1.44 / 56.87 ms │    no change │
│ QQuery 98 │    37.33 / 39.74 ±2.13 / 43.70 ms │                 37.72 / 39.10 ±1.50 / 41.94 ms │    no change │
│ QQuery 99 │    58.79 / 59.92 ±1.57 / 63.03 ms │                 58.92 / 60.38 ±1.91 / 64.14 ms │    no change │
└───────────┴───────────────────────────────────┴────────────────────────────────────────────────┴──────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Benchmark Summary                                             ┃           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ Total Time (HEAD)                                             │ 7825.62ms │
│ Total Time (fix_dedup-stringview-buffers-collectleft-joins)   │ 7852.88ms │
│ Average Time (HEAD)                                           │   79.05ms │
│ Average Time (fix_dedup-stringview-buffers-collectleft-joins) │   79.32ms │
│ Queries Faster                                                │         0 │
│ Queries Slower                                                │         1 │
│ Queries with No Change                                        │        98 │
│ Queries with Failure                                          │         0 │
└───────────────────────────────────────────────────────────────┴───────────┘

Resource Usage

tpcds — base (merge-base)

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

tpcds — branch

Metric Value
Wall time 40.0s
Peak memory 1.7 GiB
Avg memory 1.2 GiB
CPU user 115.2s
CPU sys 5.2s
Peak spill 0 B

File an issue against this benchmark runner

@kosiew

kosiew commented Oct 13, 2026

Copy link
Copy Markdown
Contributor

hi @mohitgurav20
From this benchmark run, this PR is effectively neutral on TPC-DS SF1 benchmark and may not merit merging.
Do you want to investigate further?

@mohitgurav20

Copy link
Copy Markdown
Contributor Author

Thanks for running that @kosiew — that result makes sense to me. TPC-DS at SF1 is 1GB of data, so everything sits comfortably in memory and the buffer explosion never really gets a chance to kick in. The fix targets a pretty specific pattern: multiple chained broadcast joins on the same StringView/BinaryView column, where each concat pass accumulates duplicate references to the same underlying buffers. At small scale that overhead is invisible.

The issue description actually measured this with a single column growing to 1.5M buffer references where only 2 were distinct — that's the real scenario where you'd see the 7x memory and 10x latency impact. TPC-DS SF1 just doesn't stress that path.

Happy to put together a focused micro-benchmark that directly reproduces the exponential growth, or run at SF10/SF100 if you'd prefer a more standard signal.
What makes more sense to you?

@alamb

alamb commented Oct 13, 2026

Copy link
Copy Markdown
Contributor

I think since @adriangb filed the original ticket, perhaps he can weigh in here

I agree if we can't find some representative benchmark that shows the extra complexity improves the performance, we should probably not merge this code

I don't think a focused micro benchmark is enough

@mohitgurav20

Copy link
Copy Markdown
Contributor Author

Understood @alamb — that's fair. I'll run TPC-DS at SF10 and share the numbers here. If the improvement doesn't show up there, I'll close this out rather than add complexity without a clear payoff. Will ping @adriangb as well in case they have a query that triggered the original observation.

@adriangb

Copy link
Copy Markdown
Contributor

run benchmark tpcds

baseline:
  ref: 06aa131
  env:
    DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "true"
changed:
  ref: ca2623c
  env:
    DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "true"

@adriangb

Copy link
Copy Markdown
Contributor

run benchmark tpcds

baseline:
  ref: 06aa131
  env:
    DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "false"
changed:
  ref: ca2623c
  env:
    DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "false"

@adriangb

Copy link
Copy Markdown
Contributor

run benchmark tpcds

baseline:
  ref: ca2623c
  env:
    DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "true"
changed:
  ref: ca2623c
  env:
    DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "false"

@adriangb

Copy link
Copy Markdown
Contributor

run benchmark tpcds

baseline:
  ref: 06aa131
  env:
    DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "true"
changed:
  ref: 06aa131
  env:
    DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "false"

@adriangb

Copy link
Copy Markdown
Contributor

run benchmark tpcds

baseline:
  ref: 06aa131
  env:
    DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "true"
changed:
  ref: 06aa131
  env:
    DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "true"

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c6152177725-3365-hkd27 6.12.94+ #1 SMP Fri Aug 21 08:00:16 UTC 2026 aarch64 GNU/Linux

CPU Details (lscpu)
Architecture:                            aarch64
CPU op-mode(s):                          64-bit
Byte Order:                              Little Endian
CPU(s):                                  16
On-line CPU(s) list:                     0-15
Vendor ID:                               ARM
Model name:                              Neoverse-V2
Model:                                   1
Thread(s) per core:                      1
Core(s) per cluster:                     16
Socket(s):                               -
Cluster(s):                              1
Stepping:                                r0p1
BogoMIPS:                                2000.00
Flags:                                   fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 sve asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp sve2 sveaes svepmull svebitperm svesha3 svesm4 flagm2 frint svei8mm svebf16 i8mm bf16 dgh rng bti
L1d cache:                               1 MiB (16 instances)
L1i cache:                               1 MiB (16 instances)
L2 cache:                                32 MiB (16 instances)
L3 cache:                                80 MiB (1 instance)
NUMA node(s):                            1
NUMA node0 CPU(s):                       0-15
Vulnerability Gather data sampling:      Not affected
Vulnerability Indirect target selection: Not affected
Vulnerability Itlb multihit:             Not affected
Vulnerability L1tf:                      Not affected
Vulnerability Mds:                       Not affected
Vulnerability Meltdown:                  Not affected
Vulnerability Mmio stale data:           Not affected
Vulnerability Reg file data sampling:    Not affected
Vulnerability Retbleed:                  Not affected
Vulnerability Spec rstack overflow:      Not affected
Vulnerability Spec store bypass:         Mitigation; Speculative Store Bypass disabled via prctl
Vulnerability Spectre v1:                Mitigation; __user pointer sanitization
Vulnerability Spectre v2:                Mitigation; CSV2, BHB
Vulnerability Srbds:                     Not affected
Vulnerability Tsa:                       Not affected
Vulnerability Tsx async abort:           Not affected
Vulnerability Vmscape:                   Not affected

Comparing 06aa131 (06aa131) to 06aa131 diff

Run configuration
run benchmark tpcds
baseline:
  ref: "06aa131"
  env:
    DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "true"
changed:
  ref: "06aa131"
  env:
    DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "false"

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-c6152176776-3363-8hj2l 6.12.94+ #1 SMP Fri Aug 21 08:00:16 UTC 2026 aarch64 GNU/Linux

CPU Details (lscpu)
Architecture:                            aarch64
CPU op-mode(s):                          64-bit
Byte Order:                              Little Endian
CPU(s):                                  16
On-line CPU(s) list:                     0-15
Vendor ID:                               ARM
Model name:                              Neoverse-V2
Model:                                   1
Thread(s) per core:                      1
Core(s) per cluster:                     16
Socket(s):                               -
Cluster(s):                              1
Stepping:                                r0p1
BogoMIPS:                                2000.00
Flags:                                   fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 sve asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp sve2 sveaes svepmull svebitperm svesha3 svesm4 flagm2 frint svei8mm svebf16 i8mm bf16 dgh rng bti
L1d cache:                               1 MiB (16 instances)
L1i cache:                               1 MiB (16 instances)
L2 cache:                                32 MiB (16 instances)
L3 cache:                                80 MiB (1 instance)
NUMA node(s):                            1
NUMA node0 CPU(s):                       0-15
Vulnerability Gather data sampling:      Not affected
Vulnerability Indirect target selection: Not affected
Vulnerability Itlb multihit:             Not affected
Vulnerability L1tf:                      Not affected
Vulnerability Mds:                       Not affected
Vulnerability Meltdown:                  Not affected
Vulnerability Mmio stale data:           Not affected
Vulnerability Reg file data sampling:    Not affected
Vulnerability Retbleed:                  Not affected
Vulnerability Spec rstack overflow:      Not affected
Vulnerability Spec store bypass:         Mitigation; Speculative Store Bypass disabled via prctl
Vulnerability Spectre v1:                Mitigation; __user pointer sanitization
Vulnerability Spectre v2:                Mitigation; CSV2, BHB
Vulnerability Srbds:                     Not affected
Vulnerability Tsa:                       Not affected
Vulnerability Tsx async abort:           Not affected
Vulnerability Vmscape:                   Not affected

Comparing ca2623c (ca2623c) to 06aa131 diff

Run configuration
run benchmark tpcds
baseline:
  ref: "06aa131"
  env:
    DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "false"
changed:
  ref: "ca2623c"
  env:
    DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "false"

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-c6152177135-3362-2bphv 6.12.94+ #1 SMP Fri Aug 21 08:00:16 UTC 2026 aarch64 GNU/Linux

CPU Details (lscpu)
Architecture:                            aarch64
CPU op-mode(s):                          64-bit
Byte Order:                              Little Endian
CPU(s):                                  16
On-line CPU(s) list:                     0-15
Vendor ID:                               ARM
Model name:                              Neoverse-V2
Model:                                   1
Thread(s) per core:                      1
Core(s) per cluster:                     16
Socket(s):                               -
Cluster(s):                              1
Stepping:                                r0p1
BogoMIPS:                                2000.00
Flags:                                   fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 sve asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp sve2 sveaes svepmull svebitperm svesha3 svesm4 flagm2 frint svei8mm svebf16 i8mm bf16 dgh rng bti
L1d cache:                               1 MiB (16 instances)
L1i cache:                               1 MiB (16 instances)
L2 cache:                                32 MiB (16 instances)
L3 cache:                                80 MiB (1 instance)
NUMA node(s):                            1
NUMA node0 CPU(s):                       0-15
Vulnerability Gather data sampling:      Not affected
Vulnerability Indirect target selection: Not affected
Vulnerability Itlb multihit:             Not affected
Vulnerability L1tf:                      Not affected
Vulnerability Mds:                       Not affected
Vulnerability Meltdown:                  Not affected
Vulnerability Mmio stale data:           Not affected
Vulnerability Reg file data sampling:    Not affected
Vulnerability Retbleed:                  Not affected
Vulnerability Spec rstack overflow:      Not affected
Vulnerability Spec store bypass:         Mitigation; Speculative Store Bypass disabled via prctl
Vulnerability Spectre v1:                Mitigation; __user pointer sanitization
Vulnerability Spectre v2:                Mitigation; CSV2, BHB
Vulnerability Srbds:                     Not affected
Vulnerability Tsa:                       Not affected
Vulnerability Tsx async abort:           Not affected
Vulnerability Vmscape:                   Not affected

Comparing ca2623c (ca2623c) to ca2623c diff

Run configuration
run benchmark tpcds
baseline:
  ref: "ca2623c"
  env:
    DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "true"
changed:
  ref: "ca2623c"
  env:
    DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "false"

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-c6152176324-3361-pg6nd 6.12.94+ #1 SMP Fri Aug 21 08:00:16 UTC 2026 aarch64 GNU/Linux

CPU Details (lscpu)
Architecture:                            aarch64
CPU op-mode(s):                          64-bit
Byte Order:                              Little Endian
CPU(s):                                  16
On-line CPU(s) list:                     0-15
Vendor ID:                               ARM
Model name:                              Neoverse-V2
Model:                                   1
Thread(s) per core:                      1
Core(s) per cluster:                     16
Socket(s):                               -
Cluster(s):                              1
Stepping:                                r0p1
BogoMIPS:                                2000.00
Flags:                                   fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 sve asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp sve2 sveaes svepmull svebitperm svesha3 svesm4 flagm2 frint svei8mm svebf16 i8mm bf16 dgh rng bti
L1d cache:                               1 MiB (16 instances)
L1i cache:                               1 MiB (16 instances)
L2 cache:                                32 MiB (16 instances)
L3 cache:                                80 MiB (1 instance)
NUMA node(s):                            1
NUMA node0 CPU(s):                       0-15
Vulnerability Gather data sampling:      Not affected
Vulnerability Indirect target selection: Not affected
Vulnerability Itlb multihit:             Not affected
Vulnerability L1tf:                      Not affected
Vulnerability Mds:                       Not affected
Vulnerability Meltdown:                  Not affected
Vulnerability Mmio stale data:           Not affected
Vulnerability Reg file data sampling:    Not affected
Vulnerability Retbleed:                  Not affected
Vulnerability Spec rstack overflow:      Not affected
Vulnerability Spec store bypass:         Mitigation; Speculative Store Bypass disabled via prctl
Vulnerability Spectre v1:                Mitigation; __user pointer sanitization
Vulnerability Spectre v2:                Mitigation; CSV2, BHB
Vulnerability Srbds:                     Not affected
Vulnerability Tsa:                       Not affected
Vulnerability Tsx async abort:           Not affected
Vulnerability Vmscape:                   Not affected

Comparing ca2623c (ca2623c) to 06aa131 diff

Run configuration
run benchmark tpcds
baseline:
  ref: "06aa131"
  env:
    DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "true"
changed:
  ref: "ca2623c"
  env:
    DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "true"

Results will be posted here when complete


File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c6152178163-3364-zqqmv 6.12.94+ #1 SMP Fri Aug 21 08:00:16 UTC 2026 aarch64 GNU/Linux

CPU Details (lscpu)
Architecture:                            aarch64
CPU op-mode(s):                          64-bit
Byte Order:                              Little Endian
CPU(s):                                  16
On-line CPU(s) list:                     0-15
Vendor ID:                               ARM
Model name:                              Neoverse-V2
Model:                                   1
Thread(s) per core:                      1
Core(s) per cluster:                     16
Socket(s):                               -
Cluster(s):                              1
Stepping:                                r0p1
BogoMIPS:                                2000.00
Flags:                                   fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 sve asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp sve2 sveaes svepmull svebitperm svesha3 svesm4 flagm2 frint svei8mm svebf16 i8mm bf16 dgh rng bti
L1d cache:                               1 MiB (16 instances)
L1i cache:                               1 MiB (16 instances)
L2 cache:                                32 MiB (16 instances)
L3 cache:                                80 MiB (1 instance)
NUMA node(s):                            1
NUMA node0 CPU(s):                       0-15
Vulnerability Gather data sampling:      Not affected
Vulnerability Indirect target selection: Not affected
Vulnerability Itlb multihit:             Not affected
Vulnerability L1tf:                      Not affected
Vulnerability Mds:                       Not affected
Vulnerability Meltdown:                  Not affected
Vulnerability Mmio stale data:           Not affected
Vulnerability Reg file data sampling:    Not affected
Vulnerability Retbleed:                  Not affected
Vulnerability Spec rstack overflow:      Not affected
Vulnerability Spec store bypass:         Mitigation; Speculative Store Bypass disabled via prctl
Vulnerability Spectre v1:                Mitigation; __user pointer sanitization
Vulnerability Spectre v2:                Mitigation; CSV2, BHB
Vulnerability Srbds:                     Not affected
Vulnerability Tsa:                       Not affected
Vulnerability Tsx async abort:           Not affected
Vulnerability Vmscape:                   Not affected

Comparing 06aa131 (06aa131) to 06aa131 diff

Run configuration
run benchmark tpcds
baseline:
  ref: "06aa131"
  env:
    DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "true"
changed:
  ref: "06aa131"
  env:
    DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "true"

Results will be posted here when complete


File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark completed (GKE) | trigger

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

Comparing ca2623c (ca2623c) to 06aa131 diff

Run configuration
run benchmark tpcds
baseline:
  ref: "06aa131"
  env:
    DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "true"
changed:
  ref: "ca2623c"
  env:
    DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "true"
CPU Details (lscpu)
Architecture:                            aarch64
CPU op-mode(s):                          64-bit
Byte Order:                              Little Endian
CPU(s):                                  16
On-line CPU(s) list:                     0-15
Vendor ID:                               ARM
Model name:                              Neoverse-V2
Model:                                   1
Thread(s) per core:                      1
Core(s) per cluster:                     16
Socket(s):                               -
Cluster(s):                              1
Stepping:                                r0p1
BogoMIPS:                                2000.00
Flags:                                   fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 sve asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp sve2 sveaes svepmull svebitperm svesha3 svesm4 flagm2 frint svei8mm svebf16 i8mm bf16 dgh rng bti
L1d cache:                               1 MiB (16 instances)
L1i cache:                               1 MiB (16 instances)
L2 cache:                                32 MiB (16 instances)
L3 cache:                                80 MiB (1 instance)
NUMA node(s):                            1
NUMA node0 CPU(s):                       0-15
Vulnerability Gather data sampling:      Not affected
Vulnerability Indirect target selection: Not affected
Vulnerability Itlb multihit:             Not affected
Vulnerability L1tf:                      Not affected
Vulnerability Mds:                       Not affected
Vulnerability Meltdown:                  Not affected
Vulnerability Mmio stale data:           Not affected
Vulnerability Reg file data sampling:    Not affected
Vulnerability Retbleed:                  Not affected
Vulnerability Spec rstack overflow:      Not affected
Vulnerability Spec store bypass:         Mitigation; Speculative Store Bypass disabled via prctl
Vulnerability Spectre v1:                Mitigation; __user pointer sanitization
Vulnerability Spectre v2:                Mitigation; CSV2, BHB
Vulnerability Srbds:                     Not affected
Vulnerability Tsa:                       Not affected
Vulnerability Tsx async abort:           Not affected
Vulnerability Vmscape:                   Not affected
Details

Comparing HEAD and fix_dedup-stringview-buffers-collectleft-joins
--------------------
Benchmark tpcds_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃      HEAD ┃ fix_dedup-stringview-buffers-collectleft-joins ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │   5.81 ms │                                        5.71 ms │     no change │
│ QQuery 2  │  49.72 ms │                                       49.22 ms │     no change │
│ QQuery 3  │  27.98 ms │                                       27.82 ms │     no change │
│ QQuery 4  │ 398.21 ms │                                      399.99 ms │     no change │
│ QQuery 5  │  49.25 ms │                                       49.33 ms │     no change │
│ QQuery 6  │  38.55 ms │                                       38.69 ms │     no change │
│ QQuery 7  │  89.07 ms │                                       88.37 ms │     no change │
│ QQuery 8  │  16.12 ms │                                       16.35 ms │     no change │
│ QQuery 9  │ 119.25 ms │                                      118.50 ms │     no change │
│ QQuery 10 │  77.65 ms │                                       76.70 ms │     no change │
│ QQuery 11 │ 240.28 ms │                                      247.64 ms │     no change │
│ QQuery 12 │  29.67 ms │                                       30.46 ms │     no change │
│ QQuery 13 │ 117.32 ms │                                      117.92 ms │     no change │
│ QQuery 14 │ 452.10 ms │                                      457.38 ms │     no change │
│ QQuery 15 │  25.67 ms │                                       25.38 ms │     no change │
│ QQuery 16 │   6.66 ms │                                        6.65 ms │     no change │
│ QQuery 17 │ 122.99 ms │                                      122.26 ms │     no change │
│ QQuery 18 │ 170.71 ms │                                      169.57 ms │     no change │
│ QQuery 19 │  42.59 ms │                                       41.48 ms │     no change │
│ QQuery 20 │  35.50 ms │                                       33.25 ms │ +1.07x faster │
│ QQuery 21 │  20.97 ms │                                       20.77 ms │     no change │
│ QQuery 22 │  75.38 ms │                                       72.27 ms │     no change │
│ QQuery 23 │ 412.48 ms │                                      418.82 ms │     no change │
│ QQuery 24 │ 192.44 ms │                                      193.24 ms │     no change │
│ QQuery 25 │ 122.09 ms │                                      122.25 ms │     no change │
│ QQuery 26 │  68.76 ms │                                       68.96 ms │     no change │
│ QQuery 27 │   6.67 ms │                                        6.51 ms │     no change │
│ QQuery 28 │  78.06 ms │                                       77.72 ms │     no change │
│ QQuery 29 │ 155.30 ms │                                      157.10 ms │     no change │
│ QQuery 30 │  35.37 ms │                                       34.86 ms │     no change │
│ QQuery 31 │ 134.11 ms │                                      133.56 ms │     no change │
│ QQuery 32 │  23.67 ms │                                       23.03 ms │     no change │
│ QQuery 33 │  41.95 ms │                                       40.96 ms │     no change │
│ QQuery 34 │  11.77 ms │                                       12.23 ms │     no change │
│ QQuery 35 │  94.28 ms │                                       95.44 ms │     no change │
│ QQuery 36 │   6.31 ms │                                        6.30 ms │     no change │
│ QQuery 37 │   7.56 ms │                                        7.77 ms │     no change │
│ QQuery 38 │  85.50 ms │                                       84.88 ms │     no change │
│ QQuery 39 │  78.77 ms │                                       76.92 ms │     no change │
│ QQuery 40 │  21.54 ms │                                       21.49 ms │     no change │
│ QQuery 41 │  13.51 ms │                                       13.30 ms │     no change │
│ QQuery 42 │  25.11 ms │                                       25.02 ms │     no change │
│ QQuery 43 │   5.22 ms │                                        5.15 ms │     no change │
│ QQuery 44 │   9.69 ms │                                        9.54 ms │     no change │
│ QQuery 45 │  29.47 ms │                                       29.21 ms │     no change │
│ QQuery 46 │  13.54 ms │                                       13.65 ms │     no change │
│ QQuery 47 │ 274.99 ms │                                      265.00 ms │     no change │
│ QQuery 48 │ 127.07 ms │                                      125.41 ms │     no change │
│ QQuery 49 │  92.32 ms │                                       91.67 ms │     no change │
│ QQuery 50 │ 129.46 ms │                                      130.07 ms │     no change │
│ QQuery 51 │ 107.48 ms │                                      106.52 ms │     no change │
│ QQuery 52 │  25.78 ms │                                       26.02 ms │     no change │
│ QQuery 53 │  32.18 ms │                                       32.11 ms │     no change │
│ QQuery 54 │  30.69 ms │                                       30.31 ms │     no change │
│ QQuery 55 │  25.12 ms │                                       25.06 ms │     no change │
│ QQuery 56 │  36.26 ms │                                       36.46 ms │     no change │
│ QQuery 57 │ 141.69 ms │                                      143.83 ms │     no change │
│ QQuery 58 │  77.98 ms │                                       77.02 ms │     no change │
│ QQuery 59 │  83.65 ms │                                       82.30 ms │     no change │
│ QQuery 60 │  41.27 ms │                                       39.97 ms │     no change │
│ QQuery 61 │  12.12 ms │                                       11.98 ms │     no change │
│ QQuery 62 │  44.57 ms │                                       43.85 ms │     no change │
│ QQuery 63 │  32.22 ms │                                       32.16 ms │     no change │
│ QQuery 64 │ 548.23 ms │                                      544.22 ms │     no change │
│ QQuery 65 │ 170.37 ms │                                      170.38 ms │     no change │
│ QQuery 66 │  66.83 ms │                                       67.15 ms │     no change │
│ QQuery 67 │ 290.32 ms │                                      302.97 ms │     no change │
│ QQuery 68 │  13.11 ms │                                       13.78 ms │  1.05x slower │
│ QQuery 69 │  73.95 ms │                                       75.94 ms │     no change │
│ QQuery 70 │ 125.92 ms │                                      127.04 ms │     no change │
│ QQuery 71 │  33.38 ms │                                       34.48 ms │     no change │
│ QQuery 72 │ 181.54 ms │                                      183.44 ms │     no change │
│ QQuery 73 │  11.21 ms │                                       11.68 ms │     no change │
│ QQuery 74 │ 162.51 ms │                                      167.57 ms │     no change │
│ QQuery 75 │ 191.67 ms │                                      192.75 ms │     no change │
│ QQuery 76 │  42.53 ms │                                       43.17 ms │     no change │
│ QQuery 77 │  66.77 ms │                                       65.33 ms │     no change │
│ QQuery 78 │ 128.31 ms │                                      126.94 ms │     no change │
│ QQuery 79 │  71.12 ms │                                       71.67 ms │     no change │
│ QQuery 80 │  81.10 ms │                                       80.23 ms │     no change │
│ QQuery 81 │  29.92 ms │                                       29.08 ms │     no change │
│ QQuery 82 │  33.28 ms │                                       32.75 ms │     no change │
│ QQuery 83 │  32.06 ms │                                       30.86 ms │     no change │
│ QQuery 84 │  32.37 ms │                                       31.52 ms │     no change │
│ QQuery 85 │ 172.42 ms │                                      170.01 ms │     no change │
│ QQuery 86 │  33.57 ms │                                       33.50 ms │     no change │
│ QQuery 87 │  87.94 ms │                                       86.79 ms │     no change │
│ QQuery 88 │  70.37 ms │                                       67.95 ms │     no change │
│ QQuery 89 │  46.16 ms │                                       45.21 ms │     no change │
│ QQuery 90 │  19.36 ms │                                       19.79 ms │     no change │
│ QQuery 91 │  49.01 ms │                                       47.94 ms │     no change │
│ QQuery 92 │  32.91 ms │                                       32.22 ms │     no change │
│ QQuery 93 │  53.59 ms │                                       52.22 ms │     no change │
│ QQuery 94 │  39.22 ms │                                       38.96 ms │     no change │
│ QQuery 95 │  97.80 ms │                                       99.05 ms │     no change │
│ QQuery 96 │  27.09 ms │                                       27.01 ms │     no change │
│ QQuery 97 │  57.22 ms │                                       57.03 ms │     no change │
│ QQuery 98 │  40.85 ms │                                       42.61 ms │     no change │
│ QQuery 99 │  61.65 ms │                                       62.49 ms │     no change │
└───────────┴───────────┴────────────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Benchmark Summary                                             ┃           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ Total Time (HEAD)                                             │ 8475.14ms │
│ Total Time (fix_dedup-stringview-buffers-collectleft-joins)   │ 8479.11ms │
│ Average Time (HEAD)                                           │   85.61ms │
│ Average Time (fix_dedup-stringview-buffers-collectleft-joins) │   85.65ms │
│ Queries Faster                                                │         1 │
│ Queries Slower                                                │         1 │
│ Queries with No Change                                        │        97 │
│ Queries with Failure                                          │         0 │
└───────────────────────────────────────────────────────────────┴───────────┘

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

Comparing HEAD and fix_dedup-stringview-buffers-collectleft-joins
--------------------
Benchmark tpcds_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                               HEAD ┃ fix_dedup-stringview-buffers-collectleft-joins ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │        5.81 / 6.49 ±1.08 / 8.64 ms │                    5.71 / 6.22 ±0.99 / 8.21 ms │     no change │
│ QQuery 2  │     49.72 / 50.71 ±0.79 / 51.64 ms │                 49.22 / 49.69 ±0.35 / 50.25 ms │     no change │
│ QQuery 3  │     27.98 / 28.51 ±0.42 / 29.19 ms │                 27.82 / 28.31 ±0.34 / 28.79 ms │     no change │
│ QQuery 4  │  398.21 / 403.40 ±3.92 / 408.74 ms │              399.99 / 404.37 ±3.58 / 410.15 ms │     no change │
│ QQuery 5  │     49.25 / 49.57 ±0.23 / 49.94 ms │                 49.33 / 49.88 ±0.47 / 50.71 ms │     no change │
│ QQuery 6  │     38.55 / 38.89 ±0.33 / 39.42 ms │                 38.69 / 39.19 ±0.46 / 39.94 ms │     no change │
│ QQuery 7  │     89.07 / 92.71 ±4.27 / 99.13 ms │                 88.37 / 90.82 ±2.54 / 95.59 ms │     no change │
│ QQuery 8  │     16.12 / 16.26 ±0.12 / 16.47 ms │                 16.35 / 16.48 ±0.12 / 16.66 ms │     no change │
│ QQuery 9  │  119.25 / 124.45 ±3.93 / 129.62 ms │              118.50 / 123.06 ±4.11 / 130.68 ms │     no change │
│ QQuery 10 │     77.65 / 79.45 ±1.38 / 81.90 ms │                 76.70 / 78.21 ±1.61 / 81.13 ms │     no change │
│ QQuery 11 │  240.28 / 246.31 ±3.43 / 250.21 ms │              247.64 / 252.95 ±3.58 / 257.87 ms │     no change │
│ QQuery 12 │     29.67 / 30.44 ±0.72 / 31.74 ms │                 30.46 / 30.84 ±0.31 / 31.23 ms │     no change │
│ QQuery 13 │  117.32 / 118.20 ±1.23 / 120.60 ms │              117.92 / 121.82 ±5.30 / 132.02 ms │     no change │
│ QQuery 14 │  452.10 / 459.05 ±4.54 / 465.86 ms │              457.38 / 458.63 ±1.19 / 460.78 ms │     no change │
│ QQuery 15 │     25.67 / 25.86 ±0.14 / 26.03 ms │                 25.38 / 26.00 ±0.37 / 26.35 ms │     no change │
│ QQuery 16 │        6.66 / 6.82 ±0.10 / 6.95 ms │                    6.65 / 6.73 ±0.08 / 6.84 ms │     no change │
│ QQuery 17 │  122.99 / 126.56 ±2.82 / 129.42 ms │              122.26 / 125.06 ±2.33 / 127.95 ms │     no change │
│ QQuery 18 │  170.71 / 174.20 ±2.99 / 179.38 ms │              169.57 / 172.75 ±2.32 / 176.21 ms │     no change │
│ QQuery 19 │     42.59 / 44.70 ±3.82 / 52.34 ms │                 41.48 / 42.36 ±0.80 / 43.50 ms │ +1.06x faster │
│ QQuery 20 │     35.50 / 35.97 ±0.85 / 37.68 ms │                 33.25 / 34.30 ±0.72 / 35.19 ms │     no change │
│ QQuery 21 │     20.97 / 21.20 ±0.24 / 21.65 ms │                 20.77 / 20.97 ±0.18 / 21.29 ms │     no change │
│ QQuery 22 │     75.38 / 76.58 ±1.28 / 78.94 ms │                 72.27 / 73.15 ±0.93 / 74.95 ms │     no change │
│ QQuery 23 │ 412.48 / 423.37 ±11.50 / 444.13 ms │              418.82 / 424.76 ±3.44 / 428.74 ms │     no change │
│ QQuery 24 │  192.44 / 194.93 ±2.68 / 199.55 ms │              193.24 / 196.95 ±3.79 / 204.21 ms │     no change │
│ QQuery 25 │  122.09 / 124.70 ±3.77 / 132.17 ms │              122.25 / 123.94 ±2.95 / 129.83 ms │     no change │
│ QQuery 26 │     68.76 / 72.25 ±3.77 / 79.46 ms │                 68.96 / 71.57 ±3.13 / 77.35 ms │     no change │
│ QQuery 27 │        6.67 / 6.72 ±0.04 / 6.80 ms │                    6.51 / 6.65 ±0.15 / 6.94 ms │     no change │
│ QQuery 28 │     78.06 / 83.40 ±6.36 / 95.36 ms │                 77.72 / 83.49 ±5.47 / 92.03 ms │     no change │
│ QQuery 29 │  155.30 / 159.20 ±4.40 / 166.25 ms │              157.10 / 158.34 ±1.12 / 160.07 ms │     no change │
│ QQuery 30 │     35.37 / 35.45 ±0.07 / 35.57 ms │                 34.86 / 38.14 ±5.34 / 48.80 ms │  1.08x slower │
│ QQuery 31 │  134.11 / 135.56 ±0.81 / 136.42 ms │              133.56 / 134.43 ±0.76 / 135.71 ms │     no change │
│ QQuery 32 │     23.67 / 23.92 ±0.20 / 24.17 ms │                 23.03 / 23.39 ±0.21 / 23.61 ms │     no change │
│ QQuery 33 │     41.95 / 43.33 ±2.39 / 48.11 ms │                 40.96 / 41.83 ±0.85 / 43.42 ms │     no change │
│ QQuery 34 │     11.77 / 12.35 ±0.45 / 13.01 ms │                 12.23 / 12.78 ±0.56 / 13.85 ms │     no change │
│ QQuery 35 │     94.28 / 96.00 ±1.63 / 98.65 ms │                 95.44 / 96.62 ±1.31 / 98.72 ms │     no change │
│ QQuery 36 │        6.31 / 6.52 ±0.17 / 6.77 ms │                    6.30 / 6.43 ±0.14 / 6.69 ms │     no change │
│ QQuery 37 │        7.56 / 7.71 ±0.09 / 7.81 ms │                    7.77 / 7.88 ±0.06 / 7.96 ms │     no change │
│ QQuery 38 │     85.50 / 86.75 ±0.98 / 87.86 ms │                 84.88 / 86.34 ±1.11 / 88.07 ms │     no change │
│ QQuery 39 │     78.77 / 79.08 ±0.23 / 79.47 ms │                 76.92 / 80.30 ±3.72 / 87.52 ms │     no change │
│ QQuery 40 │     21.54 / 22.05 ±0.38 / 22.60 ms │                 21.49 / 21.74 ±0.31 / 22.35 ms │     no change │
│ QQuery 41 │     13.51 / 13.75 ±0.22 / 14.11 ms │                 13.30 / 13.40 ±0.08 / 13.52 ms │     no change │
│ QQuery 42 │     25.11 / 25.55 ±0.38 / 26.10 ms │                 25.02 / 25.38 ±0.25 / 25.68 ms │     no change │
│ QQuery 43 │        5.22 / 5.36 ±0.08 / 5.48 ms │                    5.15 / 5.31 ±0.12 / 5.51 ms │     no change │
│ QQuery 44 │      9.69 / 11.00 ±2.30 / 15.59 ms │                    9.54 / 9.73 ±0.14 / 9.87 ms │ +1.13x faster │
│ QQuery 45 │     29.47 / 30.29 ±0.53 / 30.79 ms │                 29.21 / 30.72 ±1.76 / 34.08 ms │     no change │
│ QQuery 46 │     13.54 / 13.91 ±0.23 / 14.14 ms │                 13.65 / 14.08 ±0.38 / 14.72 ms │     no change │
│ QQuery 47 │  274.99 / 278.51 ±3.19 / 283.65 ms │              265.00 / 276.43 ±9.33 / 293.34 ms │     no change │
│ QQuery 48 │  127.07 / 132.67 ±5.60 / 139.96 ms │              125.41 / 131.92 ±8.63 / 148.45 ms │     no change │
│ QQuery 49 │     92.32 / 93.58 ±1.08 / 95.24 ms │                 91.67 / 93.73 ±1.53 / 96.39 ms │     no change │
│ QQuery 50 │  129.46 / 135.40 ±7.55 / 149.91 ms │              130.07 / 134.30 ±7.40 / 149.08 ms │     no change │
│ QQuery 51 │  107.48 / 109.62 ±1.67 / 111.70 ms │              106.52 / 112.02 ±4.77 / 120.85 ms │     no change │
│ QQuery 52 │     25.78 / 27.95 ±2.53 / 32.71 ms │                 26.02 / 27.84 ±3.25 / 34.32 ms │     no change │
│ QQuery 53 │     32.18 / 32.43 ±0.24 / 32.83 ms │                 32.11 / 32.73 ±0.51 / 33.32 ms │     no change │
│ QQuery 54 │     30.69 / 33.37 ±2.57 / 37.83 ms │                 30.31 / 31.43 ±0.72 / 32.30 ms │ +1.06x faster │
│ QQuery 55 │     25.12 / 25.68 ±0.67 / 26.94 ms │                 25.06 / 26.24 ±1.34 / 28.85 ms │     no change │
│ QQuery 56 │     36.26 / 36.64 ±0.24 / 36.97 ms │                 36.46 / 36.66 ±0.16 / 36.92 ms │     no change │
│ QQuery 57 │  141.69 / 145.61 ±2.01 / 147.29 ms │              143.83 / 146.88 ±2.56 / 150.72 ms │     no change │
│ QQuery 58 │     77.98 / 78.90 ±0.87 / 80.52 ms │                 77.02 / 77.84 ±0.67 / 78.96 ms │     no change │
│ QQuery 59 │     83.65 / 84.34 ±0.52 / 85.01 ms │                 82.30 / 83.85 ±1.79 / 87.32 ms │     no change │
│ QQuery 60 │     41.27 / 42.01 ±0.55 / 42.64 ms │                 39.97 / 40.68 ±0.40 / 41.21 ms │     no change │
│ QQuery 61 │     12.12 / 12.27 ±0.14 / 12.47 ms │                 11.98 / 12.27 ±0.25 / 12.59 ms │     no change │
│ QQuery 62 │     44.57 / 45.30 ±0.43 / 45.93 ms │                 43.85 / 44.47 ±0.38 / 45.01 ms │     no change │
│ QQuery 63 │     32.22 / 32.60 ±0.21 / 32.88 ms │                 32.16 / 32.31 ±0.11 / 32.49 ms │     no change │
│ QQuery 64 │  548.23 / 556.55 ±4.34 / 560.17 ms │              544.22 / 554.11 ±6.13 / 562.08 ms │     no change │
│ QQuery 65 │  170.37 / 172.50 ±1.28 / 173.80 ms │              170.38 / 173.58 ±2.36 / 176.93 ms │     no change │
│ QQuery 66 │     66.83 / 67.28 ±0.44 / 67.90 ms │                 67.15 / 67.68 ±0.45 / 68.29 ms │     no change │
│ QQuery 67 │  290.32 / 302.40 ±8.42 / 315.01 ms │             302.97 / 316.18 ±12.54 / 335.85 ms │     no change │
│ QQuery 68 │     13.11 / 13.55 ±0.32 / 14.08 ms │                 13.78 / 14.15 ±0.21 / 14.42 ms │     no change │
│ QQuery 69 │     73.95 / 75.55 ±1.02 / 76.70 ms │                 75.94 / 76.64 ±0.45 / 77.16 ms │     no change │
│ QQuery 70 │  125.92 / 131.39 ±5.38 / 138.33 ms │              127.04 / 133.75 ±5.58 / 143.44 ms │     no change │
│ QQuery 71 │     33.38 / 34.28 ±0.71 / 35.55 ms │                 34.48 / 34.89 ±0.49 / 35.85 ms │     no change │
│ QQuery 72 │  181.54 / 183.44 ±1.23 / 184.74 ms │             183.44 / 194.31 ±13.24 / 220.10 ms │  1.06x slower │
│ QQuery 73 │     11.21 / 11.52 ±0.21 / 11.80 ms │                 11.68 / 11.97 ±0.20 / 12.24 ms │     no change │
│ QQuery 74 │ 162.51 / 171.32 ±11.21 / 193.33 ms │              167.57 / 173.38 ±8.77 / 190.78 ms │     no change │
│ QQuery 75 │  191.67 / 195.99 ±5.38 / 206.44 ms │              192.75 / 199.19 ±6.01 / 210.27 ms │     no change │
│ QQuery 76 │     42.53 / 43.21 ±0.71 / 44.26 ms │                 43.17 / 43.70 ±0.44 / 44.22 ms │     no change │
│ QQuery 77 │     66.77 / 67.91 ±0.86 / 69.19 ms │                 65.33 / 69.58 ±8.02 / 85.62 ms │     no change │
│ QQuery 78 │  128.31 / 135.57 ±5.01 / 143.58 ms │              126.94 / 133.65 ±8.27 / 149.95 ms │     no change │
│ QQuery 79 │     71.12 / 75.57 ±7.09 / 89.71 ms │                 71.67 / 76.05 ±8.40 / 92.86 ms │     no change │
│ QQuery 80 │     81.10 / 82.82 ±1.25 / 84.18 ms │                 80.23 / 84.47 ±4.16 / 91.61 ms │     no change │
│ QQuery 81 │     29.92 / 30.14 ±0.19 / 30.45 ms │                 29.08 / 29.34 ±0.16 / 29.55 ms │     no change │
│ QQuery 82 │     33.28 / 34.04 ±0.56 / 34.78 ms │                 32.75 / 33.32 ±0.55 / 34.38 ms │     no change │
│ QQuery 83 │     32.06 / 32.47 ±0.33 / 33.00 ms │                 30.86 / 31.58 ±0.43 / 32.21 ms │     no change │
│ QQuery 84 │     32.37 / 37.39 ±8.67 / 54.68 ms │                 31.52 / 33.88 ±3.37 / 40.53 ms │ +1.10x faster │
│ QQuery 85 │  172.42 / 178.82 ±4.65 / 185.33 ms │              170.01 / 176.62 ±4.69 / 183.79 ms │     no change │
│ QQuery 86 │     33.57 / 34.73 ±1.06 / 36.59 ms │                 33.50 / 34.91 ±0.91 / 35.71 ms │     no change │
│ QQuery 87 │     87.94 / 88.53 ±0.60 / 89.47 ms │                 86.79 / 89.89 ±1.60 / 91.25 ms │     no change │
│ QQuery 88 │     70.37 / 72.56 ±3.18 / 78.85 ms │                 67.95 / 69.99 ±1.61 / 72.23 ms │     no change │
│ QQuery 89 │     46.16 / 49.69 ±6.68 / 63.05 ms │                 45.21 / 46.60 ±1.43 / 49.16 ms │ +1.07x faster │
│ QQuery 90 │     19.36 / 19.67 ±0.22 / 19.90 ms │                 19.79 / 20.49 ±0.96 / 22.34 ms │     no change │
│ QQuery 91 │     49.01 / 51.14 ±3.11 / 57.31 ms │                 47.94 / 49.31 ±0.78 / 50.16 ms │     no change │
│ QQuery 92 │     32.91 / 34.02 ±1.13 / 35.97 ms │                 32.22 / 33.04 ±0.54 / 33.92 ms │     no change │
│ QQuery 93 │     53.59 / 56.44 ±4.41 / 65.23 ms │                 52.22 / 53.21 ±0.73 / 54.46 ms │ +1.06x faster │
│ QQuery 94 │     39.22 / 40.84 ±1.25 / 42.94 ms │                 38.96 / 42.04 ±4.28 / 50.48 ms │     no change │
│ QQuery 95 │   97.80 / 100.95 ±3.82 / 108.46 ms │               99.05 / 101.58 ±2.04 / 103.91 ms │     no change │
│ QQuery 96 │     27.09 / 27.27 ±0.14 / 27.52 ms │                 27.01 / 27.55 ±0.46 / 28.37 ms │     no change │
│ QQuery 97 │     57.22 / 58.82 ±1.54 / 61.26 ms │                 57.03 / 58.82 ±1.67 / 61.15 ms │     no change │
│ QQuery 98 │     40.85 / 43.94 ±2.92 / 47.52 ms │                 42.61 / 43.37 ±0.67 / 44.22 ms │     no change │
│ QQuery 99 │     61.65 / 63.00 ±1.20 / 64.82 ms │                 62.49 / 63.53 ±1.01 / 64.75 ms │     no change │
└───────────┴────────────────────────────────────┴────────────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Benchmark Summary                                             ┃           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ Total Time (HEAD)                                             │ 8691.72ms │
│ Total Time (fix_dedup-stringview-buffers-collectleft-joins)   │ 8703.91ms │
│ Average Time (HEAD)                                           │   87.80ms │
│ Average Time (fix_dedup-stringview-buffers-collectleft-joins) │   87.92ms │
│ Queries Faster                                                │         6 │
│ Queries Slower                                                │         2 │
│ Queries with No Change                                        │        91 │
│ Queries with Failure                                          │         0 │
└───────────────────────────────────────────────────────────────┴───────────┘

Resource Usage

tpcds — base (merge-base)

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

tpcds — branch

Metric Value
Wall time 45.0s
Peak memory 2.0 GiB
Avg memory 1.3 GiB
CPU user 125.4s
CPU sys 6.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 ca2623c (ca2623c) to 06aa131 diff

Run configuration
run benchmark tpcds
baseline:
  ref: "06aa131"
  env:
    DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "false"
changed:
  ref: "ca2623c"
  env:
    DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "false"
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 fix_dedup-stringview-buffers-collectleft-joins
--------------------
Benchmark tpcds_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃       HEAD ┃ fix_dedup-stringview-buffers-collectleft-joins ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │    6.07 ms │                                        6.07 ms │     no change │
│ QQuery 2  │   82.85 ms │                                       82.53 ms │     no change │
│ QQuery 3  │   29.63 ms │                                       29.82 ms │     no change │
│ QQuery 4  │  537.16 ms │                                      519.13 ms │     no change │
│ QQuery 5  │   52.28 ms │                                       52.37 ms │     no change │
│ QQuery 6  │   37.44 ms │                                       37.26 ms │     no change │
│ QQuery 7  │   75.56 ms │                                       74.15 ms │     no change │
│ QQuery 8  │   38.92 ms │                                       38.62 ms │     no change │
│ QQuery 9  │   54.72 ms │                                       53.97 ms │     no change │
│ QQuery 10 │   62.80 ms │                                       61.50 ms │     no change │
│ QQuery 11 │  329.67 ms │                                      305.46 ms │ +1.08x faster │
│ QQuery 12 │   31.98 ms │                                       32.10 ms │     no change │
│ QQuery 13 │  119.35 ms │                                      118.06 ms │     no change │
│ QQuery 14 │  403.87 ms │                                      400.38 ms │     no change │
│ QQuery 15 │   63.25 ms │                                       55.93 ms │ +1.13x faster │
│ QQuery 16 │    6.94 ms │                                        6.62 ms │     no change │
│ QQuery 17 │   85.13 ms │                                       81.01 ms │     no change │
│ QQuery 18 │  112.80 ms │                                      111.68 ms │     no change │
│ QQuery 19 │   43.39 ms │                                       43.29 ms │     no change │
│ QQuery 20 │   40.64 ms │                                       36.36 ms │ +1.12x faster │
│ QQuery 21 │   18.61 ms │                                       17.49 ms │ +1.06x faster │
│ QQuery 22 │   74.63 ms │                                       68.35 ms │ +1.09x faster │
│ QQuery 23 │  346.20 ms │                                      326.55 ms │ +1.06x faster │
│ QQuery 24 │  220.06 ms │                                      215.76 ms │     no change │
│ QQuery 25 │  116.95 ms │                                      111.82 ms │     no change │
│ QQuery 26 │   47.72 ms │                                       49.50 ms │     no change │
│ QQuery 27 │    6.74 ms │                                        7.07 ms │     no change │
│ QQuery 28 │   59.40 ms │                                       59.04 ms │     no change │
│ QQuery 29 │  100.37 ms │                                       99.60 ms │     no change │
│ QQuery 30 │   35.47 ms │                                       36.13 ms │     no change │
│ QQuery 31 │  113.62 ms │                                      116.60 ms │     no change │
│ QQuery 32 │   22.41 ms │                                       22.21 ms │     no change │
│ QQuery 33 │   39.76 ms │                                       38.73 ms │     no change │
│ QQuery 34 │   10.99 ms │                                       11.50 ms │     no change │
│ QQuery 35 │   78.23 ms │                                       80.00 ms │     no change │
│ QQuery 36 │    6.39 ms │                                        6.37 ms │     no change │
│ QQuery 37 │    7.52 ms │                                        7.39 ms │     no change │
│ QQuery 38 │   67.00 ms │                                       67.50 ms │     no change │
│ QQuery 39 │   78.84 ms │                                       79.69 ms │     no change │
│ QQuery 40 │   25.83 ms │                                       26.06 ms │     no change │
│ QQuery 41 │   12.41 ms │                                       12.67 ms │     no change │
│ QQuery 42 │   24.83 ms │                                       25.50 ms │     no change │
│ QQuery 43 │    5.43 ms │                                        5.64 ms │     no change │
│ QQuery 44 │    9.60 ms │                                       10.06 ms │     no change │
│ QQuery 45 │   45.16 ms │                                       48.90 ms │  1.08x slower │
│ QQuery 46 │   12.96 ms │                                       13.00 ms │     no change │
│ QQuery 47 │  232.22 ms │                                      258.70 ms │  1.11x slower │
│ QQuery 48 │   90.69 ms │                                       95.17 ms │     no change │
│ QQuery 49 │   73.07 ms │                                       71.76 ms │     no change │
│ QQuery 50 │   59.86 ms │                                       60.19 ms │     no change │
│ QQuery 51 │   96.68 ms │                                       94.88 ms │     no change │
│ QQuery 52 │   25.83 ms │                                       25.04 ms │     no change │
│ QQuery 53 │   30.65 ms │                                       30.23 ms │     no change │
│ QQuery 54 │   56.55 ms │                                       55.51 ms │     no change │
│ QQuery 55 │   25.12 ms │                                       24.53 ms │     no change │
│ QQuery 56 │   40.70 ms │                                       38.96 ms │     no change │
│ QQuery 57 │  174.10 ms │                                      175.12 ms │     no change │
│ QQuery 58 │  112.79 ms │                                      108.37 ms │     no change │
│ QQuery 59 │  118.34 ms │                                      116.50 ms │     no change │
│ QQuery 60 │   39.80 ms │                                       39.36 ms │     no change │
│ QQuery 61 │   11.64 ms │                                       11.70 ms │     no change │
│ QQuery 62 │   44.35 ms │                                       43.88 ms │     no change │
│ QQuery 63 │   31.52 ms │                                       29.80 ms │ +1.06x faster │
│ QQuery 64 │  392.96 ms │                                      386.60 ms │     no change │
│ QQuery 65 │  138.70 ms │                                      135.99 ms │     no change │
│ QQuery 66 │   79.25 ms │                                       78.99 ms │     no change │
│ QQuery 67 │  281.98 ms │                                      281.00 ms │     no change │
│ QQuery 68 │   12.66 ms │                                       13.04 ms │     no change │
│ QQuery 69 │   57.52 ms │                                       58.15 ms │     no change │
│ QQuery 70 │  107.04 ms │                                      109.32 ms │     no change │
│ QQuery 71 │   35.77 ms │                                       36.41 ms │     no change │
│ QQuery 72 │ 1858.29 ms │                                     1669.24 ms │ +1.11x faster │
│ QQuery 73 │   10.72 ms │                                       10.60 ms │     no change │
│ QQuery 74 │  185.27 ms │                                      172.72 ms │ +1.07x faster │
│ QQuery 75 │  151.31 ms │                                      149.04 ms │     no change │
│ QQuery 76 │   36.50 ms │                                       36.76 ms │     no change │
│ QQuery 77 │   64.49 ms │                                       63.94 ms │     no change │
│ QQuery 78 │  176.05 ms │                                      176.52 ms │     no change │
│ QQuery 79 │   70.02 ms │                                       72.25 ms │     no change │
│ QQuery 80 │  107.49 ms │                                      101.51 ms │ +1.06x faster │
│ QQuery 81 │   29.52 ms │                                       28.60 ms │     no change │
│ QQuery 82 │   18.25 ms │                                       18.48 ms │     no change │
│ QQuery 83 │   35.35 ms │                                       35.04 ms │     no change │
│ QQuery 84 │   31.71 ms │                                       30.84 ms │     no change │
│ QQuery 85 │  104.35 ms │                                      100.77 ms │     no change │
│ QQuery 86 │   27.37 ms │                                       27.92 ms │     no change │
│ QQuery 87 │   68.82 ms │                                       68.72 ms │     no change │
│ QQuery 88 │   64.25 ms │                                       61.61 ms │     no change │
│ QQuery 89 │   38.48 ms │                                       36.55 ms │ +1.05x faster │
│ QQuery 90 │   18.11 ms │                                       17.38 ms │     no change │
│ QQuery 91 │   43.17 ms │                                       42.01 ms │     no change │
│ QQuery 92 │   31.77 ms │                                       31.41 ms │     no change │
│ QQuery 93 │   53.75 ms │                                       52.21 ms │     no change │
│ QQuery 94 │   41.28 ms │                                       41.43 ms │     no change │
│ QQuery 95 │   84.03 ms │                                       83.47 ms │     no change │
│ QQuery 96 │   24.85 ms │                                       24.27 ms │     no change │
│ QQuery 97 │   53.40 ms │                                       54.37 ms │     no change │
│ QQuery 98 │   47.96 ms │                                       46.64 ms │     no change │
│ QQuery 99 │   69.92 ms │                                       65.82 ms │ +1.06x faster │
└───────────┴────────────┴────────────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Benchmark Summary                                             ┃           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ Total Time (HEAD)                                             │ 9717.85ms │
│ Total Time (fix_dedup-stringview-buffers-collectleft-joins)   │ 9408.78ms │
│ Average Time (HEAD)                                           │   98.16ms │
│ Average Time (fix_dedup-stringview-buffers-collectleft-joins) │   95.04ms │
│ Queries Faster                                                │        12 │
│ Queries Slower                                                │         2 │
│ Queries with No Change                                        │        85 │
│ Queries with Failure                                          │         0 │
└───────────────────────────────────────────────────────────────┴───────────┘

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

Comparing HEAD and fix_dedup-stringview-buffers-collectleft-joins
--------------------
Benchmark tpcds_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                  HEAD ┃ fix_dedup-stringview-buffers-collectleft-joins ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │           6.07 / 6.70 ±1.10 / 8.89 ms │                    6.07 / 6.78 ±1.06 / 8.87 ms │     no change │
│ QQuery 2  │        82.85 / 83.32 ±0.39 / 83.89 ms │                 82.53 / 83.21 ±0.64 / 84.35 ms │     no change │
│ QQuery 3  │        29.63 / 29.95 ±0.26 / 30.32 ms │                 29.82 / 30.26 ±0.25 / 30.57 ms │     no change │
│ QQuery 4  │    537.16 / 555.52 ±14.82 / 569.10 ms │             519.13 / 547.55 ±15.21 / 559.90 ms │     no change │
│ QQuery 5  │        52.28 / 53.93 ±1.53 / 56.38 ms │                 52.37 / 53.23 ±0.94 / 54.91 ms │     no change │
│ QQuery 6  │        37.44 / 37.90 ±0.54 / 38.92 ms │                 37.26 / 37.48 ±0.27 / 37.96 ms │     no change │
│ QQuery 7  │        75.56 / 78.71 ±3.73 / 85.98 ms │                 74.15 / 76.82 ±2.42 / 81.28 ms │     no change │
│ QQuery 8  │        38.92 / 39.38 ±0.52 / 40.37 ms │                 38.62 / 39.06 ±0.66 / 40.35 ms │     no change │
│ QQuery 9  │        54.72 / 56.59 ±1.39 / 58.75 ms │                 53.97 / 56.52 ±2.10 / 59.23 ms │     no change │
│ QQuery 10 │        62.80 / 64.22 ±1.97 / 68.11 ms │                 61.50 / 62.33 ±0.69 / 63.16 ms │     no change │
│ QQuery 11 │    329.67 / 346.60 ±11.06 / 358.46 ms │             305.46 / 323.17 ±14.18 / 348.20 ms │ +1.07x faster │
│ QQuery 12 │        31.98 / 32.62 ±0.54 / 33.42 ms │                 32.10 / 32.73 ±0.78 / 34.23 ms │     no change │
│ QQuery 13 │     119.35 / 123.25 ±2.65 / 127.05 ms │              118.06 / 120.21 ±2.85 / 125.65 ms │     no change │
│ QQuery 14 │     403.87 / 407.22 ±3.30 / 413.08 ms │              400.38 / 406.50 ±4.15 / 411.10 ms │     no change │
│ QQuery 15 │        63.25 / 66.42 ±2.81 / 71.32 ms │                 55.93 / 58.80 ±1.58 / 60.42 ms │ +1.13x faster │
│ QQuery 16 │           6.94 / 7.11 ±0.15 / 7.38 ms │                    6.62 / 6.74 ±0.07 / 6.82 ms │ +1.06x faster │
│ QQuery 17 │        85.13 / 87.36 ±3.20 / 93.71 ms │                 81.01 / 84.01 ±3.29 / 90.00 ms │     no change │
│ QQuery 18 │     112.80 / 116.46 ±2.67 / 120.43 ms │              111.68 / 114.83 ±2.14 / 117.36 ms │     no change │
│ QQuery 19 │        43.39 / 45.05 ±1.47 / 47.31 ms │                 43.29 / 44.33 ±0.92 / 45.75 ms │     no change │
│ QQuery 20 │        40.64 / 41.03 ±0.31 / 41.56 ms │                 36.36 / 38.14 ±1.43 / 40.23 ms │ +1.08x faster │
│ QQuery 21 │        18.61 / 18.77 ±0.10 / 18.91 ms │                 17.49 / 17.89 ±0.41 / 18.49 ms │     no change │
│ QQuery 22 │        74.63 / 77.04 ±1.60 / 78.67 ms │                 68.35 / 69.58 ±1.10 / 71.52 ms │ +1.11x faster │
│ QQuery 23 │     346.20 / 357.23 ±6.58 / 365.70 ms │             326.55 / 346.89 ±15.39 / 370.02 ms │     no change │
│ QQuery 24 │     220.06 / 226.68 ±5.10 / 235.22 ms │              215.76 / 224.23 ±8.15 / 238.42 ms │     no change │
│ QQuery 25 │     116.95 / 119.40 ±2.68 / 124.35 ms │              111.82 / 114.69 ±2.41 / 118.46 ms │     no change │
│ QQuery 26 │        47.72 / 48.22 ±0.30 / 48.63 ms │                 49.50 / 51.50 ±3.69 / 58.87 ms │  1.07x slower │
│ QQuery 27 │           6.74 / 7.01 ±0.25 / 7.43 ms │                    7.07 / 7.21 ±0.10 / 7.36 ms │     no change │
│ QQuery 28 │        59.40 / 61.54 ±1.38 / 63.11 ms │                 59.04 / 62.92 ±2.60 / 66.17 ms │     no change │
│ QQuery 29 │     100.37 / 102.53 ±2.89 / 108.21 ms │               99.60 / 101.69 ±1.78 / 104.42 ms │     no change │
│ QQuery 30 │        35.47 / 36.06 ±0.48 / 36.90 ms │                 36.13 / 37.40 ±1.16 / 39.43 ms │     no change │
│ QQuery 31 │     113.62 / 117.51 ±5.05 / 127.22 ms │              116.60 / 117.84 ±1.07 / 119.63 ms │     no change │
│ QQuery 32 │        22.41 / 22.49 ±0.05 / 22.55 ms │                 22.21 / 22.50 ±0.15 / 22.64 ms │     no change │
│ QQuery 33 │        39.76 / 40.51 ±0.61 / 41.39 ms │                 38.73 / 41.16 ±3.73 / 48.56 ms │     no change │
│ QQuery 34 │        10.99 / 11.16 ±0.13 / 11.36 ms │                 11.50 / 11.83 ±0.33 / 12.43 ms │  1.06x slower │
│ QQuery 35 │        78.23 / 79.07 ±0.58 / 79.92 ms │                 80.00 / 81.60 ±1.67 / 83.77 ms │     no change │
│ QQuery 36 │           6.39 / 6.52 ±0.11 / 6.73 ms │                    6.37 / 6.46 ±0.11 / 6.66 ms │     no change │
│ QQuery 37 │          7.52 / 8.17 ±1.05 / 10.25 ms │                    7.39 / 7.56 ±0.13 / 7.75 ms │ +1.08x faster │
│ QQuery 38 │        67.00 / 69.37 ±1.95 / 72.51 ms │                 67.50 / 68.95 ±0.87 / 69.87 ms │     no change │
│ QQuery 39 │        78.84 / 80.30 ±0.95 / 81.39 ms │                 79.69 / 83.21 ±4.35 / 91.64 ms │     no change │
│ QQuery 40 │        25.83 / 26.20 ±0.35 / 26.85 ms │                 26.06 / 26.61 ±0.38 / 27.13 ms │     no change │
│ QQuery 41 │        12.41 / 12.60 ±0.16 / 12.84 ms │                 12.67 / 12.77 ±0.07 / 12.90 ms │     no change │
│ QQuery 42 │        24.83 / 25.81 ±0.87 / 27.32 ms │                 25.50 / 26.18 ±0.58 / 27.13 ms │     no change │
│ QQuery 43 │           5.43 / 5.51 ±0.11 / 5.72 ms │                    5.64 / 5.78 ±0.14 / 6.04 ms │     no change │
│ QQuery 44 │          9.60 / 9.78 ±0.17 / 10.10 ms │                 10.06 / 10.15 ±0.09 / 10.30 ms │     no change │
│ QQuery 45 │        45.16 / 46.51 ±0.74 / 47.11 ms │                 48.90 / 50.64 ±2.65 / 55.90 ms │  1.09x slower │
│ QQuery 46 │        12.96 / 13.28 ±0.20 / 13.54 ms │                 13.00 / 13.48 ±0.64 / 14.69 ms │     no change │
│ QQuery 47 │    232.22 / 252.51 ±13.56 / 267.22 ms │              258.70 / 272.41 ±7.07 / 278.99 ms │  1.08x slower │
│ QQuery 48 │        90.69 / 93.70 ±2.61 / 96.79 ms │                 95.17 / 95.99 ±0.65 / 96.93 ms │     no change │
│ QQuery 49 │        73.07 / 74.16 ±0.97 / 75.70 ms │                 71.76 / 73.53 ±1.15 / 75.37 ms │     no change │
│ QQuery 50 │        59.86 / 60.85 ±1.55 / 63.91 ms │                 60.19 / 60.69 ±0.45 / 61.41 ms │     no change │
│ QQuery 51 │      96.68 / 100.54 ±5.50 / 111.31 ms │                 94.88 / 96.56 ±1.15 / 98.07 ms │     no change │
│ QQuery 52 │        25.83 / 26.18 ±0.25 / 26.48 ms │                 25.04 / 25.95 ±0.54 / 26.67 ms │     no change │
│ QQuery 53 │        30.65 / 30.95 ±0.21 / 31.25 ms │                 30.23 / 30.96 ±0.48 / 31.54 ms │     no change │
│ QQuery 54 │        56.55 / 57.67 ±0.63 / 58.39 ms │                 55.51 / 56.18 ±0.37 / 56.63 ms │     no change │
│ QQuery 55 │        25.12 / 25.27 ±0.19 / 25.64 ms │                 24.53 / 24.64 ±0.10 / 24.79 ms │     no change │
│ QQuery 56 │        40.70 / 42.37 ±1.43 / 44.69 ms │                 38.96 / 39.81 ±0.81 / 41.28 ms │ +1.06x faster │
│ QQuery 57 │     174.10 / 178.01 ±3.37 / 183.12 ms │              175.12 / 181.95 ±4.67 / 187.57 ms │     no change │
│ QQuery 58 │     112.79 / 115.09 ±1.97 / 118.56 ms │              108.37 / 112.54 ±3.12 / 117.38 ms │     no change │
│ QQuery 59 │     118.34 / 120.47 ±1.39 / 122.44 ms │              116.50 / 117.69 ±1.40 / 120.40 ms │     no change │
│ QQuery 60 │        39.80 / 41.39 ±1.18 / 42.96 ms │                 39.36 / 39.92 ±0.54 / 40.85 ms │     no change │
│ QQuery 61 │        11.64 / 11.77 ±0.11 / 11.97 ms │                 11.70 / 11.79 ±0.05 / 11.85 ms │     no change │
│ QQuery 62 │        44.35 / 45.57 ±1.13 / 47.38 ms │                 43.88 / 44.43 ±0.44 / 45.21 ms │     no change │
│ QQuery 63 │        31.52 / 31.81 ±0.27 / 32.32 ms │                 29.80 / 30.09 ±0.34 / 30.73 ms │ +1.06x faster │
│ QQuery 64 │     392.96 / 403.75 ±9.56 / 418.57 ms │              386.60 / 396.27 ±7.80 / 409.64 ms │     no change │
│ QQuery 65 │     138.70 / 145.20 ±4.21 / 151.76 ms │              135.99 / 140.25 ±3.59 / 146.30 ms │     no change │
│ QQuery 66 │        79.25 / 81.87 ±3.25 / 88.21 ms │                 78.99 / 80.32 ±0.77 / 81.23 ms │     no change │
│ QQuery 67 │     281.98 / 290.52 ±7.75 / 301.75 ms │              281.00 / 288.61 ±5.23 / 296.58 ms │     no change │
│ QQuery 68 │        12.66 / 12.77 ±0.09 / 12.92 ms │                 13.04 / 13.25 ±0.21 / 13.64 ms │     no change │
│ QQuery 69 │        57.52 / 58.19 ±0.63 / 59.33 ms │                 58.15 / 59.41 ±1.76 / 62.86 ms │     no change │
│ QQuery 70 │     107.04 / 110.85 ±4.40 / 119.05 ms │              109.32 / 112.22 ±2.45 / 116.10 ms │     no change │
│ QQuery 71 │        35.77 / 36.12 ±0.26 / 36.42 ms │                 36.41 / 37.04 ±0.49 / 37.90 ms │     no change │
│ QQuery 72 │ 1858.29 / 1888.59 ±25.08 / 1918.71 ms │          1669.24 / 1749.24 ±52.27 / 1820.90 ms │ +1.08x faster │
│ QQuery 73 │        10.72 / 11.20 ±0.29 / 11.58 ms │                 10.60 / 11.71 ±1.67 / 15.03 ms │     no change │
│ QQuery 74 │     185.27 / 191.82 ±9.40 / 209.92 ms │              172.72 / 178.61 ±3.44 / 182.30 ms │ +1.07x faster │
│ QQuery 75 │     151.31 / 153.52 ±2.87 / 159.19 ms │              149.04 / 151.82 ±1.91 / 154.95 ms │     no change │
│ QQuery 76 │        36.50 / 37.11 ±0.33 / 37.40 ms │                 36.76 / 37.86 ±0.93 / 39.58 ms │     no change │
│ QQuery 77 │        64.49 / 65.65 ±0.80 / 66.55 ms │                 63.94 / 65.38 ±1.88 / 68.96 ms │     no change │
│ QQuery 78 │    176.05 / 185.23 ±10.22 / 202.46 ms │              176.52 / 188.34 ±7.21 / 198.40 ms │     no change │
│ QQuery 79 │        70.02 / 70.95 ±0.89 / 72.45 ms │                 72.25 / 73.09 ±0.72 / 74.09 ms │     no change │
│ QQuery 80 │     107.49 / 111.80 ±4.80 / 121.00 ms │              101.51 / 105.45 ±4.55 / 114.09 ms │ +1.06x faster │
│ QQuery 81 │        29.52 / 30.08 ±0.39 / 30.50 ms │                 28.60 / 29.47 ±0.61 / 30.38 ms │     no change │
│ QQuery 82 │        18.25 / 18.83 ±0.64 / 20.03 ms │                 18.48 / 19.05 ±0.69 / 20.39 ms │     no change │
│ QQuery 83 │        35.35 / 35.88 ±0.50 / 36.62 ms │                 35.04 / 35.66 ±0.38 / 36.16 ms │     no change │
│ QQuery 84 │        31.71 / 32.28 ±0.64 / 33.46 ms │                 30.84 / 31.13 ±0.22 / 31.45 ms │     no change │
│ QQuery 85 │     104.35 / 108.41 ±6.30 / 120.93 ms │              100.77 / 104.55 ±2.65 / 108.89 ms │     no change │
│ QQuery 86 │        27.37 / 27.96 ±0.42 / 28.67 ms │                 27.92 / 28.15 ±0.26 / 28.64 ms │     no change │
│ QQuery 87 │        68.82 / 69.71 ±1.36 / 72.41 ms │                 68.72 / 69.63 ±0.55 / 70.35 ms │     no change │
│ QQuery 88 │        64.25 / 65.03 ±0.54 / 65.92 ms │                 61.61 / 62.00 ±0.61 / 63.20 ms │     no change │
│ QQuery 89 │        38.48 / 40.22 ±3.26 / 46.73 ms │                 36.55 / 38.01 ±1.25 / 40.23 ms │ +1.06x faster │
│ QQuery 90 │        18.11 / 18.43 ±0.19 / 18.66 ms │                 17.38 / 17.54 ±0.16 / 17.77 ms │     no change │
│ QQuery 91 │        43.17 / 43.51 ±0.23 / 43.75 ms │                 42.01 / 42.39 ±0.35 / 42.95 ms │     no change │
│ QQuery 92 │        31.77 / 32.77 ±0.65 / 33.51 ms │                 31.41 / 31.66 ±0.23 / 32.06 ms │     no change │
│ QQuery 93 │        53.75 / 55.11 ±0.85 / 56.45 ms │                 52.21 / 53.04 ±0.72 / 54.23 ms │     no change │
│ QQuery 94 │        41.28 / 44.16 ±2.64 / 48.73 ms │                 41.43 / 42.87 ±2.32 / 47.47 ms │     no change │
│ QQuery 95 │        84.03 / 86.23 ±1.46 / 88.10 ms │                 83.47 / 85.33 ±1.71 / 88.30 ms │     no change │
│ QQuery 96 │        24.85 / 25.02 ±0.13 / 25.19 ms │                 24.27 / 24.63 ±0.21 / 24.93 ms │     no change │
│ QQuery 97 │        53.40 / 54.90 ±1.51 / 57.49 ms │                 54.37 / 55.21 ±0.79 / 56.20 ms │     no change │
│ QQuery 98 │        47.96 / 48.76 ±0.76 / 49.81 ms │                 46.64 / 47.65 ±1.00 / 49.47 ms │     no change │
│ QQuery 99 │        69.92 / 70.35 ±0.33 / 70.78 ms │                 65.82 / 66.18 ±0.41 / 66.97 ms │ +1.06x faster │
└───────────┴───────────────────────────────────────┴────────────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Benchmark Summary                                             ┃           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ Total Time (HEAD)                                             │ 9979.74ms │
│ Total Time (fix_dedup-stringview-buffers-collectleft-joins)   │ 9731.56ms │
│ Average Time (HEAD)                                           │  100.81ms │
│ Average Time (fix_dedup-stringview-buffers-collectleft-joins) │   98.30ms │
│ Queries Faster                                                │        13 │
│ Queries Slower                                                │         4 │
│ Queries with No Change                                        │        82 │
│ Queries with Failure                                          │         0 │
└───────────────────────────────────────────────────────────────┴───────────┘

Resource Usage

tpcds — base (merge-base)

Metric Value
Wall time 55.0s
Peak memory 2.1 GiB
Avg memory 1.4 GiB
CPU user 217.4s
CPU sys 6.8s
Peak spill 0 B

tpcds — branch

Metric Value
Wall time 50.0s
Peak memory 2.3 GiB
Avg memory 1.6 GiB
CPU user 207.7s
CPU sys 6.1s
Peak spill 0 B

File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark completed (GKE) | trigger

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

Comparing 06aa131 (06aa131) to 06aa131 diff

Run configuration
run benchmark tpcds
baseline:
  ref: "06aa131"
  env:
    DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "true"
changed:
  ref: "06aa131"
  env:
    DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "false"
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 fix_dedup-stringview-buffers-collectleft-joins
--------------------
Benchmark tpcds_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃      HEAD ┃ fix_dedup-stringview-buffers-collectleft-joins ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │   5.06 ms │                                        5.42 ms │  1.07x slower │
│ QQuery 2  │  46.49 ms │                                       78.85 ms │  1.70x slower │
│ QQuery 3  │  26.55 ms │                                       28.10 ms │  1.06x slower │
│ QQuery 4  │ 347.29 ms │                                      428.30 ms │  1.23x slower │
│ QQuery 5  │  46.47 ms │                                       49.06 ms │  1.06x slower │
│ QQuery 6  │  36.38 ms │                                       34.54 ms │ +1.05x faster │
│ QQuery 7  │  82.55 ms │                                       70.77 ms │ +1.17x faster │
│ QQuery 8  │  15.19 ms │                                       35.48 ms │  2.33x slower │
│ QQuery 9  │ 114.26 ms │                                       50.21 ms │ +2.28x faster │
│ QQuery 10 │  72.80 ms │                                       60.55 ms │ +1.20x faster │
│ QQuery 11 │ 210.51 ms │                                      259.57 ms │  1.23x slower │
│ QQuery 12 │  27.59 ms │                                       28.00 ms │     no change │
│ QQuery 13 │ 109.35 ms │                                      110.65 ms │     no change │
│ QQuery 14 │ 424.23 ms │                                      381.38 ms │ +1.11x faster │
│ QQuery 15 │  22.81 ms │                                       50.92 ms │  2.23x slower │
│ QQuery 16 │   5.70 ms │                                        6.15 ms │  1.08x slower │
│ QQuery 17 │ 114.38 ms │                                       77.38 ms │ +1.48x faster │
│ QQuery 18 │ 159.52 ms │                                      101.86 ms │ +1.57x faster │
│ QQuery 19 │  39.10 ms │                                       41.34 ms │  1.06x slower │
│ QQuery 20 │  30.96 ms │                                       34.88 ms │  1.13x slower │
│ QQuery 21 │  19.02 ms │                                       16.80 ms │ +1.13x faster │
│ QQuery 22 │  60.35 ms │                                       62.56 ms │     no change │
│ QQuery 23 │ 366.80 ms │                                      296.99 ms │ +1.24x faster │
│ QQuery 24 │ 164.75 ms │                                      190.47 ms │  1.16x slower │
│ QQuery 25 │ 115.56 ms │                                      106.88 ms │ +1.08x faster │
│ QQuery 26 │  63.53 ms │                                       45.34 ms │ +1.40x faster │
│ QQuery 27 │   5.83 ms │                                        5.94 ms │     no change │
│ QQuery 28 │  73.95 ms │                                       58.80 ms │ +1.26x faster │
│ QQuery 29 │ 146.26 ms │                                       93.35 ms │ +1.57x faster │
│ QQuery 30 │  32.25 ms │                                       31.93 ms │     no change │
│ QQuery 31 │ 122.22 ms │                                      107.34 ms │ +1.14x faster │
│ QQuery 32 │  21.59 ms │                                       19.98 ms │ +1.08x faster │
│ QQuery 33 │  38.50 ms │                                       36.11 ms │ +1.07x faster │
│ QQuery 34 │  10.27 ms │                                        9.74 ms │ +1.05x faster │
│ QQuery 35 │  85.23 ms │                                       70.38 ms │ +1.21x faster │
│ QQuery 36 │   5.30 ms │                                        5.46 ms │     no change │
│ QQuery 37 │   6.79 ms │                                        6.59 ms │     no change │
│ QQuery 38 │  75.92 ms │                                       60.21 ms │ +1.26x faster │
│ QQuery 39 │  69.66 ms │                                       71.12 ms │     no change │
│ QQuery 40 │  19.84 ms │                                       23.10 ms │  1.16x slower │
│ QQuery 41 │  11.76 ms │                                       10.95 ms │ +1.07x faster │
│ QQuery 42 │  23.39 ms │                                       23.52 ms │     no change │
│ QQuery 43 │   4.40 ms │                                        4.62 ms │  1.05x slower │
│ QQuery 44 │   8.23 ms │                                        8.40 ms │     no change │
│ QQuery 45 │  25.90 ms │                                       35.51 ms │  1.37x slower │
│ QQuery 46 │  12.21 ms │                                       11.42 ms │ +1.07x faster │
│ QQuery 47 │ 217.36 ms │                                      216.16 ms │     no change │
│ QQuery 48 │ 118.11 ms │                                       88.72 ms │ +1.33x faster │
│ QQuery 49 │  85.80 ms │                                       68.25 ms │ +1.26x faster │
│ QQuery 50 │ 124.30 ms │                                       57.39 ms │ +2.17x faster │
│ QQuery 51 │  99.81 ms │                                       90.56 ms │ +1.10x faster │
│ QQuery 52 │  23.67 ms │                                       23.65 ms │     no change │
│ QQuery 53 │  29.99 ms │                                       28.62 ms │     no change │
│ QQuery 54 │  27.59 ms │                                       52.62 ms │  1.91x slower │
│ QQuery 55 │  22.83 ms │                                       22.95 ms │     no change │
│ QQuery 56 │  33.77 ms │                                       37.20 ms │  1.10x slower │
│ QQuery 57 │ 132.84 ms │                                      164.64 ms │  1.24x slower │
│ QQuery 58 │  72.66 ms │                                      103.65 ms │  1.43x slower │
│ QQuery 59 │  78.76 ms │                                      112.72 ms │  1.43x slower │
│ QQuery 60 │  37.69 ms │                                       37.31 ms │     no change │
│ QQuery 61 │  10.75 ms │                                       10.85 ms │     no change │
│ QQuery 62 │  41.52 ms │                                       42.97 ms │     no change │
│ QQuery 63 │  30.24 ms │                                       28.79 ms │     no change │
│ QQuery 64 │ 501.29 ms │                                      355.92 ms │ +1.41x faster │
│ QQuery 65 │ 158.53 ms │                                      127.97 ms │ +1.24x faster │
│ QQuery 66 │  62.49 ms │                                       73.52 ms │  1.18x slower │
│ QQuery 67 │ 254.07 ms │                                      250.33 ms │     no change │
│ QQuery 68 │  11.64 ms │                                       11.48 ms │     no change │
│ QQuery 69 │  68.16 ms │                                       55.07 ms │ +1.24x faster │
│ QQuery 70 │ 118.51 ms │                                      102.50 ms │ +1.16x faster │
│ QQuery 71 │  31.84 ms │                                       34.20 ms │  1.07x slower │
│ QQuery 72 │ 169.14 ms │                                     1655.78 ms │  9.79x slower │
│ QQuery 73 │   9.84 ms │                                       10.23 ms │     no change │
│ QQuery 74 │ 144.43 ms │                                      156.74 ms │  1.09x slower │
│ QQuery 75 │ 177.84 ms │                                      138.95 ms │ +1.28x faster │
│ QQuery 76 │  39.78 ms │                                       33.72 ms │ +1.18x faster │
│ QQuery 77 │  61.04 ms │                                       58.96 ms │     no change │
│ QQuery 78 │ 115.60 ms │                                      158.84 ms │  1.37x slower │
│ QQuery 79 │  66.04 ms │                                       65.32 ms │     no change │
│ QQuery 80 │  73.50 ms │                                       94.26 ms │  1.28x slower │
│ QQuery 81 │  27.07 ms │                                       25.36 ms │ +1.07x faster │
│ QQuery 82 │  30.53 ms │                                       16.03 ms │ +1.90x faster │
│ QQuery 83 │  28.11 ms │                                       32.44 ms │  1.15x slower │
│ QQuery 84 │  30.03 ms │                                       30.07 ms │     no change │
│ QQuery 85 │ 157.83 ms │                                       96.89 ms │ +1.63x faster │
│ QQuery 86 │  30.20 ms │                                       24.82 ms │ +1.22x faster │
│ QQuery 87 │  77.44 ms │                                       60.55 ms │ +1.28x faster │
│ QQuery 88 │  63.47 ms │                                       59.52 ms │ +1.07x faster │
│ QQuery 89 │  41.88 ms │                                       34.42 ms │ +1.22x faster │
│ QQuery 90 │  17.70 ms │                                       16.05 ms │ +1.10x faster │
│ QQuery 91 │  43.39 ms │                                       40.57 ms │ +1.07x faster │
│ QQuery 92 │  29.23 ms │                                       28.37 ms │     no change │
│ QQuery 93 │  47.85 ms │                                       48.25 ms │     no change │
│ QQuery 94 │  35.70 ms │                                       37.71 ms │  1.06x slower │
│ QQuery 95 │  92.69 ms │                                       78.75 ms │ +1.18x faster │
│ QQuery 96 │  25.60 ms │                                       23.34 ms │ +1.10x faster │
│ QQuery 97 │  52.84 ms │                                       49.23 ms │ +1.07x faster │
│ QQuery 98 │  37.27 ms │                                       41.53 ms │  1.11x slower │
│ QQuery 99 │  58.95 ms │                                       63.47 ms │  1.08x slower │
└───────────┴───────────┴────────────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Benchmark Summary                                             ┃           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ Total Time (HEAD)                                             │ 7705.87ms │
│ Total Time (fix_dedup-stringview-buffers-collectleft-joins)   │ 8725.10ms │
│ Average Time (HEAD)                                           │   77.84ms │
│ Average Time (fix_dedup-stringview-buffers-collectleft-joins) │   88.13ms │
│ Queries Faster                                                │        43 │
│ Queries Slower                                                │        30 │
│ Queries with No Change                                        │        26 │
│ Queries with Failure                                          │         0 │
└───────────────────────────────────────────────────────────────┴───────────┘

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

Comparing HEAD and fix_dedup-stringview-buffers-collectleft-joins
--------------------
Benchmark tpcds_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                               HEAD ┃ fix_dedup-stringview-buffers-collectleft-joins ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │        5.06 / 5.60 ±0.95 / 7.50 ms │                    5.42 / 5.94 ±0.97 / 7.88 ms │  1.06x slower │
│ QQuery 2  │     46.49 / 46.94 ±0.40 / 47.57 ms │                 78.85 / 79.28 ±0.22 / 79.43 ms │  1.69x slower │
│ QQuery 3  │     26.55 / 26.86 ±0.25 / 27.24 ms │                 28.10 / 28.34 ±0.15 / 28.57 ms │  1.06x slower │
│ QQuery 4  │  347.29 / 349.54 ±3.22 / 355.87 ms │              428.30 / 434.13 ±3.30 / 437.73 ms │  1.24x slower │
│ QQuery 5  │     46.47 / 47.09 ±0.56 / 48.05 ms │                 49.06 / 49.38 ±0.36 / 50.01 ms │     no change │
│ QQuery 6  │     36.38 / 36.47 ±0.06 / 36.54 ms │                 34.54 / 36.48 ±3.01 / 42.45 ms │     no change │
│ QQuery 7  │     82.55 / 82.90 ±0.21 / 83.13 ms │                 70.77 / 71.49 ±0.51 / 72.29 ms │ +1.16x faster │
│ QQuery 8  │     15.19 / 16.56 ±2.48 / 21.52 ms │                 35.48 / 35.83 ±0.21 / 36.13 ms │  2.16x slower │
│ QQuery 9  │  114.26 / 117.54 ±2.23 / 120.02 ms │                 50.21 / 51.73 ±1.08 / 53.43 ms │ +2.27x faster │
│ QQuery 10 │     72.80 / 74.37 ±2.16 / 78.65 ms │                 60.55 / 62.44 ±2.55 / 67.49 ms │ +1.19x faster │
│ QQuery 11 │  210.51 / 213.80 ±2.81 / 218.46 ms │              259.57 / 265.15 ±5.05 / 274.34 ms │  1.24x slower │
│ QQuery 12 │     27.59 / 27.86 ±0.28 / 28.31 ms │                 28.00 / 28.50 ±0.32 / 28.90 ms │     no change │
│ QQuery 13 │  109.35 / 110.09 ±0.56 / 110.82 ms │              110.65 / 111.24 ±0.76 / 112.74 ms │     no change │
│ QQuery 14 │  424.23 / 430.08 ±6.05 / 441.45 ms │              381.38 / 384.75 ±2.30 / 387.70 ms │ +1.12x faster │
│ QQuery 15 │     22.81 / 24.91 ±3.76 / 32.42 ms │                 50.92 / 51.56 ±0.51 / 52.13 ms │  2.07x slower │
│ QQuery 16 │        5.70 / 5.81 ±0.13 / 6.07 ms │                    6.15 / 6.32 ±0.28 / 6.88 ms │  1.09x slower │
│ QQuery 17 │  114.38 / 117.54 ±2.75 / 122.22 ms │                 77.38 / 78.00 ±0.50 / 78.82 ms │ +1.51x faster │
│ QQuery 18 │  159.52 / 162.88 ±2.45 / 165.57 ms │              101.86 / 103.11 ±0.74 / 104.15 ms │ +1.58x faster │
│ QQuery 19 │     39.10 / 39.50 ±0.45 / 40.32 ms │                 41.34 / 41.80 ±0.27 / 42.15 ms │  1.06x slower │
│ QQuery 20 │     30.96 / 31.36 ±0.28 / 31.79 ms │                 34.88 / 35.37 ±0.28 / 35.71 ms │  1.13x slower │
│ QQuery 21 │     19.02 / 19.17 ±0.08 / 19.23 ms │                 16.80 / 16.95 ±0.12 / 17.10 ms │ +1.13x faster │
│ QQuery 22 │     60.35 / 61.43 ±0.73 / 62.26 ms │                 62.56 / 63.62 ±1.23 / 65.96 ms │     no change │
│ QQuery 23 │  366.80 / 369.55 ±2.38 / 372.85 ms │              296.99 / 302.51 ±6.80 / 315.92 ms │ +1.22x faster │
│ QQuery 24 │  164.75 / 167.66 ±3.78 / 175.02 ms │              190.47 / 195.61 ±3.78 / 201.12 ms │  1.17x slower │
│ QQuery 25 │  115.56 / 116.81 ±1.04 / 118.49 ms │              106.88 / 108.46 ±1.31 / 110.48 ms │ +1.08x faster │
│ QQuery 26 │     63.53 / 64.06 ±0.62 / 65.19 ms │                 45.34 / 46.77 ±2.34 / 51.44 ms │ +1.37x faster │
│ QQuery 27 │        5.83 / 6.12 ±0.15 / 6.28 ms │                    5.94 / 6.17 ±0.14 / 6.32 ms │     no change │
│ QQuery 28 │     73.95 / 76.88 ±1.69 / 78.88 ms │                 58.80 / 59.64 ±0.52 / 60.37 ms │ +1.29x faster │
│ QQuery 29 │  146.26 / 147.11 ±0.82 / 148.49 ms │                 93.35 / 95.20 ±1.13 / 96.46 ms │ +1.55x faster │
│ QQuery 30 │     32.25 / 32.74 ±0.67 / 34.05 ms │                 31.93 / 32.40 ±0.60 / 33.56 ms │     no change │
│ QQuery 31 │  122.22 / 123.65 ±1.12 / 125.51 ms │              107.34 / 109.34 ±2.98 / 115.26 ms │ +1.13x faster │
│ QQuery 32 │     21.59 / 21.76 ±0.11 / 21.90 ms │                 19.98 / 20.73 ±0.99 / 22.68 ms │     no change │
│ QQuery 33 │     38.50 / 40.10 ±2.90 / 45.88 ms │                 36.11 / 36.52 ±0.33 / 37.08 ms │ +1.10x faster │
│ QQuery 34 │     10.27 / 10.57 ±0.36 / 11.22 ms │                  9.74 / 10.01 ±0.16 / 10.18 ms │ +1.06x faster │
│ QQuery 35 │     85.23 / 85.95 ±0.58 / 86.68 ms │                 70.38 / 71.83 ±1.10 / 73.65 ms │ +1.20x faster │
│ QQuery 36 │        5.30 / 5.48 ±0.27 / 6.01 ms │                    5.46 / 5.59 ±0.21 / 6.00 ms │     no change │
│ QQuery 37 │        6.79 / 6.91 ±0.09 / 7.04 ms │                    6.59 / 6.72 ±0.10 / 6.84 ms │     no change │
│ QQuery 38 │     75.92 / 76.75 ±0.58 / 77.38 ms │                 60.21 / 61.19 ±0.72 / 62.13 ms │ +1.25x faster │
│ QQuery 39 │     69.66 / 71.38 ±2.51 / 76.35 ms │                 71.12 / 71.78 ±0.82 / 73.39 ms │     no change │
│ QQuery 40 │     19.84 / 21.51 ±2.34 / 26.10 ms │                 23.10 / 25.62 ±2.72 / 29.23 ms │  1.19x slower │
│ QQuery 41 │     11.76 / 11.99 ±0.20 / 12.33 ms │                 10.95 / 11.13 ±0.19 / 11.49 ms │ +1.08x faster │
│ QQuery 42 │     23.39 / 23.80 ±0.32 / 24.29 ms │                 23.52 / 23.83 ±0.28 / 24.25 ms │     no change │
│ QQuery 43 │        4.40 / 4.54 ±0.21 / 4.95 ms │                    4.62 / 4.73 ±0.19 / 5.12 ms │     no change │
│ QQuery 44 │        8.23 / 8.36 ±0.13 / 8.58 ms │                    8.40 / 8.48 ±0.12 / 8.71 ms │     no change │
│ QQuery 45 │     25.90 / 26.28 ±0.22 / 26.51 ms │                 35.51 / 35.79 ±0.31 / 36.38 ms │  1.36x slower │
│ QQuery 46 │     12.21 / 12.58 ±0.22 / 12.85 ms │                 11.42 / 11.81 ±0.34 / 12.35 ms │ +1.07x faster │
│ QQuery 47 │  217.36 / 221.59 ±4.08 / 227.05 ms │              216.16 / 219.99 ±4.64 / 228.76 ms │     no change │
│ QQuery 48 │  118.11 / 122.72 ±3.60 / 127.41 ms │                 88.72 / 90.55 ±2.81 / 96.14 ms │ +1.36x faster │
│ QQuery 49 │     85.80 / 86.69 ±0.93 / 88.12 ms │                 68.25 / 69.11 ±0.76 / 70.34 ms │ +1.25x faster │
│ QQuery 50 │  124.30 / 126.71 ±4.08 / 134.86 ms │                 57.39 / 58.46 ±1.10 / 60.55 ms │ +2.17x faster │
│ QQuery 51 │   99.81 / 103.19 ±2.54 / 107.00 ms │                90.56 / 94.93 ±3.70 / 101.36 ms │ +1.09x faster │
│ QQuery 52 │     23.67 / 24.03 ±0.26 / 24.32 ms │                 23.65 / 23.82 ±0.15 / 24.08 ms │     no change │
│ QQuery 53 │     29.99 / 31.09 ±1.80 / 34.65 ms │                 28.62 / 28.72 ±0.09 / 28.84 ms │ +1.08x faster │
│ QQuery 54 │     27.59 / 29.89 ±1.24 / 31.18 ms │                 52.62 / 53.65 ±1.21 / 55.99 ms │  1.79x slower │
│ QQuery 55 │     22.83 / 23.25 ±0.31 / 23.72 ms │                 22.95 / 23.16 ±0.11 / 23.26 ms │     no change │
│ QQuery 56 │     33.77 / 34.12 ±0.25 / 34.55 ms │                 37.20 / 38.11 ±1.41 / 40.91 ms │  1.12x slower │
│ QQuery 57 │  132.84 / 133.99 ±0.97 / 135.11 ms │              164.64 / 166.37 ±1.58 / 168.96 ms │  1.24x slower │
│ QQuery 58 │     72.66 / 73.19 ±0.64 / 74.33 ms │              103.65 / 106.35 ±2.77 / 111.25 ms │  1.45x slower │
│ QQuery 59 │     78.76 / 80.63 ±2.65 / 85.89 ms │              112.72 / 114.05 ±1.05 / 115.92 ms │  1.41x slower │
│ QQuery 60 │     37.69 / 38.25 ±0.56 / 39.32 ms │                 37.31 / 38.57 ±1.43 / 41.34 ms │     no change │
│ QQuery 61 │     10.75 / 10.89 ±0.19 / 11.24 ms │                 10.85 / 11.08 ±0.20 / 11.44 ms │     no change │
│ QQuery 62 │     41.52 / 41.98 ±0.27 / 42.28 ms │                 42.97 / 43.28 ±0.25 / 43.72 ms │     no change │
│ QQuery 63 │     30.24 / 30.31 ±0.09 / 30.48 ms │                 28.79 / 28.90 ±0.11 / 29.10 ms │     no change │
│ QQuery 64 │  501.29 / 516.91 ±9.23 / 529.22 ms │              355.92 / 364.09 ±6.53 / 375.70 ms │ +1.42x faster │
│ QQuery 65 │  158.53 / 163.17 ±3.54 / 168.35 ms │              127.97 / 132.08 ±2.64 / 134.67 ms │ +1.24x faster │
│ QQuery 66 │     62.49 / 64.02 ±2.40 / 68.79 ms │                 73.52 / 77.54 ±6.26 / 89.97 ms │  1.21x slower │
│ QQuery 67 │  254.07 / 259.03 ±4.64 / 267.84 ms │              250.33 / 254.00 ±3.52 / 258.30 ms │     no change │
│ QQuery 68 │     11.64 / 11.90 ±0.25 / 12.35 ms │                 11.48 / 11.69 ±0.25 / 12.18 ms │     no change │
│ QQuery 69 │     68.16 / 70.16 ±2.51 / 75.06 ms │                 55.07 / 55.36 ±0.36 / 56.04 ms │ +1.27x faster │
│ QQuery 70 │  118.51 / 120.89 ±2.65 / 125.60 ms │              102.50 / 105.98 ±3.15 / 111.29 ms │ +1.14x faster │
│ QQuery 71 │     31.84 / 33.25 ±1.64 / 36.10 ms │                 34.20 / 35.24 ±0.82 / 36.28 ms │  1.06x slower │
│ QQuery 72 │ 169.14 / 176.75 ±10.62 / 197.79 ms │          1655.78 / 1681.69 ±16.49 / 1702.33 ms │  9.51x slower │
│ QQuery 73 │      9.84 / 10.98 ±1.44 / 13.76 ms │                 10.23 / 11.11 ±0.91 / 12.85 ms │     no change │
│ QQuery 74 │  144.43 / 146.20 ±1.65 / 148.39 ms │              156.74 / 157.49 ±0.98 / 159.41 ms │  1.08x slower │
│ QQuery 75 │  177.84 / 182.12 ±6.49 / 195.01 ms │              138.95 / 142.80 ±6.02 / 154.76 ms │ +1.28x faster │
│ QQuery 76 │     39.78 / 40.41 ±0.41 / 41.01 ms │                 33.72 / 34.17 ±0.33 / 34.65 ms │ +1.18x faster │
│ QQuery 77 │     61.04 / 62.80 ±1.95 / 66.37 ms │                 58.96 / 59.34 ±0.36 / 60.02 ms │ +1.06x faster │
│ QQuery 78 │  115.60 / 116.20 ±0.57 / 117.22 ms │              158.84 / 164.54 ±4.53 / 172.43 ms │  1.42x slower │
│ QQuery 79 │     66.04 / 67.06 ±1.12 / 69.22 ms │                 65.32 / 66.70 ±1.57 / 69.63 ms │     no change │
│ QQuery 80 │     73.50 / 74.87 ±1.11 / 76.57 ms │                 94.26 / 94.82 ±0.46 / 95.60 ms │  1.27x slower │
│ QQuery 81 │     27.07 / 30.27 ±5.99 / 42.24 ms │                 25.36 / 25.51 ±0.11 / 25.69 ms │ +1.19x faster │
│ QQuery 82 │     30.53 / 31.10 ±0.39 / 31.47 ms │                 16.03 / 16.25 ±0.13 / 16.36 ms │ +1.91x faster │
│ QQuery 83 │     28.11 / 28.38 ±0.21 / 28.72 ms │                 32.44 / 35.81 ±6.46 / 48.74 ms │  1.26x slower │
│ QQuery 84 │     30.03 / 31.39 ±2.07 / 35.48 ms │                 30.07 / 30.53 ±0.66 / 31.82 ms │     no change │
│ QQuery 85 │  157.83 / 161.41 ±4.41 / 169.81 ms │                 96.89 / 97.83 ±0.75 / 98.99 ms │ +1.65x faster │
│ QQuery 86 │     30.20 / 31.56 ±1.39 / 33.72 ms │                 24.82 / 24.98 ±0.16 / 25.22 ms │ +1.26x faster │
│ QQuery 87 │     77.44 / 78.99 ±1.07 / 80.48 ms │                 60.55 / 61.29 ±0.43 / 61.75 ms │ +1.29x faster │
│ QQuery 88 │     63.47 / 72.46 ±4.95 / 78.67 ms │                 59.52 / 59.75 ±0.23 / 60.17 ms │ +1.21x faster │
│ QQuery 89 │     41.88 / 42.92 ±1.74 / 46.40 ms │                 34.42 / 35.10 ±0.64 / 36.13 ms │ +1.22x faster │
│ QQuery 90 │     17.70 / 18.08 ±0.36 / 18.73 ms │                 16.05 / 16.22 ±0.15 / 16.42 ms │ +1.11x faster │
│ QQuery 91 │     43.39 / 44.25 ±1.35 / 46.91 ms │                 40.57 / 40.84 ±0.26 / 41.26 ms │ +1.08x faster │
│ QQuery 92 │     29.23 / 30.02 ±0.46 / 30.56 ms │                 28.37 / 28.62 ±0.16 / 28.83 ms │     no change │
│ QQuery 93 │     47.85 / 50.99 ±4.34 / 59.59 ms │                 48.25 / 49.90 ±2.23 / 54.24 ms │     no change │
│ QQuery 94 │     35.70 / 36.09 ±0.43 / 36.82 ms │                 37.71 / 38.21 ±0.31 / 38.68 ms │  1.06x slower │
│ QQuery 95 │     92.69 / 94.76 ±1.64 / 97.62 ms │                 78.75 / 79.76 ±0.85 / 81.08 ms │ +1.19x faster │
│ QQuery 96 │     25.60 / 26.02 ±0.28 / 26.32 ms │                 23.34 / 23.50 ±0.14 / 23.71 ms │ +1.11x faster │
│ QQuery 97 │     52.84 / 54.40 ±2.36 / 59.00 ms │                 49.23 / 52.33 ±2.09 / 55.70 ms │     no change │
│ QQuery 98 │     37.27 / 38.98 ±1.45 / 41.55 ms │                 41.53 / 41.80 ±0.20 / 42.14 ms │  1.07x slower │
│ QQuery 99 │     58.95 / 60.06 ±0.93 / 61.70 ms │                 63.47 / 64.14 ±0.63 / 65.10 ms │  1.07x slower │
└───────────┴────────────────────────────────────┴────────────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Benchmark Summary                                             ┃           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ Total Time (HEAD)                                             │ 7872.22ms │
│ Total Time (fix_dedup-stringview-buffers-collectleft-joins)   │ 8883.36ms │
│ Average Time (HEAD)                                           │   79.52ms │
│ Average Time (fix_dedup-stringview-buffers-collectleft-joins) │   89.73ms │
│ Queries Faster                                                │        42 │
│ Queries Slower                                                │        28 │
│ Queries with No Change                                        │        29 │
│ Queries with Failure                                          │         0 │
└───────────────────────────────────────────────────────────────┴───────────┘

Resource Usage

tpcds — base (merge-base)

Metric Value
Wall time 40.0s
Peak memory 1.8 GiB
Avg memory 1.3 GiB
CPU user 115.3s
CPU sys 5.0s
Peak spill 0 B

tpcds — branch

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

File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark completed (GKE) | trigger

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

Comparing 06aa131 (06aa131) to 06aa131 diff

Run configuration
run benchmark tpcds
baseline:
  ref: "06aa131"
  env:
    DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "true"
changed:
  ref: "06aa131"
  env:
    DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "true"
CPU Details (lscpu)
Architecture:                            aarch64
CPU op-mode(s):                          64-bit
Byte Order:                              Little Endian
CPU(s):                                  16
On-line CPU(s) list:                     0-15
Vendor ID:                               ARM
Model name:                              Neoverse-V2
Model:                                   1
Thread(s) per core:                      1
Core(s) per cluster:                     16
Socket(s):                               -
Cluster(s):                              1
Stepping:                                r0p1
BogoMIPS:                                2000.00
Flags:                                   fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 sve asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp sve2 sveaes svepmull svebitperm svesha3 svesm4 flagm2 frint svei8mm svebf16 i8mm bf16 dgh rng bti
L1d cache:                               1 MiB (16 instances)
L1i cache:                               1 MiB (16 instances)
L2 cache:                                32 MiB (16 instances)
L3 cache:                                80 MiB (1 instance)
NUMA node(s):                            1
NUMA node0 CPU(s):                       0-15
Vulnerability Gather data sampling:      Not affected
Vulnerability Indirect target selection: Not affected
Vulnerability Itlb multihit:             Not affected
Vulnerability L1tf:                      Not affected
Vulnerability Mds:                       Not affected
Vulnerability Meltdown:                  Not affected
Vulnerability Mmio stale data:           Not affected
Vulnerability Reg file data sampling:    Not affected
Vulnerability Retbleed:                  Not affected
Vulnerability Spec rstack overflow:      Not affected
Vulnerability Spec store bypass:         Mitigation; Speculative Store Bypass disabled via prctl
Vulnerability Spectre v1:                Mitigation; __user pointer sanitization
Vulnerability Spectre v2:                Mitigation; CSV2, BHB
Vulnerability Srbds:                     Not affected
Vulnerability Tsa:                       Not affected
Vulnerability Tsx async abort:           Not affected
Vulnerability Vmscape:                   Not affected
Details

Comparing HEAD and fix_dedup-stringview-buffers-collectleft-joins
--------------------
Benchmark tpcds_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃      HEAD ┃ fix_dedup-stringview-buffers-collectleft-joins ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │   5.48 ms │                                        5.45 ms │     no change │
│ QQuery 2  │  47.17 ms │                                       47.51 ms │     no change │
│ QQuery 3  │  27.10 ms │                                       27.23 ms │     no change │
│ QQuery 4  │ 378.11 ms │                                      377.51 ms │     no change │
│ QQuery 5  │  47.42 ms │                                       48.08 ms │     no change │
│ QQuery 6  │  37.24 ms │                                       37.50 ms │     no change │
│ QQuery 7  │  86.51 ms │                                       85.43 ms │     no change │
│ QQuery 8  │  15.37 ms │                                       16.06 ms │     no change │
│ QQuery 9  │ 115.55 ms │                                      115.13 ms │     no change │
│ QQuery 10 │  73.69 ms │                                       76.42 ms │     no change │
│ QQuery 11 │ 220.23 ms │                                      221.69 ms │     no change │
│ QQuery 12 │  29.20 ms │                                       28.89 ms │     no change │
│ QQuery 13 │ 113.65 ms │                                      111.68 ms │     no change │
│ QQuery 14 │ 438.87 ms │                                      437.39 ms │     no change │
│ QQuery 15 │  25.30 ms │                                       24.85 ms │     no change │
│ QQuery 16 │   6.60 ms │                                        6.50 ms │     no change │
│ QQuery 17 │ 118.22 ms │                                      117.03 ms │     no change │
│ QQuery 18 │ 164.62 ms │                                      165.30 ms │     no change │
│ QQuery 19 │  39.50 ms │                                       40.23 ms │     no change │
│ QQuery 20 │  32.67 ms │                                       32.02 ms │     no change │
│ QQuery 21 │  20.17 ms │                                       19.80 ms │     no change │
│ QQuery 22 │  67.41 ms │                                       65.25 ms │     no change │
│ QQuery 23 │ 378.87 ms │                                      396.04 ms │     no change │
│ QQuery 24 │ 182.30 ms │                                      183.70 ms │     no change │
│ QQuery 25 │ 119.25 ms │                                      120.36 ms │     no change │
│ QQuery 26 │  68.20 ms │                                       69.85 ms │     no change │
│ QQuery 27 │   6.54 ms │                                        6.59 ms │     no change │
│ QQuery 28 │  78.04 ms │                                       78.02 ms │     no change │
│ QQuery 29 │ 151.87 ms │                                      151.76 ms │     no change │
│ QQuery 30 │  34.14 ms │                                       34.28 ms │     no change │
│ QQuery 31 │ 127.98 ms │                                      132.20 ms │     no change │
│ QQuery 32 │  21.95 ms │                                       22.61 ms │     no change │
│ QQuery 33 │  39.74 ms │                                       40.98 ms │     no change │
│ QQuery 34 │  10.99 ms │                                       11.44 ms │     no change │
│ QQuery 35 │  89.61 ms │                                       91.76 ms │     no change │
│ QQuery 36 │   6.24 ms │                                        6.32 ms │     no change │
│ QQuery 37 │   7.50 ms │                                        7.66 ms │     no change │
│ QQuery 38 │  79.76 ms │                                       82.48 ms │     no change │
│ QQuery 39 │  71.66 ms │                                       76.08 ms │  1.06x slower │
│ QQuery 40 │  20.82 ms │                                       20.65 ms │     no change │
│ QQuery 41 │  12.87 ms │                                       13.02 ms │     no change │
│ QQuery 42 │  24.14 ms │                                       24.14 ms │     no change │
│ QQuery 43 │   5.10 ms │                                        4.86 ms │     no change │
│ QQuery 44 │   9.11 ms │                                        9.07 ms │     no change │
│ QQuery 45 │  28.08 ms │                                       28.41 ms │     no change │
│ QQuery 46 │  12.88 ms │                                       13.38 ms │     no change │
│ QQuery 47 │ 245.98 ms │                                      243.48 ms │     no change │
│ QQuery 48 │ 123.04 ms │                                      121.48 ms │     no change │
│ QQuery 49 │  89.89 ms │                                       85.64 ms │     no change │
│ QQuery 50 │ 129.98 ms │                                      124.45 ms │     no change │
│ QQuery 51 │ 106.37 ms │                                      101.31 ms │     no change │
│ QQuery 52 │  25.09 ms │                                       24.21 ms │     no change │
│ QQuery 53 │  31.71 ms │                                       30.42 ms │     no change │
│ QQuery 54 │  30.66 ms │                                       29.20 ms │     no change │
│ QQuery 55 │  24.66 ms │                                       23.97 ms │     no change │
│ QQuery 56 │  35.59 ms │                                       34.85 ms │     no change │
│ QQuery 57 │ 141.87 ms │                                      134.87 ms │     no change │
│ QQuery 58 │  76.32 ms │                                       74.16 ms │     no change │
│ QQuery 59 │  81.84 ms │                                       79.84 ms │     no change │
│ QQuery 60 │  38.98 ms │                                       38.15 ms │     no change │
│ QQuery 61 │  11.62 ms │                                       11.77 ms │     no change │
│ QQuery 62 │  43.51 ms │                                       43.54 ms │     no change │
│ QQuery 63 │  31.22 ms │                                       31.40 ms │     no change │
│ QQuery 64 │ 526.32 ms │                                      523.85 ms │     no change │
│ QQuery 65 │ 167.10 ms │                                      163.55 ms │     no change │
│ QQuery 66 │  65.98 ms │                                       63.48 ms │     no change │
│ QQuery 67 │ 284.79 ms │                                      261.37 ms │ +1.09x faster │
│ QQuery 68 │  13.23 ms │                                       11.87 ms │ +1.11x faster │
│ QQuery 69 │  73.65 ms │                                       71.49 ms │     no change │
│ QQuery 70 │ 122.12 ms │                                      121.07 ms │     no change │
│ QQuery 71 │  33.53 ms │                                       32.44 ms │     no change │
│ QQuery 72 │ 182.74 ms │                                      175.13 ms │     no change │
│ QQuery 73 │  10.93 ms │                                       10.92 ms │     no change │
│ QQuery 74 │ 156.54 ms │                                      151.55 ms │     no change │
│ QQuery 75 │ 186.45 ms │                                      183.36 ms │     no change │
│ QQuery 76 │  41.90 ms │                                       42.06 ms │     no change │
│ QQuery 77 │  63.23 ms │                                       63.43 ms │     no change │
│ QQuery 78 │ 121.23 ms │                                      120.08 ms │     no change │
│ QQuery 79 │  69.55 ms │                                       69.27 ms │     no change │
│ QQuery 80 │  76.79 ms │                                       78.75 ms │     no change │
│ QQuery 81 │  28.35 ms │                                       29.09 ms │     no change │
│ QQuery 82 │  32.52 ms │                                       32.17 ms │     no change │
│ QQuery 83 │  30.33 ms │                                       29.82 ms │     no change │
│ QQuery 84 │  30.85 ms │                                       31.15 ms │     no change │
│ QQuery 85 │ 165.01 ms │                                      164.76 ms │     no change │
│ QQuery 86 │  31.55 ms │                                       31.56 ms │     no change │
│ QQuery 87 │  81.42 ms │                                       82.85 ms │     no change │
│ QQuery 88 │  66.65 ms │                                       66.91 ms │     no change │
│ QQuery 89 │  43.68 ms │                                       43.78 ms │     no change │
│ QQuery 90 │  18.77 ms │                                       18.99 ms │     no change │
│ QQuery 91 │  45.09 ms │                                       45.92 ms │     no change │
│ QQuery 92 │  30.64 ms │                                       31.98 ms │     no change │
│ QQuery 93 │  50.66 ms │                                       50.41 ms │     no change │
│ QQuery 94 │  37.91 ms │                                       37.72 ms │     no change │
│ QQuery 95 │  95.95 ms │                                       96.15 ms │     no change │
│ QQuery 96 │  26.41 ms │                                       26.63 ms │     no change │
│ QQuery 97 │  53.50 ms │                                       55.01 ms │     no change │
│ QQuery 98 │  38.97 ms │                                       41.45 ms │  1.06x slower │
│ QQuery 99 │  60.70 ms │                                       60.74 ms │     no change │
└───────────┴───────────┴────────────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Benchmark Summary                                             ┃           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ Total Time (HEAD)                                             │ 8131.06ms │
│ Total Time (fix_dedup-stringview-buffers-collectleft-joins)   │ 8086.09ms │
│ Average Time (HEAD)                                           │   82.13ms │
│ Average Time (fix_dedup-stringview-buffers-collectleft-joins) │   81.68ms │
│ Queries Faster                                                │         2 │
│ Queries Slower                                                │         2 │
│ Queries with No Change                                        │        95 │
│ Queries with Failure                                          │         0 │
└───────────────────────────────────────────────────────────────┴───────────┘

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

Comparing HEAD and fix_dedup-stringview-buffers-collectleft-joins
--------------------
Benchmark tpcds_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                               HEAD ┃ fix_dedup-stringview-buffers-collectleft-joins ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │        5.48 / 6.10 ±1.02 / 8.12 ms │                    5.45 / 6.02 ±1.02 / 8.06 ms │     no change │
│ QQuery 2  │     47.17 / 47.71 ±0.41 / 48.34 ms │                 47.51 / 47.83 ±0.34 / 48.48 ms │     no change │
│ QQuery 3  │     27.10 / 27.32 ±0.23 / 27.71 ms │                 27.23 / 27.65 ±0.41 / 28.41 ms │     no change │
│ QQuery 4  │  378.11 / 384.90 ±3.94 / 390.19 ms │              377.51 / 381.62 ±2.68 / 384.21 ms │     no change │
│ QQuery 5  │     47.42 / 47.71 ±0.18 / 47.95 ms │                 48.08 / 48.37 ±0.22 / 48.74 ms │     no change │
│ QQuery 6  │     37.24 / 37.76 ±0.41 / 38.34 ms │                 37.50 / 37.96 ±0.38 / 38.66 ms │     no change │
│ QQuery 7  │     86.51 / 88.87 ±2.51 / 93.41 ms │                 85.43 / 86.44 ±1.10 / 88.58 ms │     no change │
│ QQuery 8  │     15.37 / 15.53 ±0.13 / 15.71 ms │                 16.06 / 16.16 ±0.06 / 16.23 ms │     no change │
│ QQuery 9  │  115.55 / 118.92 ±3.90 / 124.08 ms │              115.13 / 121.92 ±4.64 / 129.11 ms │     no change │
│ QQuery 10 │     73.69 / 79.48 ±4.68 / 86.76 ms │                 76.42 / 79.73 ±3.55 / 85.54 ms │     no change │
│ QQuery 11 │  220.23 / 227.82 ±4.95 / 234.62 ms │              221.69 / 228.87 ±5.71 / 237.46 ms │     no change │
│ QQuery 12 │     29.20 / 29.57 ±0.32 / 30.08 ms │                 28.89 / 29.28 ±0.28 / 29.51 ms │     no change │
│ QQuery 13 │  113.65 / 116.72 ±2.27 / 120.44 ms │              111.68 / 113.95 ±2.00 / 116.57 ms │     no change │
│ QQuery 14 │  438.87 / 446.29 ±5.36 / 451.24 ms │              437.39 / 443.47 ±5.41 / 452.85 ms │     no change │
│ QQuery 15 │     25.30 / 25.70 ±0.25 / 25.90 ms │                 24.85 / 25.17 ±0.24 / 25.59 ms │     no change │
│ QQuery 16 │        6.60 / 6.66 ±0.09 / 6.84 ms │                   6.50 / 8.14 ±3.16 / 14.46 ms │  1.22x slower │
│ QQuery 17 │  118.22 / 121.50 ±3.43 / 127.51 ms │              117.03 / 119.92 ±4.59 / 129.04 ms │     no change │
│ QQuery 18 │  164.62 / 167.96 ±2.57 / 170.62 ms │              165.30 / 168.89 ±2.60 / 171.82 ms │     no change │
│ QQuery 19 │     39.50 / 40.18 ±0.67 / 41.11 ms │                 40.23 / 40.93 ±0.73 / 42.31 ms │     no change │
│ QQuery 20 │     32.67 / 33.63 ±1.50 / 36.60 ms │                 32.02 / 33.10 ±1.21 / 35.35 ms │     no change │
│ QQuery 21 │     20.17 / 20.43 ±0.26 / 20.89 ms │                 19.80 / 20.15 ±0.19 / 20.37 ms │     no change │
│ QQuery 22 │     67.41 / 68.68 ±1.02 / 70.40 ms │                 65.25 / 68.55 ±2.57 / 72.05 ms │     no change │
│ QQuery 23 │ 378.87 / 396.97 ±12.64 / 418.18 ms │              396.04 / 405.47 ±8.29 / 415.15 ms │     no change │
│ QQuery 24 │  182.30 / 191.37 ±7.24 / 202.28 ms │              183.70 / 190.95 ±5.81 / 199.98 ms │     no change │
│ QQuery 25 │  119.25 / 123.97 ±5.13 / 133.60 ms │              120.36 / 123.02 ±4.68 / 132.37 ms │     no change │
│ QQuery 26 │     68.20 / 70.41 ±3.10 / 76.50 ms │                 69.85 / 75.45 ±3.44 / 80.13 ms │  1.07x slower │
│ QQuery 27 │        6.54 / 6.64 ±0.07 / 6.75 ms │                    6.59 / 6.78 ±0.14 / 6.95 ms │     no change │
│ QQuery 28 │     78.04 / 82.66 ±4.06 / 89.90 ms │                 78.02 / 82.78 ±4.39 / 90.69 ms │     no change │
│ QQuery 29 │  151.87 / 155.96 ±4.99 / 165.73 ms │              151.76 / 153.98 ±1.75 / 156.27 ms │     no change │
│ QQuery 30 │     34.14 / 36.50 ±2.89 / 42.08 ms │                 34.28 / 36.88 ±3.74 / 44.22 ms │     no change │
│ QQuery 31 │  127.98 / 130.17 ±1.17 / 131.22 ms │              132.20 / 135.23 ±2.20 / 138.45 ms │     no change │
│ QQuery 32 │     21.95 / 22.27 ±0.34 / 22.92 ms │                 22.61 / 23.18 ±0.33 / 23.56 ms │     no change │
│ QQuery 33 │     39.74 / 42.37 ±2.98 / 47.92 ms │                 40.98 / 42.09 ±1.47 / 44.90 ms │     no change │
│ QQuery 34 │     10.99 / 11.52 ±0.43 / 12.29 ms │                 11.44 / 11.83 ±0.36 / 12.47 ms │     no change │
│ QQuery 35 │     89.61 / 90.15 ±0.40 / 90.75 ms │                 91.76 / 92.34 ±0.76 / 93.84 ms │     no change │
│ QQuery 36 │        6.24 / 6.37 ±0.09 / 6.50 ms │                    6.32 / 6.40 ±0.12 / 6.65 ms │     no change │
│ QQuery 37 │        7.50 / 7.58 ±0.09 / 7.74 ms │                    7.66 / 7.71 ±0.05 / 7.80 ms │     no change │
│ QQuery 38 │     79.76 / 82.27 ±1.86 / 85.43 ms │                 82.48 / 85.12 ±2.22 / 88.62 ms │     no change │
│ QQuery 39 │     71.66 / 72.37 ±0.76 / 73.82 ms │                 76.08 / 77.04 ±0.85 / 78.30 ms │  1.06x slower │
│ QQuery 40 │     20.82 / 21.09 ±0.20 / 21.38 ms │                 20.65 / 21.14 ±0.37 / 21.70 ms │     no change │
│ QQuery 41 │     12.87 / 13.00 ±0.14 / 13.26 ms │                 13.02 / 14.21 ±2.15 / 18.51 ms │  1.09x slower │
│ QQuery 42 │     24.14 / 24.39 ±0.24 / 24.84 ms │                 24.14 / 24.72 ±0.54 / 25.65 ms │     no change │
│ QQuery 43 │        5.10 / 5.15 ±0.04 / 5.21 ms │                    4.86 / 4.95 ±0.09 / 5.11 ms │     no change │
│ QQuery 44 │        9.11 / 9.31 ±0.15 / 9.50 ms │                    9.07 / 9.20 ±0.07 / 9.28 ms │     no change │
│ QQuery 45 │     28.08 / 29.00 ±1.37 / 31.72 ms │                 28.41 / 30.04 ±2.93 / 35.89 ms │     no change │
│ QQuery 46 │     12.88 / 13.20 ±0.21 / 13.47 ms │                 13.38 / 13.76 ±0.28 / 14.19 ms │     no change │
│ QQuery 47 │ 245.98 / 264.97 ±11.78 / 280.07 ms │              243.48 / 253.42 ±8.25 / 267.64 ms │     no change │
│ QQuery 48 │  123.04 / 128.09 ±4.44 / 135.80 ms │              121.48 / 124.36 ±3.12 / 129.63 ms │     no change │
│ QQuery 49 │     89.89 / 92.46 ±2.20 / 96.50 ms │                 85.64 / 88.68 ±5.02 / 98.70 ms │     no change │
│ QQuery 50 │  129.98 / 135.53 ±8.28 / 151.97 ms │              124.45 / 130.37 ±6.97 / 142.79 ms │     no change │
│ QQuery 51 │  106.37 / 109.75 ±4.48 / 118.56 ms │              101.31 / 104.03 ±1.79 / 106.73 ms │ +1.06x faster │
│ QQuery 52 │     25.09 / 25.33 ±0.21 / 25.64 ms │                 24.21 / 24.38 ±0.15 / 24.63 ms │     no change │
│ QQuery 53 │     31.71 / 32.88 ±2.03 / 36.93 ms │                 30.42 / 30.62 ±0.13 / 30.75 ms │ +1.07x faster │
│ QQuery 54 │     30.66 / 33.33 ±2.61 / 38.26 ms │                 29.20 / 32.19 ±4.78 / 41.72 ms │     no change │
│ QQuery 55 │     24.66 / 25.01 ±0.47 / 25.91 ms │                 23.97 / 25.70 ±2.25 / 30.04 ms │     no change │
│ QQuery 56 │     35.59 / 35.96 ±0.30 / 36.47 ms │                 34.85 / 35.03 ±0.15 / 35.29 ms │     no change │
│ QQuery 57 │  141.87 / 145.61 ±5.89 / 157.34 ms │              134.87 / 136.94 ±2.18 / 140.21 ms │ +1.06x faster │
│ QQuery 58 │     76.32 / 77.34 ±1.12 / 79.18 ms │                 74.16 / 75.61 ±0.91 / 76.82 ms │     no change │
│ QQuery 59 │     81.84 / 82.50 ±0.51 / 83.05 ms │                 79.84 / 81.20 ±0.92 / 82.72 ms │     no change │
│ QQuery 60 │     38.98 / 41.02 ±1.80 / 44.01 ms │                 38.15 / 38.38 ±0.24 / 38.81 ms │ +1.07x faster │
│ QQuery 61 │     11.62 / 11.89 ±0.16 / 12.05 ms │                 11.77 / 13.26 ±2.75 / 18.74 ms │  1.12x slower │
│ QQuery 62 │     43.51 / 44.16 ±0.56 / 44.97 ms │                 43.54 / 45.61 ±1.32 / 47.18 ms │     no change │
│ QQuery 63 │     31.22 / 31.44 ±0.22 / 31.74 ms │                 31.40 / 31.84 ±0.32 / 32.33 ms │     no change │
│ QQuery 64 │  526.32 / 538.78 ±6.72 / 545.93 ms │              523.85 / 536.74 ±9.86 / 554.37 ms │     no change │
│ QQuery 65 │  167.10 / 171.78 ±4.66 / 180.55 ms │              163.55 / 169.20 ±5.56 / 179.40 ms │     no change │
│ QQuery 66 │     65.98 / 66.30 ±0.45 / 67.19 ms │                 63.48 / 66.41 ±3.78 / 73.21 ms │     no change │
│ QQuery 67 │  284.79 / 292.94 ±7.10 / 303.67 ms │              261.37 / 271.74 ±9.90 / 288.77 ms │ +1.08x faster │
│ QQuery 68 │     13.23 / 17.79 ±8.76 / 35.30 ms │                 11.87 / 12.15 ±0.25 / 12.60 ms │ +1.46x faster │
│ QQuery 69 │     73.65 / 79.32 ±6.02 / 91.00 ms │                 71.49 / 72.91 ±2.27 / 77.40 ms │ +1.09x faster │
│ QQuery 70 │  122.12 / 125.79 ±5.75 / 137.25 ms │              121.07 / 125.12 ±6.12 / 137.00 ms │     no change │
│ QQuery 71 │     33.53 / 35.65 ±3.71 / 43.06 ms │                 32.44 / 32.58 ±0.11 / 32.75 ms │ +1.09x faster │
│ QQuery 72 │  182.74 / 189.47 ±8.16 / 205.11 ms │              175.13 / 182.13 ±7.67 / 196.75 ms │     no change │
│ QQuery 73 │     10.93 / 11.18 ±0.26 / 11.67 ms │                 10.92 / 11.17 ±0.14 / 11.31 ms │     no change │
│ QQuery 74 │  156.54 / 159.40 ±1.84 / 161.93 ms │              151.55 / 155.69 ±3.65 / 162.52 ms │     no change │
│ QQuery 75 │ 186.45 / 192.74 ±10.50 / 213.66 ms │              183.36 / 189.43 ±5.33 / 198.52 ms │     no change │
│ QQuery 76 │     41.90 / 48.41 ±6.58 / 56.92 ms │                 42.06 / 42.61 ±0.37 / 43.04 ms │ +1.14x faster │
│ QQuery 77 │     63.23 / 64.00 ±0.65 / 65.08 ms │                 63.43 / 65.48 ±2.60 / 70.53 ms │     no change │
│ QQuery 78 │  121.23 / 128.86 ±3.86 / 131.52 ms │              120.08 / 122.87 ±1.80 / 125.44 ms │     no change │
│ QQuery 79 │     69.55 / 70.14 ±0.37 / 70.60 ms │                 69.27 / 70.34 ±1.07 / 72.34 ms │     no change │
│ QQuery 80 │     76.79 / 78.33 ±1.53 / 81.27 ms │                 78.75 / 81.60 ±3.92 / 89.23 ms │     no change │
│ QQuery 81 │     28.35 / 30.87 ±3.89 / 38.58 ms │                 29.09 / 29.47 ±0.42 / 30.26 ms │     no change │
│ QQuery 82 │     32.52 / 34.73 ±3.70 / 42.12 ms │                 32.17 / 32.42 ±0.13 / 32.51 ms │ +1.07x faster │
│ QQuery 83 │     30.33 / 31.12 ±0.41 / 31.47 ms │                 29.82 / 30.29 ±0.31 / 30.69 ms │     no change │
│ QQuery 84 │     30.85 / 31.10 ±0.23 / 31.46 ms │                 31.15 / 34.27 ±3.42 / 40.52 ms │  1.10x slower │
│ QQuery 85 │  165.01 / 171.83 ±7.73 / 181.66 ms │              164.76 / 169.63 ±5.38 / 179.69 ms │     no change │
│ QQuery 86 │     31.55 / 32.20 ±0.43 / 32.87 ms │                 31.56 / 33.87 ±2.36 / 38.37 ms │  1.05x slower │
│ QQuery 87 │     81.42 / 82.54 ±0.60 / 83.23 ms │                 82.85 / 86.28 ±3.30 / 92.02 ms │     no change │
│ QQuery 88 │     66.65 / 72.99 ±5.88 / 83.17 ms │                 66.91 / 73.45 ±3.88 / 76.64 ms │     no change │
│ QQuery 89 │     43.68 / 44.24 ±0.32 / 44.62 ms │                 43.78 / 45.45 ±2.03 / 49.30 ms │     no change │
│ QQuery 90 │     18.77 / 19.00 ±0.16 / 19.18 ms │                 18.99 / 19.34 ±0.20 / 19.56 ms │     no change │
│ QQuery 91 │     45.09 / 45.57 ±0.45 / 46.39 ms │                 45.92 / 50.17 ±7.29 / 64.72 ms │  1.10x slower │
│ QQuery 92 │     30.64 / 31.20 ±0.38 / 31.72 ms │                 31.98 / 32.43 ±0.36 / 33.07 ms │     no change │
│ QQuery 93 │     50.66 / 51.14 ±0.44 / 51.76 ms │                 50.41 / 51.15 ±0.38 / 51.48 ms │     no change │
│ QQuery 94 │     37.91 / 38.60 ±0.36 / 38.89 ms │                 37.72 / 40.45 ±3.08 / 46.35 ms │     no change │
│ QQuery 95 │     95.95 / 97.24 ±1.19 / 99.02 ms │                96.15 / 99.10 ±2.98 / 103.79 ms │     no change │
│ QQuery 96 │     26.41 / 28.74 ±2.94 / 34.22 ms │                 26.63 / 26.98 ±0.28 / 27.45 ms │ +1.07x faster │
│ QQuery 97 │     53.50 / 55.02 ±1.48 / 57.23 ms │                 55.01 / 58.12 ±1.83 / 60.12 ms │  1.06x slower │
│ QQuery 98 │     38.97 / 41.22 ±1.56 / 43.62 ms │                 41.45 / 43.63 ±2.73 / 48.86 ms │  1.06x slower │
│ QQuery 99 │     60.70 / 61.08 ±0.29 / 61.46 ms │                 60.74 / 61.15 ±0.22 / 61.39 ms │     no change │
└───────────┴────────────────────────────────────┴────────────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Benchmark Summary                                             ┃           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ Total Time (HEAD)                                             │ 8392.72ms │
│ Total Time (fix_dedup-stringview-buffers-collectleft-joins)   │ 8325.80ms │
│ Average Time (HEAD)                                           │   84.77ms │
│ Average Time (fix_dedup-stringview-buffers-collectleft-joins) │   84.10ms │
│ Queries Faster                                                │        11 │
│ Queries Slower                                                │        10 │
│ Queries with No Change                                        │        78 │
│ Queries with Failure                                          │         0 │
└───────────────────────────────────────────────────────────────┴───────────┘

Resource Usage

tpcds — base (merge-base)

Metric Value
Wall time 45.0s
Peak memory 1.7 GiB
Avg memory 1.1 GiB
CPU user 122.9s
CPU sys 6.2s
Peak spill 0 B

tpcds — branch

Metric Value
Wall time 45.0s
Peak memory 1.6 GiB
Avg memory 1.0 GiB
CPU user 120.8s
CPU sys 5.9s
Peak spill 0 B

File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark completed (GKE) | trigger

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

Comparing ca2623c (ca2623c) to ca2623c diff

Run configuration
run benchmark tpcds
baseline:
  ref: "ca2623c"
  env:
    DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "true"
changed:
  ref: "ca2623c"
  env:
    DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "false"
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 fix_dedup-stringview-buffers-collectleft-joins
--------------------
Benchmark tpcds_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃      HEAD ┃ fix_dedup-stringview-buffers-collectleft-joins ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │   5.55 ms │                                        5.95 ms │  1.07x slower │
│ QQuery 2  │  48.54 ms │                                       82.28 ms │  1.69x slower │
│ QQuery 3  │  27.51 ms │                                       29.70 ms │  1.08x slower │
│ QQuery 4  │ 374.84 ms │                                      502.57 ms │  1.34x slower │
│ QQuery 5  │  48.08 ms │                                       52.46 ms │  1.09x slower │
│ QQuery 6  │  37.42 ms │                                       36.25 ms │     no change │
│ QQuery 7  │  86.85 ms │                                       73.70 ms │ +1.18x faster │
│ QQuery 8  │  15.75 ms │                                       37.47 ms │  2.38x slower │
│ QQuery 9  │ 117.11 ms │                                       54.19 ms │ +2.16x faster │
│ QQuery 10 │  74.30 ms │                                       62.40 ms │ +1.19x faster │
│ QQuery 11 │ 229.65 ms │                                      308.00 ms │  1.34x slower │
│ QQuery 12 │  29.66 ms │                                       30.23 ms │     no change │
│ QQuery 13 │ 112.79 ms │                                      116.39 ms │     no change │
│ QQuery 14 │ 442.81 ms │                                      396.53 ms │ +1.12x faster │
│ QQuery 15 │  24.56 ms │                                       64.42 ms │  2.62x slower │
│ QQuery 16 │   6.28 ms │                                        7.00 ms │  1.11x slower │
│ QQuery 17 │ 118.89 ms │                                       81.77 ms │ +1.45x faster │
│ QQuery 18 │ 167.93 ms │                                      110.67 ms │ +1.52x faster │
│ QQuery 19 │  41.38 ms │                                       43.46 ms │  1.05x slower │
│ QQuery 20 │  33.08 ms │                                       38.39 ms │  1.16x slower │
│ QQuery 21 │  20.13 ms │                                       17.91 ms │ +1.12x faster │
│ QQuery 22 │  67.07 ms │                                       68.90 ms │     no change │
│ QQuery 23 │ 397.30 ms │                                      339.10 ms │ +1.17x faster │
│ QQuery 24 │ 182.15 ms │                                      213.68 ms │  1.17x slower │
│ QQuery 25 │ 119.75 ms │                                      110.47 ms │ +1.08x faster │
│ QQuery 26 │  67.01 ms │                                       47.67 ms │ +1.41x faster │
│ QQuery 27 │   6.51 ms │                                        6.54 ms │     no change │
│ QQuery 28 │  77.40 ms │                                       57.96 ms │ +1.34x faster │
│ QQuery 29 │ 153.69 ms │                                       99.24 ms │ +1.55x faster │
│ QQuery 30 │  33.48 ms │                                       34.59 ms │     no change │
│ QQuery 31 │ 131.29 ms │                                      113.07 ms │ +1.16x faster │
│ QQuery 32 │  22.88 ms │                                       21.23 ms │ +1.08x faster │
│ QQuery 33 │  40.57 ms │                                       37.87 ms │ +1.07x faster │
│ QQuery 34 │  11.86 ms │                                       10.96 ms │ +1.08x faster │
│ QQuery 35 │  91.97 ms │                                       76.89 ms │ +1.20x faster │
│ QQuery 36 │   6.17 ms │                                        6.17 ms │     no change │
│ QQuery 37 │   7.53 ms │                                        7.42 ms │     no change │
│ QQuery 38 │  83.33 ms │                                       67.20 ms │ +1.24x faster │
│ QQuery 39 │  73.86 ms │                                       78.59 ms │  1.06x slower │
│ QQuery 40 │  20.96 ms │                                       24.98 ms │  1.19x slower │
│ QQuery 41 │  12.89 ms │                                       12.22 ms │ +1.05x faster │
│ QQuery 42 │  24.62 ms │                                       24.93 ms │     no change │
│ QQuery 43 │   5.05 ms │                                        5.42 ms │  1.07x slower │
│ QQuery 44 │   9.22 ms │                                        9.63 ms │     no change │
│ QQuery 45 │  29.59 ms │                                       43.99 ms │  1.49x slower │
│ QQuery 46 │  13.63 ms │                                       12.90 ms │ +1.06x faster │
│ QQuery 47 │ 242.72 ms │                                      268.59 ms │  1.11x slower │
│ QQuery 48 │ 125.11 ms │                                       95.28 ms │ +1.31x faster │
│ QQuery 49 │  90.58 ms │                                       74.19 ms │ +1.22x faster │
│ QQuery 50 │ 127.65 ms │                                       61.49 ms │ +2.08x faster │
│ QQuery 51 │ 103.78 ms │                                       94.08 ms │ +1.10x faster │
│ QQuery 52 │  24.74 ms │                                       25.69 ms │     no change │
│ QQuery 53 │  31.17 ms │                                       31.08 ms │     no change │
│ QQuery 54 │  30.34 ms │                                       56.20 ms │  1.85x slower │
│ QQuery 55 │  24.44 ms │                                       25.17 ms │     no change │
│ QQuery 56 │  35.81 ms │                                       39.96 ms │  1.12x slower │
│ QQuery 57 │ 142.66 ms │                                      177.96 ms │  1.25x slower │
│ QQuery 58 │  75.28 ms │                                      112.16 ms │  1.49x slower │
│ QQuery 59 │  82.50 ms │                                      119.40 ms │  1.45x slower │
│ QQuery 60 │  39.35 ms │                                       40.78 ms │     no change │
│ QQuery 61 │  11.79 ms │                                       11.85 ms │     no change │
│ QQuery 62 │  43.39 ms │                                       44.86 ms │     no change │
│ QQuery 63 │  32.12 ms │                                       30.49 ms │ +1.05x faster │
│ QQuery 64 │ 537.73 ms │                                      379.91 ms │ +1.42x faster │
│ QQuery 65 │ 167.22 ms │                                      135.75 ms │ +1.23x faster │
│ QQuery 66 │  65.51 ms │                                       77.40 ms │  1.18x slower │
│ QQuery 67 │ 285.19 ms │                                      267.46 ms │ +1.07x faster │
│ QQuery 68 │  13.54 ms │                                       12.85 ms │ +1.05x faster │
│ QQuery 69 │  73.94 ms │                                       57.73 ms │ +1.28x faster │
│ QQuery 70 │ 124.37 ms │                                      106.62 ms │ +1.17x faster │
│ QQuery 71 │  32.88 ms │                                       36.57 ms │  1.11x slower │
│ QQuery 72 │ 178.23 ms │                                     1784.83 ms │ 10.01x slower │
│ QQuery 73 │  11.03 ms │                                       10.99 ms │     no change │
│ QQuery 74 │ 153.32 ms │                                      175.37 ms │  1.14x slower │
│ QQuery 75 │ 185.53 ms │                                      141.29 ms │ +1.31x faster │
│ QQuery 76 │  41.13 ms │                                       35.19 ms │ +1.17x faster │
│ QQuery 77 │  63.54 ms │                                       62.83 ms │     no change │
│ QQuery 78 │ 121.25 ms │                                      171.93 ms │  1.42x slower │
│ QQuery 79 │  69.50 ms │                                       68.72 ms │     no change │
│ QQuery 80 │  77.59 ms │                                       99.63 ms │  1.28x slower │
│ QQuery 81 │  28.49 ms │                                       27.80 ms │     no change │
│ QQuery 82 │  32.36 ms │                                       17.59 ms │ +1.84x faster │
│ QQuery 83 │  30.53 ms │                                       33.87 ms │  1.11x slower │
│ QQuery 84 │  31.05 ms │                                       30.34 ms │     no change │
│ QQuery 85 │ 163.60 ms │                                      100.33 ms │ +1.63x faster │
│ QQuery 86 │  31.88 ms │                                       26.37 ms │ +1.21x faster │
│ QQuery 87 │  82.96 ms │                                       68.24 ms │ +1.22x faster │
│ QQuery 88 │  65.66 ms │                                       61.58 ms │ +1.07x faster │
│ QQuery 89 │  43.49 ms │                                       37.03 ms │ +1.17x faster │
│ QQuery 90 │  18.74 ms │                                       17.37 ms │ +1.08x faster │
│ QQuery 91 │  45.35 ms │                                       42.54 ms │ +1.07x faster │
│ QQuery 92 │  31.69 ms │                                       30.58 ms │     no change │
│ QQuery 93 │  50.65 ms │                                       51.76 ms │     no change │
│ QQuery 94 │  37.41 ms │                                       41.85 ms │  1.12x slower │
│ QQuery 95 │  95.55 ms │                                       85.18 ms │ +1.12x faster │
│ QQuery 96 │  26.78 ms │                                       24.41 ms │ +1.10x faster │
│ QQuery 97 │  55.82 ms │                                       52.74 ms │ +1.06x faster │
│ QQuery 98 │  40.63 ms │                                       46.05 ms │  1.13x slower │
│ QQuery 99 │  62.34 ms │                                       66.43 ms │  1.07x slower │
└───────────┴───────────┴────────────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Benchmark Summary                                             ┃           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ Total Time (HEAD)                                             │ 8192.78ms │
│ Total Time (fix_dedup-stringview-buffers-collectleft-joins)   │ 9479.73ms │
│ Average Time (HEAD)                                           │   82.76ms │
│ Average Time (fix_dedup-stringview-buffers-collectleft-joins) │   95.75ms │
│ Queries Faster                                                │        44 │
│ Queries Slower                                                │        32 │
│ Queries with No Change                                        │        23 │
│ Queries with Failure                                          │         0 │
└───────────────────────────────────────────────────────────────┴───────────┘

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

Comparing HEAD and fix_dedup-stringview-buffers-collectleft-joins
--------------------
Benchmark tpcds_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                               HEAD ┃ fix_dedup-stringview-buffers-collectleft-joins ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │        5.55 / 6.11 ±0.91 / 7.92 ms │                    5.95 / 6.53 ±1.02 / 8.56 ms │  1.07x slower │
│ QQuery 2  │     48.54 / 49.04 ±0.66 / 50.32 ms │                 82.28 / 82.80 ±0.43 / 83.59 ms │  1.69x slower │
│ QQuery 3  │     27.51 / 27.77 ±0.23 / 28.13 ms │                 29.70 / 29.90 ±0.13 / 30.04 ms │  1.08x slower │
│ QQuery 4  │  374.84 / 381.44 ±5.54 / 389.61 ms │              502.57 / 511.82 ±7.05 / 521.04 ms │  1.34x slower │
│ QQuery 5  │     48.08 / 48.29 ±0.17 / 48.47 ms │                 52.46 / 52.97 ±0.44 / 53.74 ms │  1.10x slower │
│ QQuery 6  │     37.42 / 37.75 ±0.39 / 38.43 ms │                 36.25 / 37.01 ±0.50 / 37.49 ms │     no change │
│ QQuery 7  │     86.85 / 89.25 ±2.42 / 93.60 ms │                 73.70 / 74.09 ±0.23 / 74.30 ms │ +1.20x faster │
│ QQuery 8  │     15.75 / 15.82 ±0.09 / 16.00 ms │                 37.47 / 39.40 ±2.33 / 43.95 ms │  2.49x slower │
│ QQuery 9  │  117.11 / 122.33 ±4.44 / 129.62 ms │                 54.19 / 56.78 ±2.18 / 60.71 ms │ +2.15x faster │
│ QQuery 10 │     74.30 / 80.22 ±5.09 / 89.31 ms │                 62.40 / 62.82 ±0.37 / 63.33 ms │ +1.28x faster │
│ QQuery 11 │ 229.65 / 238.25 ±10.75 / 258.90 ms │              308.00 / 320.69 ±9.56 / 333.75 ms │  1.35x slower │
│ QQuery 12 │     29.66 / 29.95 ±0.28 / 30.43 ms │                 30.23 / 30.77 ±0.47 / 31.58 ms │     no change │
│ QQuery 13 │  112.79 / 117.18 ±5.77 / 128.54 ms │              116.39 / 117.45 ±1.21 / 119.65 ms │     no change │
│ QQuery 14 │  442.81 / 451.11 ±6.55 / 462.54 ms │              396.53 / 405.31 ±5.90 / 411.65 ms │ +1.11x faster │
│ QQuery 15 │     24.56 / 24.80 ±0.24 / 25.23 ms │                 64.42 / 66.18 ±1.24 / 67.78 ms │  2.67x slower │
│ QQuery 16 │       6.28 / 7.56 ±2.30 / 12.16 ms │                    7.00 / 7.15 ±0.15 / 7.38 ms │ +1.06x faster │
│ QQuery 17 │  118.89 / 124.26 ±7.14 / 138.35 ms │                 81.77 / 83.19 ±1.71 / 86.25 ms │ +1.49x faster │
│ QQuery 18 │  167.93 / 172.60 ±4.32 / 177.87 ms │              110.67 / 112.00 ±0.80 / 113.08 ms │ +1.54x faster │
│ QQuery 19 │     41.38 / 42.04 ±0.50 / 42.76 ms │                 43.46 / 44.05 ±0.32 / 44.44 ms │     no change │
│ QQuery 20 │     33.08 / 33.50 ±0.38 / 33.98 ms │                 38.39 / 39.59 ±1.38 / 42.30 ms │  1.18x slower │
│ QQuery 21 │     20.13 / 20.42 ±0.26 / 20.74 ms │                 17.91 / 18.18 ±0.25 / 18.62 ms │ +1.12x faster │
│ QQuery 22 │     67.07 / 69.24 ±1.28 / 70.63 ms │                 68.90 / 71.34 ±1.57 / 73.45 ms │     no change │
│ QQuery 23 │  397.30 / 402.95 ±4.15 / 408.18 ms │              339.10 / 347.22 ±7.15 / 358.20 ms │ +1.16x faster │
│ QQuery 24 │  182.15 / 187.64 ±3.80 / 193.80 ms │              213.68 / 219.21 ±5.69 / 227.91 ms │  1.17x slower │
│ QQuery 25 │  119.75 / 124.43 ±5.81 / 135.88 ms │              110.47 / 113.69 ±2.10 / 117.07 ms │ +1.09x faster │
│ QQuery 26 │     67.01 / 69.05 ±1.35 / 71.26 ms │                 47.67 / 49.34 ±3.32 / 55.97 ms │ +1.40x faster │
│ QQuery 27 │        6.51 / 6.61 ±0.07 / 6.71 ms │                    6.54 / 6.71 ±0.11 / 6.87 ms │     no change │
│ QQuery 28 │     77.40 / 80.17 ±2.40 / 83.39 ms │                 57.96 / 60.37 ±2.15 / 62.94 ms │ +1.33x faster │
│ QQuery 29 │  153.69 / 156.18 ±3.91 / 163.95 ms │               99.24 / 101.59 ±2.07 / 104.73 ms │ +1.54x faster │
│ QQuery 30 │     33.48 / 33.89 ±0.45 / 34.66 ms │                 34.59 / 36.29 ±2.33 / 40.86 ms │  1.07x slower │
│ QQuery 31 │  131.29 / 132.20 ±0.67 / 133.10 ms │              113.07 / 115.17 ±2.09 / 119.04 ms │ +1.15x faster │
│ QQuery 32 │     22.88 / 23.31 ±0.33 / 23.74 ms │                 21.23 / 21.56 ±0.27 / 22.04 ms │ +1.08x faster │
│ QQuery 33 │     40.57 / 43.12 ±4.48 / 52.06 ms │                 37.87 / 38.39 ±0.26 / 38.57 ms │ +1.12x faster │
│ QQuery 34 │     11.86 / 12.17 ±0.26 / 12.50 ms │                 10.96 / 13.20 ±3.63 / 20.42 ms │  1.08x slower │
│ QQuery 35 │     91.97 / 92.66 ±0.70 / 93.98 ms │                 76.89 / 77.91 ±0.81 / 79.30 ms │ +1.19x faster │
│ QQuery 36 │        6.17 / 6.29 ±0.08 / 6.42 ms │                    6.17 / 6.27 ±0.08 / 6.38 ms │     no change │
│ QQuery 37 │        7.53 / 7.65 ±0.06 / 7.69 ms │                    7.42 / 7.52 ±0.08 / 7.64 ms │     no change │
│ QQuery 38 │     83.33 / 85.70 ±2.99 / 91.55 ms │                 67.20 / 67.63 ±0.25 / 67.88 ms │ +1.27x faster │
│ QQuery 39 │     73.86 / 74.84 ±0.83 / 76.03 ms │                 78.59 / 81.38 ±3.24 / 87.40 ms │  1.09x slower │
│ QQuery 40 │     20.96 / 21.97 ±1.29 / 24.37 ms │                 24.98 / 25.49 ±0.30 / 25.84 ms │  1.16x slower │
│ QQuery 41 │     12.89 / 12.94 ±0.05 / 13.03 ms │                 12.22 / 12.30 ±0.09 / 12.44 ms │     no change │
│ QQuery 42 │     24.62 / 24.90 ±0.34 / 25.46 ms │                 24.93 / 25.48 ±0.46 / 26.21 ms │     no change │
│ QQuery 43 │        5.05 / 5.12 ±0.06 / 5.22 ms │                    5.42 / 5.52 ±0.07 / 5.64 ms │  1.08x slower │
│ QQuery 44 │        9.22 / 9.43 ±0.15 / 9.59 ms │                    9.63 / 9.80 ±0.12 / 9.99 ms │     no change │
│ QQuery 45 │     29.59 / 32.38 ±2.60 / 36.84 ms │                 43.99 / 44.99 ±0.74 / 45.63 ms │  1.39x slower │
│ QQuery 46 │     13.63 / 14.02 ±0.22 / 14.31 ms │                 12.90 / 13.11 ±0.33 / 13.76 ms │ +1.07x faster │
│ QQuery 47 │  242.72 / 252.15 ±9.07 / 266.96 ms │              268.59 / 275.45 ±3.90 / 279.30 ms │  1.09x slower │
│ QQuery 48 │  125.11 / 127.65 ±2.24 / 131.63 ms │                 95.28 / 95.81 ±0.48 / 96.67 ms │ +1.33x faster │
│ QQuery 49 │     90.58 / 92.17 ±1.28 / 93.75 ms │                 74.19 / 76.94 ±4.98 / 86.88 ms │ +1.20x faster │
│ QQuery 50 │  127.65 / 133.22 ±5.69 / 142.79 ms │                 61.49 / 62.70 ±0.67 / 63.54 ms │ +2.12x faster │
│ QQuery 51 │  103.78 / 105.51 ±1.63 / 107.63 ms │                94.08 / 98.02 ±2.52 / 100.89 ms │ +1.08x faster │
│ QQuery 52 │     24.74 / 25.03 ±0.17 / 25.20 ms │                 25.69 / 27.34 ±2.05 / 31.36 ms │  1.09x slower │
│ QQuery 53 │     31.17 / 33.57 ±4.59 / 42.74 ms │                 31.08 / 31.69 ±0.58 / 32.63 ms │ +1.06x faster │
│ QQuery 54 │     30.34 / 31.78 ±0.86 / 32.65 ms │                 56.20 / 56.49 ±0.29 / 57.04 ms │  1.78x slower │
│ QQuery 55 │     24.44 / 24.67 ±0.15 / 24.84 ms │                 25.17 / 25.72 ±0.51 / 26.63 ms │     no change │
│ QQuery 56 │     35.81 / 36.00 ±0.19 / 36.34 ms │                 39.96 / 40.64 ±0.73 / 42.01 ms │  1.13x slower │
│ QQuery 57 │  142.66 / 145.85 ±3.47 / 150.65 ms │              177.96 / 183.02 ±3.69 / 188.64 ms │  1.25x slower │
│ QQuery 58 │     75.28 / 75.96 ±0.48 / 76.78 ms │              112.16 / 115.75 ±3.70 / 121.92 ms │  1.52x slower │
│ QQuery 59 │     82.50 / 84.58 ±1.45 / 86.88 ms │              119.40 / 120.58 ±0.81 / 121.64 ms │  1.43x slower │
│ QQuery 60 │     39.35 / 40.18 ±0.99 / 42.09 ms │                 40.78 / 42.03 ±2.32 / 46.68 ms │     no change │
│ QQuery 61 │     11.79 / 11.90 ±0.09 / 11.99 ms │                 11.85 / 12.05 ±0.12 / 12.20 ms │     no change │
│ QQuery 62 │     43.39 / 43.91 ±0.33 / 44.32 ms │                 44.86 / 45.10 ±0.19 / 45.33 ms │     no change │
│ QQuery 63 │     32.12 / 32.35 ±0.14 / 32.57 ms │                 30.49 / 30.65 ±0.10 / 30.78 ms │ +1.06x faster │
│ QQuery 64 │  537.73 / 543.42 ±7.01 / 557.00 ms │              379.91 / 388.70 ±6.00 / 398.59 ms │ +1.40x faster │
│ QQuery 65 │  167.22 / 168.39 ±0.77 / 169.51 ms │              135.75 / 138.28 ±2.33 / 142.42 ms │ +1.22x faster │
│ QQuery 66 │     65.51 / 66.83 ±1.20 / 69.05 ms │                 77.40 / 79.34 ±1.12 / 80.41 ms │  1.19x slower │
│ QQuery 67 │  285.19 / 291.96 ±5.58 / 299.56 ms │              267.46 / 276.00 ±4.71 / 280.49 ms │ +1.06x faster │
│ QQuery 68 │     13.54 / 14.29 ±0.93 / 16.06 ms │                 12.85 / 15.91 ±5.27 / 26.39 ms │  1.11x slower │
│ QQuery 69 │     73.94 / 74.80 ±0.49 / 75.41 ms │                 57.73 / 58.16 ±0.27 / 58.52 ms │ +1.29x faster │
│ QQuery 70 │  124.37 / 130.66 ±5.92 / 140.25 ms │              106.62 / 108.96 ±2.66 / 113.04 ms │ +1.20x faster │
│ QQuery 71 │     32.88 / 33.27 ±0.30 / 33.56 ms │                 36.57 / 39.85 ±5.13 / 50.04 ms │  1.20x slower │
│ QQuery 72 │  178.23 / 185.56 ±5.79 / 193.49 ms │          1784.83 / 1840.21 ±28.23 / 1859.22 ms │  9.92x slower │
│ QQuery 73 │     11.03 / 11.50 ±0.39 / 12.18 ms │                 10.99 / 12.23 ±1.07 / 13.98 ms │  1.06x slower │
│ QQuery 74 │  153.32 / 160.57 ±8.56 / 175.19 ms │              175.37 / 186.67 ±6.69 / 194.37 ms │  1.16x slower │
│ QQuery 75 │  185.53 / 187.98 ±2.52 / 192.40 ms │              141.29 / 142.98 ±1.60 / 145.48 ms │ +1.31x faster │
│ QQuery 76 │     41.13 / 41.85 ±0.58 / 42.74 ms │                 35.19 / 37.03 ±2.84 / 42.68 ms │ +1.13x faster │
│ QQuery 77 │     63.54 / 64.00 ±0.39 / 64.63 ms │                 62.83 / 63.10 ±0.34 / 63.75 ms │     no change │
│ QQuery 78 │  121.25 / 124.87 ±2.28 / 127.35 ms │              171.93 / 178.19 ±5.91 / 187.87 ms │  1.43x slower │
│ QQuery 79 │     69.50 / 70.11 ±0.43 / 70.79 ms │                 68.72 / 69.60 ±0.71 / 70.65 ms │     no change │
│ QQuery 80 │     77.59 / 80.39 ±3.54 / 87.33 ms │               99.63 / 104.63 ±6.89 / 118.12 ms │  1.30x slower │
│ QQuery 81 │     28.49 / 30.15 ±2.58 / 35.29 ms │                 27.80 / 28.27 ±0.31 / 28.69 ms │ +1.07x faster │
│ QQuery 82 │     32.36 / 32.69 ±0.21 / 32.93 ms │                 17.59 / 18.44 ±1.17 / 20.75 ms │ +1.77x faster │
│ QQuery 83 │     30.53 / 30.93 ±0.26 / 31.17 ms │                 33.87 / 34.48 ±0.36 / 34.81 ms │  1.11x slower │
│ QQuery 84 │     31.05 / 31.41 ±0.25 / 31.72 ms │                 30.34 / 30.69 ±0.33 / 31.29 ms │     no change │
│ QQuery 85 │  163.60 / 168.05 ±3.58 / 173.02 ms │              100.33 / 105.88 ±6.79 / 118.65 ms │ +1.59x faster │
│ QQuery 86 │     31.88 / 32.20 ±0.23 / 32.46 ms │                 26.37 / 27.35 ±0.59 / 28.07 ms │ +1.18x faster │
│ QQuery 87 │     82.96 / 83.56 ±0.48 / 84.11 ms │                 68.24 / 69.22 ±0.86 / 70.52 ms │ +1.21x faster │
│ QQuery 88 │     65.66 / 73.15 ±6.58 / 84.06 ms │                 61.58 / 63.78 ±3.00 / 69.63 ms │ +1.15x faster │
│ QQuery 89 │     43.49 / 43.85 ±0.30 / 44.23 ms │                 37.03 / 37.93 ±0.58 / 38.75 ms │ +1.16x faster │
│ QQuery 90 │     18.74 / 18.98 ±0.16 / 19.24 ms │                 17.37 / 17.67 ±0.36 / 18.35 ms │ +1.07x faster │
│ QQuery 91 │     45.35 / 48.37 ±3.45 / 54.87 ms │                 42.54 / 42.98 ±0.23 / 43.15 ms │ +1.13x faster │
│ QQuery 92 │     31.69 / 32.28 ±0.41 / 32.88 ms │                 30.58 / 31.51 ±0.50 / 32.01 ms │     no change │
│ QQuery 93 │     50.65 / 51.99 ±1.20 / 53.39 ms │                 51.76 / 52.37 ±0.74 / 53.55 ms │     no change │
│ QQuery 94 │     37.41 / 37.94 ±0.39 / 38.56 ms │                 41.85 / 44.20 ±2.29 / 48.42 ms │  1.16x slower │
│ QQuery 95 │    95.55 / 97.88 ±2.49 / 102.72 ms │                 85.18 / 86.42 ±1.13 / 87.85 ms │ +1.13x faster │
│ QQuery 96 │     26.78 / 28.08 ±1.48 / 30.81 ms │                 24.41 / 24.64 ±0.18 / 24.92 ms │ +1.14x faster │
│ QQuery 97 │     55.82 / 57.49 ±1.13 / 59.32 ms │                 52.74 / 54.39 ±1.31 / 56.32 ms │ +1.06x faster │
│ QQuery 98 │     40.63 / 43.52 ±2.17 / 46.13 ms │                 46.05 / 47.13 ±0.65 / 47.83 ms │  1.08x slower │
│ QQuery 99 │     62.34 / 64.20 ±2.49 / 69.06 ms │                 66.43 / 66.72 ±0.25 / 67.13 ms │     no change │
└───────────┴────────────────────────────────────┴────────────────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Benchmark Summary                                             ┃           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ Total Time (HEAD)                                             │ 8402.19ms │
│ Total Time (fix_dedup-stringview-buffers-collectleft-joins)   │ 9733.98ms │
│ Average Time (HEAD)                                           │   84.87ms │
│ Average Time (fix_dedup-stringview-buffers-collectleft-joins) │   98.32ms │
│ Queries Faster                                                │        44 │
│ Queries Slower                                                │        34 │
│ Queries with No Change                                        │        21 │
│ Queries with Failure                                          │         0 │
└───────────────────────────────────────────────────────────────┴───────────┘

Resource Usage

tpcds — base (merge-base)

Metric Value
Wall time 45.0s
Peak memory 1.7 GiB
Avg memory 1.1 GiB
CPU user 122.7s
CPU sys 6.3s
Peak spill 0 B

tpcds — branch

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

File an issue against this benchmark runner

@adriangb

Copy link
Copy Markdown
Contributor

TPC-DS SF1, change in query time (negative = faster). Noise band: ±10%, the largest per-query difference in the main on vs main on control run. A cell with — is within the noise band. Queries that are within the noise band in all four runs are not shown.

Query main → PR, pushdown on main → PR, pushdown off PR, pushdown on → off main, pushdown on → off
Q2 — — +70% +70%
Q4 — — +34% +23%
Q7 — — -15% -14%
Q8 — — +138% +134%
Q9 — — -54% -56%
Q10 — — -16% -17%
Q11 — — +34% +23%
Q14 — — -10% —
Q15 — -12% +162% +123%
Q16 — — +11% —
Q17 — — -31% -32%
Q18 — — -34% -36%
Q20 — -11% +16% +13%
Q21 — — -11% -12%
Q23 — — -15% -19%
Q24 — — +17% +16%
Q26 — — -29% -29%
Q28 — — -25% -20%
Q29 — — -35% -36%
Q31 — — -14% -12%
Q35 — — -16% -17%
Q38 — — -19% -21%
Q40 — — +19% +16%
Q45 — — +49% +37%
Q47 — +11% +11% —
Q48 — — -24% -25%
Q49 — — -18% -20%
Q50 — — -52% -54%
Q54 — — +85% +91%
Q56 — — +12% —
Q57 — — +25% +24%
Q58 — — +49% +43%
Q59 — — +45% +43%
Q64 — — -29% -29%
Q65 — — -19% -19%
Q66 — — +18% +18%
Q69 — — -22% -19%
Q70 — — -14% -14%
Q71 — — +11% —
Q72 — — +901% +879%
Q74 — — +14% —
Q75 — — -24% -22%
Q76 — — -14% -15%
Q78 — — +42% +37%
Q80 — — +28% +28%
Q82 — — -46% -47%
Q83 — — +11% +15%
Q85 — — -39% -39%
Q86 — — -17% -18%
Q87 — — -18% -22%
Q89 — — -15% -18%
Q94 — — +12% —
Q95 — — -11% -15%
Q98 — — +13% +11%
Total +0.0% -3.2% +15.7% +13.2%

Total for the control run: -0.6%. main = 06aa131 (merge-base), PR = ca2623c.

@mohitgurav20

Copy link
Copy Markdown
Contributor Author

Thanks for running the benchmarks with both pushdown configurations, @adriangb!

The numbers are clear — at SF1, it's a flat +0.0% with pushdown enabled and well within noise across the board. The batch count at this scale simply isn't large enough for duplicate buffer references to outweigh the hashing and remapping cost in HashJoinExec.

As agreed earlier with @alamb, without a clear representative payoff, adding this complexity to the hash join build path isn't justified. Closing this out.

If this ever surfaces as a measurable bottleneck on larger scale factors (SF100+) or high batch counts, we can revisit whether handling it upstream in Arrow's concat kernel makes more sense. Thanks for the guidance and reviews, @alamb and @adriangb!

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

Labels

physical-plan Changes to the physical-plan crate

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Chained CollectLeft hash joins multiply StringView buffer references (TPC-DS Q64: 8.5 GB, ~10x slower with pushdown_filters)

6 participants