You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@datafusion.apache.org by "mohitgurav20 (via GitHub)" <gi...@apache.org> on 2026/09/24 19:31:25 UTC

[PR] fix: deduplicate StringView/BinaryView buffer refs in CollectLeft Has... [datafusion]

mohitgurav20 opened a new pull request, #25716:
URL: https://github.com/apache/datafusion/pull/25716

   
   PR: fix: deduplicate StringView/BinaryView data buffer references in CollectLeft HashJoinExec
   Which issue does this PR close?
   Closes #25712
   Rationale for this change
   Queries using chained CollectLeft hash joins on StringView / BinaryView (e.g., Utf8View, BinaryView) payload columns exhibited exponential buffer reference growth, causing ~10x query slowdowns and ~7x higher RSS on TPC-DS Q64 with pushdown_filters = true.
   
   Root cause: Arrow's concat kernel appends data_buffers from each input batch without deduplication. When N build batches share K underlying allocations, the concatenated view array holds N × K buffer references. Each subsequent CollectLeft join concatenates those bloated arrays again, multiplying the count further (1 → 6 → 42 → 252 → 1,512 → 10,584 → 63,504 → 317,520 → 1,587,600 references per column). The memory metrics code (RecordBatchMemoryCounter::count_buffer_memory_size) and the join output (take on the build side) then walk every one of those references on each probe batch, burning CPU even though there are only 2 distinct allocations.
   
   What changes are included in this PR?
   Two new private functions are added in datafusion/physical-plan/src/joins/hash_join/exec.rs:
   
   deduplicate_view_array_buffers<T: ByteViewType>
   
   Walks data_buffers() of a GenericByteViewArray, keying each buffer by its raw allocation address (as_ptr() as usize).
   Builds a deduplicated buffer vector and an index remap table.
   Rewrites the 4-byte buffer_index inside each non-inline 128-bit view descriptor (length > 12) to point into the deduplicated vector.
   Zero string bytes are copied. Inline values (length ≤ 12) are left untouched. If no duplicates exist, the function returns a zero-allocation clone of the array.
   deduplicate_record_batch_view_buffers
   
   Applies the deduplication to every Utf8View and BinaryView column in a RecordBatch; other columns are forwarded unchanged.
   Returns a cheap clone if the batch contains no view columns.
   The call is inserted in concat_build_batches immediately after concat_batches, before the memory accounting adjustment, so the reservation correctly reflects the deduplicated size.
   
   What is the testing strategy for this PR?
   A new unit test concat_build_batches_deduplicates_view_buffers is added to the existing tests module in exec.rs:
   
   Builds a StringViewArray with long (non-inline) strings that create a data buffer.
   Replicates it into 3 RecordBatches that share the same buffer allocation.
   Asserts that raw concat_batches produces 3 buffer references (confirming the bug is reproducible).
   Asserts that concat_build_batches deduplicates them down to 1 — preventing the compounding that causes the issue.
   The fix is validated by the full existing concat_build_batches_* test suite, which covers:
   
   Correctness equivalence with concat_batches
   Memory reservation accounting for multi-batch and single-batch cases
   View-array data not being reserved twice
   Are there any user-facing changes?
   No API changes. The fix is internal to HashJoinExec. Users will observe significantly lower peak memory and faster query execution for CollectLeft joins on Utf8View / BinaryView columns, particularly in chained-join plans such as TPC-DS Q64.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] fix: deduplicate StringView/BinaryView buffer refs in CollectLeft Has... [datafusion]

Posted by "mohitgurav20 (via GitHub)" <gi...@apache.org>.
mohitgurav20 commented on PR #25716:
URL: https://github.com/apache/datafusion/pull/25716#issuecomment-5929426126

   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.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] fix: deduplicate StringView/BinaryView buffer refs in CollectLeft Has... [datafusion]

Posted by "adriangbot (via GitHub)" <gi...@apache.org>.
adriangbot commented on PR #25716:
URL: https://github.com/apache/datafusion/pull/25716#issuecomment-6074575269

   🤖 Benchmark running (GKE) | [trigger](https://github.com/apache/datafusion/pull/25716#issuecomment-6074480929)
   **Instance:** `c4a-highmem-16` (12 vCPU / 65 GiB) | `Linux bench-c6074480929-3228-7bgn8 6.12.94+ #1 SMP Fri Aug 21 08:00:16 UTC 2026 aarch64 GNU/Linux`
   <details><summary>CPU Details (lscpu)</summary>
   
   ```
   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 fix/dedup-stringview-buffers-collectleft-joins (b1046682e4ea04c7801739f561280cb1d3fa9dfd) to b7c7bc2 (merge-base) [diff](https://github.com/apache/datafusion/compare/b7c7bc2c3930e58f55ea809b2e33755fc5241e65..b1046682e4ea04c7801739f561280cb1d3fa9dfd)
   
   <details><summary>Run configuration</summary>
   
   ```yaml
   run benchmark tpcds
   baseline:
     env:
       DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "false"
   changed:
     env:
       DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "true"
   ```
   
   </details>
   
   Results will be posted here when complete
   
   ---
   [File an issue](https://github.com/adriangb/datafusion-benchmarking/issues) against this benchmark runner


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] fix: deduplicate StringView/BinaryView buffer refs in CollectLeft Has... [datafusion]

Posted by "mohitgurav20 (via GitHub)" <gi...@apache.org>.
mohitgurav20 commented on PR #25716:
URL: https://github.com/apache/datafusion/pull/25716#issuecomment-6036467788

   @kosiew Conflicts resolved and pushed! Only the use arrow::array import block conflicted — upstream added BooleanArray/NullBuffer, our branch had the StringViewArray/BinaryViewArray types — combined both and all 558 hash join tests pass. Ready for review!


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] fix: deduplicate StringView/BinaryView buffer refs in CollectLeft Has... [datafusion]

Posted by "mohitgurav20 (via GitHub)" <gi...@apache.org>.
mohitgurav20 commented on PR #25716:
URL: https://github.com/apache/datafusion/pull/25716#issuecomment-5858105393

   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!


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] fix: deduplicate StringView/BinaryView buffer refs in CollectLeft Has... [datafusion]

Posted by "adriangbot (via GitHub)" <gi...@apache.org>.
adriangbot commented on PR #25716:
URL: https://github.com/apache/datafusion/pull/25716#issuecomment-6074254715

   🤖 Benchmark running (GKE) | [trigger](https://github.com/apache/datafusion/pull/25716#issuecomment-6074204632)
   **Instance:** `c4a-highcpu-48` (12 vCPU / 65 GiB) | `Linux bench-c6074204632-3225-k47rc 6.12.94+ #1 SMP Fri Aug 21 08:00:16 UTC 2026 aarch64 GNU/Linux`
   <details><summary>CPU Details (lscpu)</summary>
   
   ```
   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 fix/dedup-stringview-buffers-collectleft-joins (b1046682e4ea04c7801739f561280cb1d3fa9dfd) to b7c7bc2 (merge-base) [diff](https://github.com/apache/datafusion/compare/b7c7bc2c3930e58f55ea809b2e33755fc5241e65..b1046682e4ea04c7801739f561280cb1d3fa9dfd)
   
   <details><summary>Run configuration</summary>
   
   ```yaml
   run benchmark tpcds
   env:
     DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "true"
   ```
   
   </details>
   
   Results will be posted here when complete
   
   ---
   [File an issue](https://github.com/adriangb/datafusion-benchmarking/issues) against this benchmark runner


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] fix: deduplicate StringView/BinaryView buffer refs in CollectLeft Has... [datafusion]

Posted by "kosiew (via GitHub)" <gi...@apache.org>.
kosiew commented on PR #25716:
URL: https://github.com/apache/datafusion/pull/25716#issuecomment-6121378002

   run benchmark tpcds
   ```yaml
   env:
     DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "true"
   ```


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] fix: deduplicate StringView/BinaryView buffer refs in CollectLeft Has... [datafusion]

Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on PR #25716:
URL: https://github.com/apache/datafusion/pull/25716#issuecomment-5836148614

   <!-- semver-check-comment -->
   Thank you for opening this pull request!
   
   Reviewer note: [cargo-semver-checks](https://github.com/obi1kenobi/cargo-semver-checks) reported the current version number is not SemVer-compatible with the changes in this pull request (compared against the base branch).
   
   <details>
   <summary>Details</summary>
   
   ```
        Cloning apache/main
       Building datafusion-physical-plan v55.1.0 (current)
          Built [  43.171s] (current)
        Parsing datafusion-physical-plan v55.1.0 (current)
         Parsed [   0.185s] (current)
       Building datafusion-physical-plan v55.1.0 (baseline)
          Built [  42.466s] (baseline)
        Parsing datafusion-physical-plan v55.1.0 (baseline)
         Parsed [   0.171s] (baseline)
       Checking datafusion-physical-plan v55.1.0 -> v55.1.0 (no change; assume patch)
        Checked [   0.768s] 223 checks: 222 pass, 1 fail, 0 warn, 31 skip
   
   --- failure inherent_method_missing: pub method removed or renamed ---
   
   Description:
   A publicly-visible method or associated fn is no longer available under its prior name. It may have been renamed or removed entirely.
           ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
          impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.50.0/src/lints/inherent_method_missing.ron
   
   Failed in:
     StatisticsExec::with_partition_statistics, previously in file /home/runner/work/datafusion/datafusion/target/semver-checks/git-apache_main/d8901b89e2bf56457efb61386ddc4fc4f94839d6/datafusion/physical-plan/src/test/exec.rs:685
   
        Summary semver requires new major version: 1 major and 0 minor checks failed
       Finished [  88.762s] datafusion-physical-plan
   ```
   
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] fix: deduplicate StringView/BinaryView buffer refs in CollectLeft Has... [datafusion]

Posted by "adriangbot (via GitHub)" <gi...@apache.org>.
adriangbot commented on PR #25716:
URL: https://github.com/apache/datafusion/pull/25716#issuecomment-6073881756

   🤖 Benchmark completed (GKE) | [trigger](https://github.com/apache/datafusion/pull/25716#issuecomment-6073736578)
   
   **Instance:** `c4a-highcpu-48` (12 vCPU / 65 GiB)
   
   Comparing fix/dedup-stringview-buffers-collectleft-joins (b1046682e4ea04c7801739f561280cb1d3fa9dfd) to b7c7bc2 (merge-base) [diff](https://github.com/apache/datafusion/compare/b7c7bc2c3930e58f55ea809b2e33755fc5241e65..b1046682e4ea04c7801739f561280cb1d3fa9dfd)
   
   <details><summary>Run configuration</summary>
   
   ```yaml
   run benchmark tpcds
   env:
     DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "true"
   ```
   
   </details>
   
   <details><summary>CPU Details (lscpu)</summary>
   
   ```
   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>
   
   <details><summary>Details</summary>
   <p>
   
   ```
   Comparing HEAD and fix_dedup-stringview-buffers-collectleft-joins
   --------------------
   Benchmark tpcds_sf1.json
   --------------------
   ┏━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓
   ┃ Query     ┃      HEAD ┃ fix_dedup-stringview-buffers-collectleft-joins ┃       Change ┃
   ┡━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━┩
   │ QQuery 1  │   4.95 ms │                                        5.08 ms │    no change │
   │ QQuery 2  │  45.86 ms │                                       46.05 ms │    no change │
   │ QQuery 3  │  25.93 ms │                                       26.31 ms │    no change │
   │ QQuery 4  │ 346.45 ms │                                      348.32 ms │    no change │
   │ QQuery 5  │  46.54 ms │                                       45.87 ms │    no change │
   │ QQuery 6  │  36.02 ms │                                       35.93 ms │    no change │
   │ QQuery 7  │  82.02 ms │                                       82.47 ms │    no change │
   │ QQuery 8  │  14.92 ms │                                       14.78 ms │    no change │
   │ QQuery 9  │ 109.19 ms │                                      109.38 ms │    no change │
   │ QQuery 10 │  71.46 ms │                                       72.42 ms │    no change │
   │ QQuery 11 │ 213.83 ms │                                      215.52 ms │    no change │
   │ QQuery 12 │  27.88 ms │                                       27.55 ms │    no change │
   │ QQuery 13 │ 110.11 ms │                                      110.24 ms │    no change │
   │ QQuery 14 │ 425.99 ms │                                      425.12 ms │    no change │
   │ QQuery 15 │  23.47 ms │                                       22.76 ms │    no change │
   │ QQuery 16 │   5.78 ms │                                        5.72 ms │    no change │
   │ QQuery 17 │ 114.95 ms │                                      114.57 ms │    no change │
   │ QQuery 18 │ 161.11 ms │                                      161.44 ms │    no change │
   │ QQuery 19 │  38.92 ms │                                       38.77 ms │    no change │
   │ QQuery 20 │  30.50 ms │                                       31.52 ms │    no change │
   │ QQuery 21 │  18.68 ms │                                       18.82 ms │    no change │
   │ QQuery 22 │  60.79 ms │                                       61.43 ms │    no change │
   │ QQuery 23 │ 367.63 ms │                                      366.73 ms │    no change │
   │ QQuery 24 │ 164.88 ms │                                      165.61 ms │    no change │
   │ QQuery 25 │ 115.53 ms │                                      115.20 ms │    no change │
   │ QQuery 26 │  63.24 ms │                                       63.76 ms │    no change │
   │ QQuery 27 │   5.79 ms │                                        5.75 ms │    no change │
   │ QQuery 28 │  73.16 ms │                                       72.90 ms │    no change │
   │ QQuery 29 │ 144.87 ms │                                      145.81 ms │    no change │
   │ QQuery 30 │  32.41 ms │                                       32.28 ms │    no change │
   │ QQuery 31 │ 122.53 ms │                                      122.88 ms │    no change │
   │ QQuery 32 │  20.72 ms │                                       20.91 ms │    no change │
   │ QQuery 33 │  38.69 ms │                                       38.49 ms │    no change │
   │ QQuery 34 │  10.28 ms │                                       10.75 ms │    no change │
   │ QQuery 35 │  84.03 ms │                                       85.06 ms │    no change │
   │ QQuery 36 │   5.45 ms │                                        5.33 ms │    no change │
   │ QQuery 37 │   6.88 ms │                                        6.90 ms │    no change │
   │ QQuery 38 │  75.86 ms │                                       77.17 ms │    no change │
   │ QQuery 39 │  70.12 ms │                                       69.58 ms │    no change │
   │ QQuery 40 │  19.49 ms │                                       19.41 ms │    no change │
   │ QQuery 41 │  11.87 ms │                                       11.69 ms │    no change │
   │ QQuery 42 │  23.20 ms │                                       23.10 ms │    no change │
   │ QQuery 43 │   4.43 ms │                                        4.36 ms │    no change │
   │ QQuery 44 │   8.45 ms │                                        8.26 ms │    no change │
   │ QQuery 45 │  25.66 ms │                                       25.62 ms │    no change │
   │ QQuery 46 │  11.89 ms │                                       12.06 ms │    no change │
   │ QQuery 47 │ 218.60 ms │                                      218.90 ms │    no change │
   │ QQuery 48 │ 117.92 ms │                                      118.61 ms │    no change │
   │ QQuery 49 │  85.22 ms │                                       85.50 ms │    no change │
   │ QQuery 50 │ 124.16 ms │                                      124.04 ms │    no change │
   │ QQuery 51 │ 101.40 ms │                                      101.43 ms │    no change │
   │ QQuery 52 │  23.25 ms │                                       23.49 ms │    no change │
   │ QQuery 53 │  29.82 ms │                                       30.15 ms │    no change │
   │ QQuery 54 │  26.95 ms │                                       28.21 ms │    no change │
   │ QQuery 55 │  22.67 ms │                                       22.77 ms │    no change │
   │ QQuery 56 │  33.68 ms │                                       33.82 ms │    no change │
   │ QQuery 57 │ 132.30 ms │                                      132.62 ms │    no change │
   │ QQuery 58 │  71.62 ms │                                       71.81 ms │    no change │
   │ QQuery 59 │  79.06 ms │                                       78.45 ms │    no change │
   │ QQuery 60 │  37.76 ms │                                       37.42 ms │    no change │
   │ QQuery 61 │  10.59 ms │                                       10.69 ms │    no change │
   │ QQuery 62 │  41.59 ms │                                       41.69 ms │    no change │
   │ QQuery 63 │  29.85 ms │                                       29.94 ms │    no change │
   │ QQuery 64 │ 516.72 ms │                                      513.27 ms │    no change │
   │ QQuery 65 │ 162.87 ms │                                      160.81 ms │    no change │
   │ QQuery 66 │  62.16 ms │                                       62.06 ms │    no change │
   │ QQuery 67 │ 254.75 ms │                                      249.43 ms │    no change │
   │ QQuery 68 │  11.75 ms │                                       11.99 ms │    no change │
   │ QQuery 69 │  69.16 ms │                                       70.20 ms │    no change │
   │ QQuery 70 │ 117.24 ms │                                      118.32 ms │    no change │
   │ QQuery 71 │  31.92 ms │                                       31.51 ms │    no change │
   │ QQuery 72 │ 170.21 ms │                                      171.43 ms │    no change │
   │ QQuery 73 │   9.71 ms │                                       10.73 ms │ 1.11x slower │
   │ QQuery 74 │ 145.65 ms │                                      146.17 ms │    no change │
   │ QQuery 75 │ 177.19 ms │                                      178.94 ms │    no change │
   │ QQuery 76 │  39.73 ms │                                       39.99 ms │    no change │
   │ QQuery 77 │  60.83 ms │                                       60.91 ms │    no change │
   │ QQuery 78 │ 114.52 ms │                                      114.45 ms │    no change │
   │ QQuery 79 │  66.43 ms │                                       67.31 ms │    no change │
   │ QQuery 80 │  74.83 ms │                                       74.37 ms │    no change │
   │ QQuery 81 │  26.54 ms │                                       26.70 ms │    no change │
   │ QQuery 82 │  30.47 ms │                                       30.55 ms │    no change │
   │ QQuery 83 │  27.76 ms │                                       28.42 ms │    no change │
   │ QQuery 84 │  29.92 ms │                                       30.50 ms │    no change │
   │ QQuery 85 │ 157.18 ms │                                      157.56 ms │    no change │
   │ QQuery 86 │  30.14 ms │                                       29.90 ms │    no change │
   │ QQuery 87 │  76.77 ms │                                       76.83 ms │    no change │
   │ QQuery 88 │  65.59 ms │                                       62.85 ms │    no change │
   │ QQuery 89 │  42.01 ms │                                       42.32 ms │    no change │
   │ QQuery 90 │  17.49 ms │                                       18.29 ms │    no change │
   │ QQuery 91 │  43.47 ms │                                       43.70 ms │    no change │
   │ QQuery 92 │  29.11 ms │                                       29.38 ms │    no change │
   │ QQuery 93 │  47.92 ms │                                       48.36 ms │    no change │
   │ QQuery 94 │  35.42 ms │                                       35.49 ms │    no change │
   │ QQuery 95 │  93.63 ms │                                       93.75 ms │    no change │
   │ QQuery 96 │  26.05 ms │                                       26.28 ms │    no change │
   │ QQuery 97 │  52.77 ms │                                       52.58 ms │    no change │
   │ QQuery 98 │  38.31 ms │                                       38.43 ms │    no change │
   │ QQuery 99 │  59.47 ms │                                       59.79 ms │    no change │
   └───────────┴───────────┴────────────────────────────────────────────────┴──────────────┘
   ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
   ┃ Benchmark Summary                                             ┃           ┃
   ┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
   │ Total Time (HEAD)                                             │ 7724.52ms │
   │ Total Time (fix_dedup-stringview-buffers-collectleft-joins)   │ 7732.74ms │
   │ Average Time (HEAD)                                           │   78.03ms │
   │ Average Time (fix_dedup-stringview-buffers-collectleft-joins) │   78.11ms │
   │ Queries Faster                                                │         0 │
   │ Queries Slower                                                │         1 │
   │ Queries with No Change                                        │        98 │
   │ 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  │       4.95 / 5.50 ±0.95 / 7.40 ms │                    5.08 / 5.66 ±1.00 / 7.66 ms │    no change │
   │ QQuery 2  │    45.86 / 46.23 ±0.37 / 46.94 ms │                 46.05 / 46.58 ±0.48 / 47.48 ms │    no change │
   │ QQuery 3  │    25.93 / 26.42 ±0.38 / 27.09 ms │                 26.31 / 26.44 ±0.09 / 26.52 ms │    no change │
   │ QQuery 4  │ 346.45 / 351.50 ±4.18 / 358.02 ms │              348.32 / 352.08 ±2.91 / 356.09 ms │    no change │
   │ QQuery 5  │    46.54 / 46.74 ±0.28 / 47.30 ms │                 45.87 / 46.63 ±0.45 / 47.09 ms │    no change │
   │ QQuery 6  │    36.02 / 36.22 ±0.19 / 36.46 ms │                 35.93 / 36.18 ±0.31 / 36.76 ms │    no change │
   │ QQuery 7  │    82.02 / 82.83 ±0.79 / 83.82 ms │                 82.47 / 83.13 ±0.70 / 84.46 ms │    no change │
   │ QQuery 8  │    14.92 / 16.91 ±3.25 / 23.36 ms │                 14.78 / 16.76 ±3.38 / 23.51 ms │    no change │
   │ QQuery 9  │ 109.19 / 114.68 ±5.00 / 123.93 ms │              109.38 / 112.00 ±2.05 / 115.03 ms │    no change │
   │ QQuery 10 │    71.46 / 71.85 ±0.32 / 72.31 ms │                 72.42 / 72.82 ±0.40 / 73.37 ms │    no change │
   │ QQuery 11 │ 213.83 / 218.92 ±8.95 / 236.78 ms │              215.52 / 219.04 ±3.73 / 226.05 ms │    no change │
   │ QQuery 12 │    27.88 / 28.16 ±0.24 / 28.59 ms │                 27.55 / 27.89 ±0.30 / 28.44 ms │    no change │
   │ QQuery 13 │ 110.11 / 111.27 ±1.56 / 114.29 ms │              110.24 / 110.97 ±0.76 / 112.42 ms │    no change │
   │ QQuery 14 │ 425.99 / 430.78 ±3.05 / 435.51 ms │              425.12 / 429.64 ±5.74 / 440.94 ms │    no change │
   │ QQuery 15 │    23.47 / 25.72 ±3.94 / 33.57 ms │                 22.76 / 25.66 ±4.41 / 34.41 ms │    no change │
   │ QQuery 16 │       5.78 / 5.97 ±0.22 / 6.37 ms │                    5.72 / 5.88 ±0.20 / 6.27 ms │    no change │
   │ QQuery 17 │ 114.95 / 117.19 ±3.22 / 123.56 ms │              114.57 / 117.52 ±3.27 / 123.45 ms │    no change │
   │ QQuery 18 │ 161.11 / 164.22 ±2.12 / 167.28 ms │              161.44 / 165.85 ±3.02 / 169.44 ms │    no change │
   │ QQuery 19 │    38.92 / 39.34 ±0.61 / 40.53 ms │                 38.77 / 39.18 ±0.36 / 39.77 ms │    no change │
   │ QQuery 20 │    30.50 / 30.96 ±0.51 / 31.90 ms │                 31.52 / 33.06 ±1.06 / 34.35 ms │ 1.07x slower │
   │ QQuery 21 │    18.68 / 18.88 ±0.20 / 19.25 ms │                 18.82 / 18.92 ±0.10 / 19.09 ms │    no change │
   │ QQuery 22 │    60.79 / 63.49 ±3.60 / 70.61 ms │                 61.43 / 62.13 ±0.53 / 63.00 ms │    no change │
   │ QQuery 23 │ 367.63 / 375.29 ±8.14 / 390.28 ms │              366.73 / 373.05 ±4.97 / 381.79 ms │    no change │
   │ QQuery 24 │ 164.88 / 167.23 ±2.88 / 172.63 ms │              165.61 / 167.32 ±1.83 / 170.77 ms │    no change │
   │ QQuery 25 │ 115.53 / 117.01 ±1.49 / 119.51 ms │              115.20 / 117.56 ±2.08 / 120.64 ms │    no change │
   │ QQuery 26 │    63.24 / 66.45 ±4.76 / 75.71 ms │                 63.76 / 65.48 ±2.05 / 69.31 ms │    no change │
   │ QQuery 27 │       5.79 / 6.01 ±0.12 / 6.14 ms │                    5.75 / 6.00 ±0.16 / 6.23 ms │    no change │
   │ QQuery 28 │    73.16 / 74.18 ±0.92 / 75.45 ms │                 72.90 / 74.39 ±1.70 / 77.46 ms │    no change │
   │ QQuery 29 │ 144.87 / 145.84 ±0.62 / 146.72 ms │              145.81 / 148.61 ±4.08 / 156.73 ms │    no change │
   │ QQuery 30 │    32.41 / 34.04 ±2.47 / 38.88 ms │                 32.28 / 34.72 ±3.77 / 42.20 ms │    no change │
   │ QQuery 31 │ 122.53 / 126.22 ±6.21 / 138.61 ms │              122.88 / 124.28 ±1.10 / 125.54 ms │    no change │
   │ QQuery 32 │    20.72 / 21.02 ±0.27 / 21.47 ms │                 20.91 / 21.19 ±0.20 / 21.44 ms │    no change │
   │ QQuery 33 │    38.69 / 39.11 ±0.40 / 39.65 ms │                 38.49 / 39.87 ±1.57 / 42.08 ms │    no change │
   │ QQuery 34 │    10.28 / 10.47 ±0.15 / 10.66 ms │                 10.75 / 11.10 ±0.32 / 11.58 ms │ 1.06x slower │
   │ QQuery 35 │    84.03 / 84.97 ±0.62 / 85.72 ms │                 85.06 / 86.08 ±1.34 / 88.71 ms │    no change │
   │ QQuery 36 │       5.45 / 5.62 ±0.23 / 6.06 ms │                    5.33 / 5.49 ±0.23 / 5.94 ms │    no change │
   │ QQuery 37 │       6.88 / 6.93 ±0.06 / 7.05 ms │                    6.90 / 6.97 ±0.06 / 7.03 ms │    no change │
   │ QQuery 38 │    75.86 / 77.33 ±2.38 / 82.06 ms │                 77.17 / 78.45 ±1.52 / 81.38 ms │    no change │
   │ QQuery 39 │    70.12 / 71.21 ±1.36 / 73.63 ms │                 69.58 / 70.14 ±0.43 / 70.89 ms │    no change │
   │ QQuery 40 │    19.49 / 20.16 ±0.49 / 21.01 ms │                 19.41 / 19.61 ±0.14 / 19.80 ms │    no change │
   │ QQuery 41 │    11.87 / 11.98 ±0.14 / 12.25 ms │                 11.69 / 11.84 ±0.17 / 12.15 ms │    no change │
   │ QQuery 42 │    23.20 / 23.73 ±0.40 / 24.30 ms │                 23.10 / 23.69 ±0.39 / 24.09 ms │    no change │
   │ QQuery 43 │       4.43 / 4.58 ±0.17 / 4.93 ms │                    4.36 / 4.46 ±0.18 / 4.82 ms │    no change │
   │ QQuery 44 │       8.45 / 8.65 ±0.13 / 8.80 ms │                    8.26 / 8.35 ±0.06 / 8.45 ms │    no change │
   │ QQuery 45 │    25.66 / 25.98 ±0.26 / 26.31 ms │                 25.62 / 25.86 ±0.19 / 26.07 ms │    no change │
   │ QQuery 46 │    11.89 / 12.09 ±0.17 / 12.38 ms │                 12.06 / 12.32 ±0.24 / 12.67 ms │    no change │
   │ QQuery 47 │ 218.60 / 224.36 ±6.51 / 237.05 ms │              218.90 / 222.28 ±4.88 / 231.87 ms │    no change │
   │ QQuery 48 │ 117.92 / 121.91 ±3.01 / 124.68 ms │              118.61 / 121.63 ±3.00 / 126.43 ms │    no change │
   │ QQuery 49 │    85.22 / 88.01 ±2.90 / 93.46 ms │                 85.50 / 86.17 ±0.68 / 87.49 ms │    no change │
   │ QQuery 50 │ 124.16 / 127.96 ±6.71 / 141.36 ms │              124.04 / 127.13 ±4.91 / 136.92 ms │    no change │
   │ QQuery 51 │ 101.40 / 103.77 ±1.68 / 106.11 ms │              101.43 / 104.70 ±4.74 / 114.07 ms │    no change │
   │ QQuery 52 │    23.25 / 23.72 ±0.51 / 24.70 ms │                 23.49 / 23.71 ±0.31 / 24.32 ms │    no change │
   │ QQuery 53 │    29.82 / 29.98 ±0.14 / 30.23 ms │                 30.15 / 30.30 ±0.08 / 30.38 ms │    no change │
   │ QQuery 54 │    26.95 / 28.38 ±1.59 / 30.63 ms │                 28.21 / 29.96 ±2.00 / 33.58 ms │ 1.06x slower │
   │ QQuery 55 │    22.67 / 22.89 ±0.22 / 23.29 ms │                 22.77 / 23.17 ±0.34 / 23.67 ms │    no change │
   │ QQuery 56 │    33.68 / 33.93 ±0.20 / 34.29 ms │                 33.82 / 33.92 ±0.10 / 34.09 ms │    no change │
   │ QQuery 57 │ 132.30 / 136.16 ±2.65 / 140.04 ms │              132.62 / 136.84 ±4.06 / 144.17 ms │    no change │
   │ QQuery 58 │    71.62 / 72.19 ±0.64 / 73.41 ms │                 71.81 / 72.34 ±0.41 / 72.83 ms │    no change │
   │ QQuery 59 │    79.06 / 80.41 ±1.67 / 83.63 ms │                 78.45 / 79.29 ±0.83 / 80.84 ms │    no change │
   │ QQuery 60 │    37.76 / 37.84 ±0.06 / 37.92 ms │                 37.42 / 37.73 ±0.27 / 38.23 ms │    no change │
   │ QQuery 61 │    10.59 / 10.78 ±0.20 / 11.05 ms │                 10.69 / 11.22 ±0.68 / 12.53 ms │    no change │
   │ QQuery 62 │    41.59 / 41.86 ±0.19 / 42.15 ms │                 41.69 / 42.07 ±0.36 / 42.70 ms │    no change │
   │ QQuery 63 │    29.85 / 30.07 ±0.14 / 30.24 ms │                 29.94 / 30.30 ±0.24 / 30.64 ms │    no change │
   │ QQuery 64 │ 516.72 / 522.80 ±6.66 / 534.33 ms │              513.27 / 519.51 ±4.93 / 527.77 ms │    no change │
   │ QQuery 65 │ 162.87 / 164.04 ±0.65 / 164.78 ms │              160.81 / 163.79 ±2.11 / 166.43 ms │    no change │
   │ QQuery 66 │    62.16 / 62.64 ±0.27 / 62.96 ms │                 62.06 / 63.70 ±2.06 / 67.71 ms │    no change │
   │ QQuery 67 │ 254.75 / 259.50 ±4.21 / 266.43 ms │              249.43 / 255.00 ±2.96 / 257.76 ms │    no change │
   │ QQuery 68 │    11.75 / 13.27 ±2.37 / 17.99 ms │                 11.99 / 13.70 ±2.99 / 19.66 ms │    no change │
   │ QQuery 69 │    69.16 / 73.75 ±6.44 / 86.20 ms │                 70.20 / 70.94 ±0.89 / 72.64 ms │    no change │
   │ QQuery 70 │ 117.24 / 119.60 ±2.27 / 123.63 ms │              118.32 / 122.63 ±4.84 / 131.01 ms │    no change │
   │ QQuery 71 │    31.92 / 32.76 ±0.96 / 34.41 ms │                 31.51 / 32.12 ±0.57 / 33.12 ms │    no change │
   │ QQuery 72 │ 170.21 / 173.58 ±3.47 / 179.90 ms │              171.43 / 173.85 ±1.99 / 177.20 ms │    no change │
   │ QQuery 73 │      9.71 / 9.96 ±0.20 / 10.24 ms │                 10.73 / 11.36 ±1.16 / 13.67 ms │ 1.14x slower │
   │ QQuery 74 │ 145.65 / 148.60 ±4.82 / 158.22 ms │              146.17 / 151.31 ±4.91 / 160.10 ms │    no change │
   │ QQuery 75 │ 177.19 / 183.33 ±5.09 / 191.79 ms │              178.94 / 183.29 ±4.66 / 189.21 ms │    no change │
   │ QQuery 76 │    39.73 / 40.04 ±0.25 / 40.39 ms │                 39.99 / 40.51 ±0.51 / 41.48 ms │    no change │
   │ QQuery 77 │    60.83 / 63.38 ±3.80 / 70.88 ms │                 60.91 / 63.40 ±4.12 / 71.63 ms │    no change │
   │ QQuery 78 │ 114.52 / 118.42 ±4.72 / 127.65 ms │              114.45 / 120.15 ±7.38 / 134.42 ms │    no change │
   │ QQuery 79 │    66.43 / 67.88 ±1.89 / 71.61 ms │                 67.31 / 68.07 ±0.81 / 69.53 ms │    no change │
   │ QQuery 80 │    74.83 / 76.55 ±2.47 / 81.40 ms │                 74.37 / 75.17 ±0.77 / 76.46 ms │    no change │
   │ QQuery 81 │    26.54 / 26.71 ±0.12 / 26.89 ms │                 26.70 / 27.88 ±2.09 / 32.06 ms │    no change │
   │ QQuery 82 │    30.47 / 30.94 ±0.36 / 31.52 ms │                 30.55 / 31.19 ±0.40 / 31.71 ms │    no change │
   │ QQuery 83 │    27.76 / 28.34 ±0.57 / 29.30 ms │                 28.42 / 29.07 ±0.35 / 29.37 ms │    no change │
   │ QQuery 84 │    29.92 / 31.88 ±3.13 / 38.13 ms │                 30.50 / 32.45 ±2.69 / 37.76 ms │    no change │
   │ QQuery 85 │ 157.18 / 162.05 ±6.14 / 173.27 ms │              157.56 / 159.56 ±1.62 / 161.77 ms │    no change │
   │ QQuery 86 │    30.14 / 31.35 ±1.39 / 33.99 ms │                 29.90 / 31.64 ±1.69 / 34.87 ms │    no change │
   │ QQuery 87 │    76.77 / 79.87 ±3.55 / 86.39 ms │                 76.83 / 78.02 ±1.45 / 80.61 ms │    no change │
   │ QQuery 88 │    65.59 / 68.56 ±2.65 / 73.12 ms │                 62.85 / 67.67 ±4.62 / 75.83 ms │    no change │
   │ QQuery 89 │    42.01 / 43.65 ±2.13 / 47.63 ms │                 42.32 / 44.91 ±3.02 / 49.75 ms │    no change │
   │ QQuery 90 │    17.49 / 17.63 ±0.15 / 17.91 ms │                 18.29 / 18.52 ±0.17 / 18.78 ms │ 1.05x slower │
   │ QQuery 91 │    43.47 / 45.76 ±2.14 / 49.41 ms │                 43.70 / 44.17 ±0.35 / 44.63 ms │    no change │
   │ QQuery 92 │    29.11 / 29.66 ±0.37 / 30.28 ms │                 29.38 / 29.80 ±0.27 / 30.22 ms │    no change │
   │ QQuery 93 │    47.92 / 48.30 ±0.20 / 48.51 ms │                 48.36 / 50.86 ±3.79 / 58.41 ms │ 1.05x slower │
   │ QQuery 94 │    35.42 / 35.79 ±0.32 / 36.30 ms │                 35.49 / 35.90 ±0.33 / 36.49 ms │    no change │
   │ QQuery 95 │   93.63 / 98.13 ±4.18 / 105.43 ms │                 93.75 / 96.06 ±2.14 / 99.79 ms │    no change │
   │ QQuery 96 │    26.05 / 26.17 ±0.12 / 26.41 ms │                 26.28 / 26.40 ±0.13 / 26.65 ms │    no change │
   │ QQuery 97 │    52.77 / 54.22 ±1.25 / 56.07 ms │                 52.58 / 54.38 ±1.40 / 55.95 ms │    no change │
   │ QQuery 98 │    38.31 / 40.37 ±2.50 / 45.22 ms │                 38.43 / 41.34 ±2.78 / 46.51 ms │    no change │
   │ QQuery 99 │    59.47 / 59.78 ±0.33 / 60.35 ms │                 59.79 / 60.53 ±1.04 / 62.54 ms │    no change │
   └───────────┴───────────────────────────────────┴────────────────────────────────────────────────┴──────────────┘
   ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
   ┃ Benchmark Summary                                             ┃           ┃
   ┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
   │ Total Time (HEAD)                                             │ 7893.38ms │
   │ Total Time (fix_dedup-stringview-buffers-collectleft-joins)   │ 7892.43ms │
   │ Average Time (HEAD)                                           │   79.73ms │
   │ Average Time (fix_dedup-stringview-buffers-collectleft-joins) │   79.72ms │
   │ Queries Faster                                                │         0 │
   │ Queries Slower                                                │         6 │
   │ Queries with No Change                                        │        93 │
   │ Queries with Failure                                          │         0 │
   └───────────────────────────────────────────────────────────────┴───────────┘
   ```
   
   </p>
   </details>
   
   <details><summary>Resource Usage</summary>
   
   **tpcds — base (merge-base)**
   | Metric | Value |
   |--------|-------|
   | Wall time | 40.0s |
   | Peak memory | 1.6 GiB |
   | Avg memory | 1.2 GiB |
   | CPU user | 115.1s |
   | CPU sys | 5.5s |
   | Peak spill | 0 B |
   
   **tpcds — branch**
   | Metric | Value |
   |--------|-------|
   | Wall time | 40.0s |
   | Peak memory | 1.6 GiB |
   | Avg memory | 1.1 GiB |
   | CPU user | 115.2s |
   | CPU sys | 5.2s |
   | Peak spill | 0 B |
   
   </details>
   
   
   ---
   [File an issue](https://github.com/adriangb/datafusion-benchmarking/issues) against this benchmark runner


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] fix: deduplicate StringView/BinaryView buffer refs in CollectLeft Has... [datafusion]

Posted by "adriangbot (via GitHub)" <gi...@apache.org>.
adriangbot commented on PR #25716:
URL: https://github.com/apache/datafusion/pull/25716#issuecomment-6152359961

   🤖 Benchmark completed (GKE) | [trigger](https://github.com/apache/datafusion/pull/25716#issuecomment-6152176776)
   
   **Instance:** `c4a-highmem-16` (12 vCPU / 65 GiB)
   
   Comparing ca2623c (ca2623c7d2cebb6c529534331a67dbe129cbe7ff) to 06aa131 [diff](https://github.com/apache/datafusion/compare/06aa131cda0d6829c517e77f3b8b08f3a24569f0..ca2623c7d2cebb6c529534331a67dbe129cbe7ff)
   
   <details><summary>Run configuration</summary>
   
   ```yaml
   run benchmark tpcds
   baseline:
     ref: "06aa131"
     env:
       DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "false"
   changed:
     ref: "ca2623c"
     env:
       DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "false"
   ```
   
   </details>
   
   <details><summary>CPU Details (lscpu)</summary>
   
   ```
   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>
   
   <details><summary>Details</summary>
   <p>
   
   ```
   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 │
   └───────────────────────────────────────────────────────────────┴───────────┘
   ```
   
   </p>
   </details>
   
   <details><summary>Resource Usage</summary>
   
   **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 |
   
   </details>
   
   
   ---
   [File an issue](https://github.com/adriangb/datafusion-benchmarking/issues) against this benchmark runner


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] fix: deduplicate StringView/BinaryView buffer refs in CollectLeft Has... [datafusion]

Posted by "kosiew (via GitHub)" <gi...@apache.org>.
kosiew commented on PR #25716:
URL: https://github.com/apache/datafusion/pull/25716#issuecomment-6074204632

   run benchmark tpcds
   ```yaml
   env:
     DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: true
   ```
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] fix: deduplicate StringView/BinaryView buffer refs in CollectLeft Has... [datafusion]

Posted by "adriangbot (via GitHub)" <gi...@apache.org>.
adriangbot commented on PR #25716:
URL: https://github.com/apache/datafusion/pull/25716#issuecomment-6121635164

   🤖 Benchmark completed (GKE) | [trigger](https://github.com/apache/datafusion/pull/25716#issuecomment-6121378002)
   
   **Instance:** `c4a-highcpu-48` (12 vCPU / 65 GiB)
   
   Comparing fix/dedup-stringview-buffers-collectleft-joins (ca2623c7d2cebb6c529534331a67dbe129cbe7ff) to 06aa131 (merge-base) [diff](https://github.com/apache/datafusion/compare/06aa131cda0d6829c517e77f3b8b08f3a24569f0..ca2623c7d2cebb6c529534331a67dbe129cbe7ff)
   
   <details><summary>Run configuration</summary>
   
   ```yaml
   run benchmark tpcds
   env:
     DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "true"
   ```
   
   </details>
   
   <details><summary>CPU Details (lscpu)</summary>
   
   ```
   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>
   
   <details><summary>Details</summary>
   <p>
   
   ```
   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 │
   └───────────────────────────────────────────────────────────────┴───────────┘
   ```
   
   </p>
   </details>
   
   <details><summary>Resource Usage</summary>
   
   **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 |
   
   </details>
   
   
   ---
   [File an issue](https://github.com/adriangb/datafusion-benchmarking/issues) against this benchmark runner


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] fix: deduplicate StringView/BinaryView buffer refs in CollectLeft Has... [datafusion]

Posted by "adriangbot (via GitHub)" <gi...@apache.org>.
adriangbot commented on PR #25716:
URL: https://github.com/apache/datafusion/pull/25716#issuecomment-6152262844

   🤖 Benchmark running (GKE) | [trigger](https://github.com/apache/datafusion/pull/25716#issuecomment-6152176324)
   **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`
   <details><summary>CPU Details (lscpu)</summary>
   
   ```
   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 ca2623c (ca2623c7d2cebb6c529534331a67dbe129cbe7ff) to 06aa131 [diff](https://github.com/apache/datafusion/compare/06aa131cda0d6829c517e77f3b8b08f3a24569f0..ca2623c7d2cebb6c529534331a67dbe129cbe7ff)
   
   <details><summary>Run configuration</summary>
   
   ```yaml
   run benchmark tpcds
   baseline:
     ref: "06aa131"
     env:
       DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "true"
   changed:
     ref: "ca2623c"
     env:
       DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "true"
   ```
   
   </details>
   
   Results will be posted here when complete
   
   ---
   [File an issue](https://github.com/adriangb/datafusion-benchmarking/issues) against this benchmark runner


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] fix: deduplicate StringView/BinaryView buffer refs in CollectLeft Has... [datafusion]

Posted by "mohitgurav20 (via GitHub)" <gi...@apache.org>.
mohitgurav20 commented on code in PR #25716:
URL: https://github.com/apache/datafusion/pull/25716#discussion_r4193734895


##########
.gitignore:
##########


Review Comment:
   "Done! Removed the .gitignore change — it was accidentally corrupted to UTF-16 by cargo fmt on Windows. Restored it to match main exactly."



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] fix: deduplicate StringView/BinaryView buffer refs in CollectLeft Has... [datafusion]

Posted by "kosiew (via GitHub)" <gi...@apache.org>.
kosiew commented on PR #25716:
URL: https://github.com/apache/datafusion/pull/25716#issuecomment-6142472686

   hi @mohitgurav20 
   From this [benchmark run](https://github.com/apache/datafusion/pull/25716#issuecomment-6121635164), this PR is  effectively neutral on TPC-DS SF1 benchmark and may not merit merging.
   Do you want to investigate further?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] fix: deduplicate StringView/BinaryView buffer refs in CollectLeft Has... [datafusion]

Posted by "adriangbot (via GitHub)" <gi...@apache.org>.
adriangbot commented on PR #25716:
URL: https://github.com/apache/datafusion/pull/25716#issuecomment-6152261228

   🤖 Benchmark running (GKE) | [trigger](https://github.com/apache/datafusion/pull/25716#issuecomment-6152177725)
   **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`
   <details><summary>CPU Details (lscpu)</summary>
   
   ```
   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 06aa131 (06aa131cda0d6829c517e77f3b8b08f3a24569f0) to 06aa131 [diff](https://github.com/apache/datafusion/compare/06aa131cda0d6829c517e77f3b8b08f3a24569f0..06aa131cda0d6829c517e77f3b8b08f3a24569f0)
   
   <details><summary>Run configuration</summary>
   
   ```yaml
   run benchmark tpcds
   baseline:
     ref: "06aa131"
     env:
       DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "true"
   changed:
     ref: "06aa131"
     env:
       DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "false"
   ```
   
   </details>
   
   Results will be posted here when complete
   
   ---
   [File an issue](https://github.com/adriangb/datafusion-benchmarking/issues) against this benchmark runner


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] fix: deduplicate StringView/BinaryView buffer refs in CollectLeft Has... [datafusion]

Posted by "adriangbot (via GitHub)" <gi...@apache.org>.
adriangbot commented on PR #25716:
URL: https://github.com/apache/datafusion/pull/25716#issuecomment-6152262428

   🤖 Benchmark running (GKE) | [trigger](https://github.com/apache/datafusion/pull/25716#issuecomment-6152177135)
   **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`
   <details><summary>CPU Details (lscpu)</summary>
   
   ```
   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 ca2623c (ca2623c7d2cebb6c529534331a67dbe129cbe7ff) to ca2623c [diff](https://github.com/apache/datafusion/compare/ca2623c7d2cebb6c529534331a67dbe129cbe7ff..ca2623c7d2cebb6c529534331a67dbe129cbe7ff)
   
   <details><summary>Run configuration</summary>
   
   ```yaml
   run benchmark tpcds
   baseline:
     ref: "ca2623c"
     env:
       DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "true"
   changed:
     ref: "ca2623c"
     env:
       DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "false"
   ```
   
   </details>
   
   Results will be posted here when complete
   
   ---
   [File an issue](https://github.com/adriangb/datafusion-benchmarking/issues) against this benchmark runner


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] fix: deduplicate StringView/BinaryView buffer refs in CollectLeft Has... [datafusion]

Posted by "mohitgurav20 (via GitHub)" <gi...@apache.org>.
mohitgurav20 closed pull request #25716: fix: deduplicate StringView/BinaryView buffer refs in CollectLeft Has...
URL: https://github.com/apache/datafusion/pull/25716


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] fix: deduplicate StringView/BinaryView buffer refs in CollectLeft Has... [datafusion]

Posted by "adriangb (via GitHub)" <gi...@apache.org>.
adriangb commented on PR #25716:
URL: https://github.com/apache/datafusion/pull/25716#issuecomment-6152176776

   run benchmark tpcds
   ```yaml
   baseline:
     ref: 06aa131
     env:
       DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "false"
   changed:
     ref: ca2623c
     env:
       DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "false"
   ```


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] fix: deduplicate StringView/BinaryView buffer refs in CollectLeft Has... [datafusion]

Posted by "adriangbot (via GitHub)" <gi...@apache.org>.
adriangbot commented on PR #25716:
URL: https://github.com/apache/datafusion/pull/25716#issuecomment-6152406137

   🤖 Benchmark completed (GKE) | [trigger](https://github.com/apache/datafusion/pull/25716#issuecomment-6152178163)
   
   **Instance:** `c4a-highmem-16` (12 vCPU / 65 GiB)
   
   Comparing 06aa131 (06aa131cda0d6829c517e77f3b8b08f3a24569f0) to 06aa131 [diff](https://github.com/apache/datafusion/compare/06aa131cda0d6829c517e77f3b8b08f3a24569f0..06aa131cda0d6829c517e77f3b8b08f3a24569f0)
   
   <details><summary>Run configuration</summary>
   
   ```yaml
   run benchmark tpcds
   baseline:
     ref: "06aa131"
     env:
       DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "true"
   changed:
     ref: "06aa131"
     env:
       DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "true"
   ```
   
   </details>
   
   <details><summary>CPU Details (lscpu)</summary>
   
   ```
   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>
   
   <details><summary>Details</summary>
   <p>
   
   ```
   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 │
   └───────────────────────────────────────────────────────────────┴───────────┘
   ```
   
   </p>
   </details>
   
   <details><summary>Resource Usage</summary>
   
   **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 |
   
   </details>
   
   
   ---
   [File an issue](https://github.com/adriangb/datafusion-benchmarking/issues) against this benchmark runner


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] fix: deduplicate StringView/BinaryView buffer refs in CollectLeft Has... [datafusion]

Posted by "mohitgurav20 (via GitHub)" <gi...@apache.org>.
mohitgurav20 commented on PR #25716:
URL: https://github.com/apache/datafusion/pull/25716#issuecomment-5843147960

   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!
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] fix: deduplicate StringView/BinaryView buffer refs in CollectLeft Has... [datafusion]

Posted by "adriangb (via GitHub)" <gi...@apache.org>.
adriangb commented on PR #25716:
URL: https://github.com/apache/datafusion/pull/25716#issuecomment-6152177725

   run benchmark tpcds
   ```yaml
   baseline:
     ref: 06aa131
     env:
       DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "true"
   changed:
     ref: 06aa131
     env:
       DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "false"
   ```


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] fix: deduplicate StringView/BinaryView buffer refs in CollectLeft Has... [datafusion]

Posted by "adriangb (via GitHub)" <gi...@apache.org>.
adriangb commented on PR #25716:
URL: https://github.com/apache/datafusion/pull/25716#issuecomment-6152176324

   run benchmark tpcds
   ```yaml
   baseline:
     ref: 06aa131
     env:
       DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "true"
   changed:
     ref: ca2623c
     env:
       DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "true"
   ```


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] fix: deduplicate StringView/BinaryView buffer refs in CollectLeft Has... [datafusion]

Posted by "adriangb (via GitHub)" <gi...@apache.org>.
adriangb commented on PR #25716:
URL: https://github.com/apache/datafusion/pull/25716#issuecomment-6152178163

   run benchmark tpcds
   ```yaml
   baseline:
     ref: 06aa131
     env:
       DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "true"
   changed:
     ref: 06aa131
     env:
       DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "true"
   ```


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] fix: deduplicate StringView/BinaryView buffer refs in CollectLeft Has... [datafusion]

Posted by "adriangbot (via GitHub)" <gi...@apache.org>.
adriangbot commented on PR #25716:
URL: https://github.com/apache/datafusion/pull/25716#issuecomment-6152354614

   🤖 Benchmark completed (GKE) | [trigger](https://github.com/apache/datafusion/pull/25716#issuecomment-6152176324)
   
   **Instance:** `c4a-highmem-16` (12 vCPU / 65 GiB)
   
   Comparing ca2623c (ca2623c7d2cebb6c529534331a67dbe129cbe7ff) to 06aa131 [diff](https://github.com/apache/datafusion/compare/06aa131cda0d6829c517e77f3b8b08f3a24569f0..ca2623c7d2cebb6c529534331a67dbe129cbe7ff)
   
   <details><summary>Run configuration</summary>
   
   ```yaml
   run benchmark tpcds
   baseline:
     ref: "06aa131"
     env:
       DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "true"
   changed:
     ref: "ca2623c"
     env:
       DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "true"
   ```
   
   </details>
   
   <details><summary>CPU Details (lscpu)</summary>
   
   ```
   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>
   
   <details><summary>Details</summary>
   <p>
   
   ```
   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 │
   └───────────────────────────────────────────────────────────────┴───────────┘
   ```
   
   </p>
   </details>
   
   <details><summary>Resource Usage</summary>
   
   **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 |
   
   </details>
   
   
   ---
   [File an issue](https://github.com/adriangb/datafusion-benchmarking/issues) against this benchmark runner


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] fix: deduplicate StringView/BinaryView buffer refs in CollectLeft Has... [datafusion]

Posted by "adriangbot (via GitHub)" <gi...@apache.org>.
adriangbot commented on PR #25716:
URL: https://github.com/apache/datafusion/pull/25716#issuecomment-6075135639

   🤖 Benchmark completed (GKE) | [trigger](https://github.com/apache/datafusion/pull/25716#issuecomment-6074999034)
   
   **Instance:** `c4a-highmem-16` (12 vCPU / 65 GiB)
   
   Comparing b104668 (b1046682e4ea04c7801739f561280cb1d3fa9dfd) to b104668 [diff](https://github.com/apache/datafusion/compare/b1046682e4ea04c7801739f561280cb1d3fa9dfd..b1046682e4ea04c7801739f561280cb1d3fa9dfd)
   
   <details><summary>Run configuration</summary>
   
   ```yaml
   run benchmark tpcds
   baseline:
     ref: "b104668"
     env:
       DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "false"
   changed:
     ref: "b104668"
     env:
       DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "true"
   ```
   
   </details>
   
   <details><summary>CPU Details (lscpu)</summary>
   
   ```
   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>
   
   <details><summary>Details</summary>
   <p>
   
   ```
   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 │
   └───────────────────────────────────────────────────────────────┴───────────┘
   ```
   
   </p>
   </details>
   
   <details><summary>Resource Usage</summary>
   
   **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 |
   
   </details>
   
   
   ---
   [File an issue](https://github.com/adriangb/datafusion-benchmarking/issues) against this benchmark runner


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] fix: deduplicate StringView/BinaryView buffer refs in CollectLeft Has... [datafusion]

Posted by "mohitgurav20 (via GitHub)" <gi...@apache.org>.
mohitgurav20 commented on PR #25716:
URL: https://github.com/apache/datafusion/pull/25716#issuecomment-6016675873

   Thanks for the detailed review and patience, @kosiew!
   
   I've pushed a final set of commits that fully resolves the Codecov coverage gaps.
   
   The persistent "partial" coverage was actually due to LLVM branch instrumentation on ? operators in both the production code and tests (where the Err branches were never hit).
   
   To fix this, I made deduplicate_record_batch_view_buffers infallible (since it mathematically cannot fail with matching schemas/column lengths), swapped test assertions to .expect(), and added targeted unit tests for the remaining edge cases (like the try_grow path).
   
   Everything is green locally. Let me know if we're good to merge!


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] fix: deduplicate StringView/BinaryView buffer refs in CollectLeft Has... [datafusion]

Posted by "kosiew (via GitHub)" <gi...@apache.org>.
kosiew commented on PR #25716:
URL: https://github.com/apache/datafusion/pull/25716#issuecomment-6031898969

   @mohitgurav20 
   Thanks for your patience and persistence with this.
   I'll review this after you resolve the merge conflicts.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] fix: deduplicate StringView/BinaryView buffer refs in CollectLeft Has... [datafusion]

Posted by "kosiew (via GitHub)" <gi...@apache.org>.
kosiew commented on code in PR #25716:
URL: https://github.com/apache/datafusion/pull/25716#discussion_r4226426693


##########
datafusion/physical-plan/src/joins/hash_join/exec.rs:
##########
@@ -3144,6 +3149,133 @@ fn concat_build_batches(
     Ok(batch)
 }
 
+/// Deduplicates shared data buffer references in a [`GenericByteViewArray`] by pointer identity.
+///
+/// When multiple record batches that share underlying buffer allocations are concatenated,
+/// Arrow's `concat` kernel appends every batch's `data_buffers` list verbatim, resulting
+/// in N × K buffer references for N batches that share K allocations.
+///
+/// This function walks the buffer list, identifies duplicates by raw pointer address,
+/// and rewrites the 4-byte `buffer_index` inside each non-inline view (length > 12) to
+/// point into the deduplicated buffer vector. **No string bytes are copied.**
+///
+/// The fast path (0 or 1 data buffers, or no duplicates found) clones the array reference

Review Comment:
   The no-duplicates path still allocates temporary lookup structures when there are multiple buffers. Could we clarify that it avoids rewriting the views rather than claiming it performs no allocations?



##########
datafusion/physical-plan/src/joins/hash_join/exec.rs:
##########
@@ -3144,6 +3149,133 @@ fn concat_build_batches(
     Ok(batch)
 }
 
+/// Deduplicates shared data buffer references in a [`GenericByteViewArray`] by pointer identity.
+///
+/// When multiple record batches that share underlying buffer allocations are concatenated,
+/// Arrow's `concat` kernel appends every batch's `data_buffers` list verbatim, resulting
+/// in N × K buffer references for N batches that share K allocations.
+///
+/// This function walks the buffer list, identifies duplicates by raw pointer address,

Review Comment:
   Could we clarify that deduplication uses identical (pointer, length) pairs rather than allocation identity alone? Different ranges within the same allocation must remain separate.



##########
datafusion/physical-plan/src/joins/hash_join/exec.rs:
##########
@@ -11200,4 +11664,355 @@ mod tests {
         assert!(join.set_dynamic_filter(df).is_err());
         Ok(())
     }
+
+    // -----------------------------------------------------------------------
+    // Unit tests for deduplicate_view_array_buffers /
+    //                deduplicate_record_batch_view_buffers
+    // -----------------------------------------------------------------------
+
+    /// Fast path: an array with a single data buffer must be returned as-is
+    /// (pointer-equal clone, zero allocations).
+    #[test]
+    fn test_dedup_view_array_single_buffer_is_noop() {
+        let array = StringViewArray::from(vec![
+            "hello world long string!",
+            "another long value!",
+        ]);
+        let result = deduplicate_view_array_buffers(&array);
+        // Same number of data buffers — nothing removed.
+        assert_eq!(result.data_buffers().len(), array.data_buffers().len());
+    }
+
+    /// Fast path: an array with zero data buffers (all inline values) must be returned as-is.
+    #[test]
+    fn test_dedup_view_array_zero_buffers_is_noop() {
+        let array = StringViewArray::from(vec!["inline_only"]);
+        assert_eq!(array.data_buffers().len(), 0);
+        let result = deduplicate_view_array_buffers(&array);
+        assert_eq!(result.data_buffers().len(), 0);
+        assert_eq!(result.value(0), "inline_only");
+    }
+
+    /// Fast path: multiple distinct buffers (no duplicates) → returned as-is.
+    #[test]
+    fn test_dedup_view_array_no_duplicates_is_noop() {
+        // Build two separate StringViewArrays so their buffers are distinct.
+        let a = StringViewArray::from(vec!["first long string value here"]);
+        let b = StringViewArray::from(vec!["second long string value here"]);
+        // Concatenate to get an array with two *different* buffers.
+        let combined = arrow::compute::concat(&[&a as _, &b as _]).unwrap();
+        let combined = combined.as_any().downcast_ref::<StringViewArray>().unwrap();
+        let n_before = combined.data_buffers().len();
+        let result = deduplicate_view_array_buffers(combined);
+        // Still the same number of unique buffers — nothing deduplicated.
+        assert_eq!(result.data_buffers().len(), n_before);
+    }
+
+    /// Deduplication path: concatenating an array with itself produces N refs to
+    /// the same K buffers; deduplicate_view_array_buffers collapses them to K.
+    #[test]
+    fn test_dedup_view_array_removes_duplicate_buffers() {
+        let base = StringViewArray::from(vec!["this is a long string value abc"]);
+        // concat gives us 2 references to the same underlying buffer.
+        let doubled = arrow::compute::concat(&[&base as _, &base as _]).unwrap();
+        let doubled = doubled.as_any().downcast_ref::<StringViewArray>().unwrap();
+        assert_eq!(doubled.data_buffers().len(), 2);
+        let deduped = deduplicate_view_array_buffers(doubled);
+        // After deduplication only 1 unique buffer should remain.
+        assert_eq!(deduped.data_buffers().len(), 1);
+        // Values must be preserved.
+        assert_eq!(deduped.value(0), "this is a long string value abc");
+        assert_eq!(deduped.value(1), "this is a long string value abc");
+    }
+
+    /// Inline-string path: strings with length ≤ 12 are stored inline in the
+    /// view descriptor and carry no buffer index; they must survive deduplication.
+    #[test]
+    fn test_dedup_view_array_inline_strings_preserved() {
+        // "hi" is 2 bytes — well within the 12-byte inline threshold.
+        let base = StringViewArray::from(vec!["hi", "short"]);
+        let doubled = arrow::compute::concat(&[&base as _, &base as _]).unwrap();
+        let doubled = doubled.as_any().downcast_ref::<StringViewArray>().unwrap();
+        let deduped = deduplicate_view_array_buffers(doubled);
+        assert_eq!(deduped.value(0), "hi");
+        assert_eq!(deduped.value(1), "short");
+        assert_eq!(deduped.value(2), "hi");
+        assert_eq!(deduped.value(3), "short");
+    }
+
+    /// Mixed inline, long strings, and nulls: ensures the view rewriting loop handles
+    /// non-inline view remapping, skips inline views (length <= 12), and preserves the null buffer.
+    #[test]
+    fn test_dedup_view_array_mixed_inline_long_and_nulls() {
+        let array = StringViewArray::from(vec![
+            Some("this is a long string that exceeds inline size 12"),
+            Some("inline"),
+            None,
+        ]);
+        let doubled = arrow::compute::concat(&[&array as _, &array as _]).unwrap();
+        let doubled = doubled.as_any().downcast_ref::<StringViewArray>().unwrap();
+        assert_eq!(doubled.data_buffers().len(), 2);
+        let deduped = deduplicate_view_array_buffers(doubled);
+        assert_eq!(deduped.data_buffers().len(), 1);
+        assert_eq!(
+            deduped.value(0),
+            "this is a long string that exceeds inline size 12"
+        );
+        assert_eq!(deduped.value(1), "inline");
+        assert!(deduped.is_null(2));
+        assert_eq!(
+            deduped.value(3),
+            "this is a long string that exceeds inline size 12"
+        );
+        assert_eq!(deduped.value(4), "inline");
+        assert!(deduped.is_null(5));
+    }
+
+    /// Direct BinaryView path: exercises deduplicate_view_array_buffers directly on BinaryViewArray
+    /// with mixed long values, inline values, and nulls.
+    #[test]
+    fn test_dedup_view_array_binary_view_direct() {
+        let base = BinaryViewArray::from_iter(vec![
+            Some(&b"this is definitely longer than 12 bytes"[..]),
+            Some(&b"short"[..]),
+            None,
+        ]);
+        let doubled = arrow::compute::concat(&[&base as _, &base as _]).unwrap();
+        let doubled = doubled.as_any().downcast_ref::<BinaryViewArray>().unwrap();
+        assert_eq!(doubled.data_buffers().len(), 2);
+        let deduped = deduplicate_view_array_buffers(doubled);
+        assert_eq!(deduped.data_buffers().len(), 1);
+        assert_eq!(deduped.value(0), b"this is definitely longer than 12 bytes");
+        assert_eq!(deduped.value(1), b"short");
+        assert!(deduped.is_null(2));
+        assert_eq!(deduped.value(3), b"this is definitely longer than 12 bytes");
+        assert_eq!(deduped.value(4), b"short");
+        assert!(deduped.is_null(5));
+    }
+
+    /// BinaryView path: `deduplicate_record_batch_view_buffers` must also
+    /// deduplicate `BinaryView` columns (exercises the BinaryView arm).
+    #[test]
+    fn test_dedup_record_batch_binary_view_column() {
+        let schema = Arc::new(Schema::new(vec![Field::new(
+            "data",
+            DataType::BinaryView,
+            false,
+        )]));
+        let base = BinaryViewArray::from_iter_values(vec![
+            b"this is definitely longer than 12 bytes",
+        ]);
+        let doubled = arrow::compute::concat(&[&base as _, &base as _]).unwrap();
+        let batch = RecordBatch::try_new(Arc::clone(&schema), vec![doubled]).unwrap();
+        assert_eq!(
+            batch
+                .column(0)
+                .as_any()
+                .downcast_ref::<BinaryViewArray>()
+                .unwrap()
+                .data_buffers()
+                .len(),
+            2
+        );
+        let deduped = deduplicate_record_batch_view_buffers(&batch);
+        let result = deduped
+            .column(0)
+            .as_any()
+            .downcast_ref::<BinaryViewArray>()
+            .unwrap();
+        assert_eq!(result.data_buffers().len(), 1);
+    }
+
+    /// Mixed columns path: `deduplicate_record_batch_view_buffers` must deduplicate
+    /// both Utf8View and BinaryView columns while passing through non-view columns (Int32, Utf8).
+    #[test]
+    fn test_dedup_record_batch_mixed_view_and_non_view_columns() {
+        let schema = Arc::new(Schema::new(vec![
+            Field::new("s", DataType::Utf8View, true),
+            Field::new("b", DataType::BinaryView, true),
+            Field::new("n", DataType::Int32, false),
+            Field::new("str", DataType::Utf8, false),
+        ]));
+        let str_base = StringViewArray::from(vec!["long string value here abc"]);
+        let bin_base =
+            BinaryViewArray::from_iter_values(vec![b"long binary value here abc"]);
+        let str_doubled =
+            arrow::compute::concat(&[&str_base as _, &str_base as _]).unwrap();
+        let bin_doubled =
+            arrow::compute::concat(&[&bin_base as _, &bin_base as _]).unwrap();
+        let int_col: ArrayRef = Arc::new(Int32Array::from(vec![42, 43]));
+        let utf8_col: ArrayRef = Arc::new(StringArray::from(vec!["foo", "bar"]));
+
+        let batch = RecordBatch::try_new(
+            Arc::clone(&schema),
+            vec![
+                str_doubled,
+                bin_doubled,
+                Arc::clone(&int_col),
+                Arc::clone(&utf8_col),
+            ],
+        )
+        .unwrap();
+
+        let deduped = deduplicate_record_batch_view_buffers(&batch);
+        let deduped_str = deduped
+            .column(0)
+            .as_any()
+            .downcast_ref::<StringViewArray>()
+            .unwrap();
+        let deduped_bin = deduped
+            .column(1)
+            .as_any()
+            .downcast_ref::<BinaryViewArray>()
+            .unwrap();
+
+        assert_eq!(deduped_str.data_buffers().len(), 1);
+        assert_eq!(deduped_bin.data_buffers().len(), 1);
+        // Non-view columns passed through unmodified
+        assert!(Arc::ptr_eq(deduped.column(2), &int_col));
+        assert!(Arc::ptr_eq(deduped.column(3), &utf8_col));
+    }
+
+    /// Fast path: a batch with no Utf8View or BinaryView columns must be
+    /// returned as a cheap clone with no allocations.
+    #[test]
+    fn test_dedup_record_batch_no_view_columns_is_noop() {
+        let schema = Arc::new(Schema::new(vec![Field::new("n", DataType::Int32, false)]));
+        let batch = RecordBatch::try_new(
+            Arc::clone(&schema),
+            vec![Arc::new(Int32Array::from(vec![1, 2, 3])) as ArrayRef],
+        )
+        .unwrap();
+        // Should succeed without error and return the same data.
+        let result = deduplicate_record_batch_view_buffers(&batch);
+        assert_eq!(result.num_rows(), 3);
+    }
+
+    /// Reverse concatenation order: exercises concat_build_batches with reverse=true
+    /// on view columns to verify both reverse order and buffer deduplication work together.
+    #[test]
+    fn test_concat_build_batches_reverse_order_deduplication() {
+        use arrow::array::StringViewBuilder;
+
+        let schema = Arc::new(Schema::new(vec![Field::new(
+            "s",
+            DataType::Utf8View,
+            false,
+        )]));
+
+        let mut builder = StringViewBuilder::new();
+        builder.append_value("batch1: long string value exceeding twelve bytes");
+        let batch1 = RecordBatch::try_new(
+            Arc::clone(&schema),
+            vec![Arc::new(builder.finish()) as ArrayRef],
+        )
+        .expect("valid batch");
+
+        let mut builder = StringViewBuilder::new();
+        builder.append_value("batch2: long string value exceeding twelve bytes");
+        let batch2 = RecordBatch::try_new(
+            Arc::clone(&schema),
+            vec![Arc::new(builder.finish()) as ArrayRef],
+        )
+        .expect("valid batch");
+
+        let metrics = BuildProbeJoinMetrics::new(0, &ExecutionPlanMetricsSet::new());
+        let pool: Arc<dyn MemoryPool> = Arc::new(UnboundedMemoryPool::default());
+        // 4 batches with two duplicate references each — raw concat yields 4 buffer handles
+        let batches = vec![batch1.clone(), batch2.clone(), batch1, batch2];
+        let (mut reservation, inputs_reserved) =
+            reserve_inputs(&batches, &pool).expect("reserve");
+
+        let batch = concat_build_batches(
+            &schema,
+            batches,
+            true,
+            inputs_reserved,
+            &mut reservation,
+            &metrics,
+        )
+        .expect("concat");
+
+        let view_arr = batch
+            .column(0)
+            .as_any()
+            .downcast_ref::<StringViewArray>()
+            .unwrap();
+
+        // After deduplication 4 handles collapse to 2 unique buffers.
+        assert_eq!(view_arr.data_buffers().len(), 2);
+        assert_eq!(batch.num_rows(), 4);
+        // reverse=true: batch2, batch1, batch2, batch1
+        assert_eq!(
+            view_arr.value(0),
+            "batch2: long string value exceeding twelve bytes"
+        );
+        assert_eq!(
+            view_arr.value(1),
+            "batch1: long string value exceeding twelve bytes"
+        );
+        assert_eq!(
+            view_arr.value(2),
+            "batch2: long string value exceeding twelve bytes"
+        );
+        assert_eq!(
+            view_arr.value(3),
+            "batch1: long string value exceeding twelve bytes"
+        );
+    }
+
+    /// Exercises the `retained > held` growth path in concat_build_batches.
+    ///
+    /// When a single batch is provided `copy_size` is 0, so we only pre-reserve the
+    /// input size. If the returned batch happens to occupy more memory than what we
+    /// reserved (e.g., due to deduplication creating new buffers or tracking overhead
+    /// differences), the function must call `reservation.try_grow(retained - held)`.
+    /// We trigger this by passing `inputs_reserved = 0` directly so that `held == 0`
+    /// and any non-empty batch forces the grow branch.
+    #[test]
+    fn test_concat_build_batches_grow_branch() {
+        use arrow::array::StringViewBuilder;
+
+        let schema = Arc::new(Schema::new(vec![Field::new(
+            "s",
+            DataType::Utf8View,
+            false,
+        )]));
+
+        let mut builder = StringViewBuilder::new();
+        builder.append_value("long string that exceeds the twelve byte inline threshold");
+        let batch = RecordBatch::try_new(
+            Arc::clone(&schema),
+            vec![Arc::new(builder.finish()) as ArrayRef],
+        )
+        .expect("valid batch");
+
+        let metrics = BuildProbeJoinMetrics::new(0, &ExecutionPlanMetricsSet::new());
+        let pool: Arc<dyn MemoryPool> = Arc::new(UnboundedMemoryPool::default());
+        let mut reservation = MemoryConsumer::new("test").register(&pool);
+
+        // Pass inputs_reserved = 0 so that held == 0 + copy_size == 0 == 0,
+        // while retained == get_record_batch_memory_size(&batch) > 0 — forcing
+        // the `retained > held` branch to call reservation.try_grow.
+        let result = concat_build_batches(
+            &schema,
+            vec![batch],
+            false,
+            0, // inputs_reserved deliberately zero
+            &mut reservation,
+            &metrics,
+        )
+        .expect("concat");
+
+        let view_arr = result
+            .column(0)
+            .as_any()
+            .downcast_ref::<StringViewArray>()
+            .unwrap();
+        assert_eq!(result.num_rows(), 1);
+        assert_eq!(
+            view_arr.value(0),
+            "long string that exceeds the twelve byte inline threshold"
+        );
+    }

Review Comment:
   Could we strengthen this test by checking the final reservation size? For example, if the existing accounting contract requires the reservation to equal the retained batch size, assert_eq!(reservation.size(), get_record_batch_memory_size(&result)) would verify the accounting result rather than just the returned values.



##########
datafusion/physical-plan/src/joins/hash_join/exec.rs:
##########
@@ -3144,6 +3149,133 @@ fn concat_build_batches(
     Ok(batch)
 }
 
+/// Deduplicates shared data buffer references in a [`GenericByteViewArray`] by pointer identity.
+///
+/// When multiple record batches that share underlying buffer allocations are concatenated,
+/// Arrow's `concat` kernel appends every batch's `data_buffers` list verbatim, resulting
+/// in N × K buffer references for N batches that share K allocations.
+///
+/// This function walks the buffer list, identifies duplicates by raw pointer address,
+/// and rewrites the 4-byte `buffer_index` inside each non-inline view (length > 12) to
+/// point into the deduplicated buffer vector. **No string bytes are copied.**
+///
+/// The fast path (0 or 1 data buffers, or no duplicates found) clones the array reference
+/// with no allocations.
+fn deduplicate_view_array_buffers<T: ByteViewType>(
+    array: &GenericByteViewArray<T>,
+) -> GenericByteViewArray<T> {
+    let data_buffers = array.data_buffers();
+    if data_buffers.len() <= 1 {
+        return array.clone();
+    }
+
+    // Use the raw buffer address and length as the deduplication key. Casting to usize is the
+    // idiomatic way to use pointer values as HashMap keys on stable Rust.
+    let mut unique_buffers: Vec<arrow::buffer::Buffer> =
+        Vec::with_capacity(data_buffers.len());
+    let mut pointer_map: HashMap<(usize, usize), u32> =
+        HashMap::with_capacity(data_buffers.len());
+    let mut index_remap: Vec<u32> = Vec::with_capacity(data_buffers.len());
+    let mut has_duplicates = false;
+
+    for buf in data_buffers.iter() {
+        let key = (buf.as_ptr() as usize, buf.len());
+        if let Some(&new_idx) = pointer_map.get(&key) {
+            index_remap.push(new_idx);
+            has_duplicates = true;
+        } else {
+            let new_idx = unique_buffers.len() as u32;
+            pointer_map.insert(key, new_idx);
+            unique_buffers.push(buf.clone());
+            index_remap.push(new_idx);
+        }
+    }
+
+    if !has_duplicates {
+        return array.clone();
+    }
+
+    // Rewrite the buffer_index field in the 128-bit view descriptor for every
+    // non-inline value. Inline values (length <= 12) embed the payload inside
+    // the descriptor itself and carry no buffer index, so they are left as-is.
+    let views = array.views();
+    let mut new_views: Vec<u128> = Vec::with_capacity(views.len());
+    for &v in views.iter() {
+        let mut view = ByteView::from(v);
+        if view.length > 12 {
+            view.buffer_index = index_remap[view.buffer_index as usize];
+        }
+        new_views.push(view.as_u128());
+    }
+
+    let new_views_buffer = ScalarBuffer::from(new_views);
+    let nulls = array.nulls().cloned();
+
+    // SAFETY: `new_views_buffer` contains only valid 128-bit view descriptors
+    // derived from the source array. Each non-inline view's `buffer_index` has
+    // been remapped to point at the logically equivalent deduplicated buffer in
+    // `unique_buffers`, preserving the original byte offsets and lengths.
+    unsafe {
+        GenericByteViewArray::<T>::new_unchecked(
+            new_views_buffer,
+            unique_buffers.into(),
+            nulls,
+        )
+    }
+}
+
+/// Deduplicates shared data buffer references across all `Utf8View` and `BinaryView`
+/// columns in a [`RecordBatch`], returning a new batch whose view arrays hold at most
+/// as many buffer references as there are distinct underlying allocations.
+///
+/// Columns of other types are passed through unchanged. If the batch contains no view
+/// columns this function returns a cheap clone of the batch reference.
+/// Returns a new [`RecordBatch`] with deduplicated view buffer references.
+///
+/// This function is infallible: we reconstruct the batch using the original
+/// schema and the same set of columns (same lengths, same types). `RecordBatch::try_new`
+/// only fails when column lengths or schema mismatches occur — neither can happen here
+/// since we only replace view columns with logically equivalent deduplicated versions.

Review Comment:
   RecordBatch::try_new also checks for nulls in non-nullable fields. Could we update this comment to explain that the original valid batch's schema, column count, lengths, types, and null validity are all preserved?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] fix: deduplicate StringView/BinaryView buffer refs in CollectLeft Has... [datafusion]

Posted by "kosiew (via GitHub)" <gi...@apache.org>.
kosiew commented on PR #25716:
URL: https://github.com/apache/datafusion/pull/25716#issuecomment-6074177845

   @mohitgurav20 
   Can you check why the benchmark shows [regressed performance for some queries](https://github.com/apache/datafusion/pull/25716#issuecomment-6073881756)?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] fix: deduplicate StringView/BinaryView buffer refs in CollectLeft Has... [datafusion]

Posted by "adriangbot (via GitHub)" <gi...@apache.org>.
adriangbot commented on PR #25716:
URL: https://github.com/apache/datafusion/pull/25716#issuecomment-6074462736

   Hi @kosiew, your benchmark configuration could not be parsed (https://github.com/apache/datafusion/pull/25716#issuecomment-6074462328).
   
   **Error:** `invalid configuration: baseline: unknown field `DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS`, expected `ref` or `env` at line 2 column 3`
   
   Usage:
   ```
   run benchmark <name>           # run specific benchmark(s)
   run benchmarks                 # run default suite
   run benchmarks <name1> <name2> # run specific benchmarks
   ```
   Any benchmark name is accepted: `bench.sh` suite names (e.g. `tpch`, `clickbench_partitioned`, `wide_schema`) and Criterion bench targets (e.g. `sql_planner`) are resolved automatically. A name that matches neither fails on the runner.
   
   Per-side configuration (`run benchmark tpch` followed by):
   ```yaml
   env:
   # shared env is inherited by BOTH the build and the run, so build
   # flags go here. Builds default to no debuginfo for speed; opt back
   # in for hung-job gdb dumps and cap jobs to stay within memory:
   CARGO_PROFILE_RELEASE_DEBUG: "1"
   CARGO_BUILD_JOBS: "1"
   baseline:
   ref: v45.0.0
   env:
   # per-side env only reaches the benchmark run, not the build
   DATAFUSION_RUNTIME_MEMORY_LIMIT: 1G
   changed:
   ref: v46.0.0
   env:
   DATAFUSION_RUNTIME_MEMORY_LIMIT: 2G
   ```
   
   Pod size and CPU architecture (each key is optional and keeps the default when absent; requests and limits are set equal):
   ```yaml
   resources:
   cpu: "16"
   memory: "128Gi"
   arch: arm64          # arm64 or amd64
   ```
   
   Independent benchmark shards (optional; 1–8, default 1):
   ```yaml
   run benchmark arrow_writer
   shards: 4
   ```
   Each shard builds both revisions, measures its assigned cases, and posts its own report. Resources and the job deadline apply per shard. DataFusion requests specifying a shard count greater than 1 fail with an error. Omit shards or use shards: 1 for DataFusion.
   
   ---
   [File an issue](https://github.com/adriangb/datafusion-benchmarking/issues) against this benchmark runner


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] fix: deduplicate StringView/BinaryView buffer refs in CollectLeft Has... [datafusion]

Posted by "adriangbot (via GitHub)" <gi...@apache.org>.
adriangbot commented on PR #25716:
URL: https://github.com/apache/datafusion/pull/25716#issuecomment-6074629884

   🤖 Benchmark completed (GKE) | [trigger](https://github.com/apache/datafusion/pull/25716#issuecomment-6074480929)
   
   **Instance:** `c4a-highmem-16` (12 vCPU / 65 GiB)
   
   Comparing fix/dedup-stringview-buffers-collectleft-joins (b1046682e4ea04c7801739f561280cb1d3fa9dfd) to b7c7bc2 (merge-base) [diff](https://github.com/apache/datafusion/compare/b7c7bc2c3930e58f55ea809b2e33755fc5241e65..b1046682e4ea04c7801739f561280cb1d3fa9dfd)
   
   <details><summary>Run configuration</summary>
   
   ```yaml
   run benchmark tpcds
   baseline:
     env:
       DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "false"
   changed:
     env:
       DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "true"
   ```
   
   </details>
   
   <details><summary>CPU Details (lscpu)</summary>
   
   ```
   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>
   
   <details><summary>Details</summary>
   <p>
   
   ```
   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.17 ms │                                        5.00 ms │     no change │
   │ QQuery 2  │   79.02 ms │                                       45.51 ms │ +1.74x faster │
   │ QQuery 3  │   28.35 ms │                                       26.25 ms │ +1.08x faster │
   │ QQuery 4  │  423.62 ms │                                      345.39 ms │ +1.23x faster │
   │ QQuery 5  │   49.74 ms │                                       46.56 ms │ +1.07x faster │
   │ QQuery 6  │   34.74 ms │                                       36.13 ms │     no change │
   │ QQuery 7  │   71.34 ms │                                       82.54 ms │  1.16x slower │
   │ QQuery 8  │   35.33 ms │                                       14.56 ms │ +2.43x faster │
   │ QQuery 9  │   49.51 ms │                                      108.94 ms │  2.20x slower │
   │ QQuery 10 │   60.94 ms │                                       72.94 ms │  1.20x slower │
   │ QQuery 11 │  257.84 ms │                                      211.99 ms │ +1.22x faster │
   │ QQuery 12 │   28.79 ms │                                       27.12 ms │ +1.06x faster │
   │ QQuery 13 │  113.10 ms │                                      110.24 ms │     no change │
   │ QQuery 14 │  383.50 ms │                                      423.36 ms │  1.10x slower │
   │ QQuery 15 │   52.06 ms │                                       23.13 ms │ +2.25x faster │
   │ QQuery 16 │    6.22 ms │                                        5.75 ms │ +1.08x faster │
   │ QQuery 17 │   78.67 ms │                                      115.67 ms │  1.47x slower │
   │ QQuery 18 │  102.59 ms │                                      161.25 ms │  1.57x slower │
   │ QQuery 19 │   40.89 ms │                                       38.90 ms │     no change │
   │ QQuery 20 │   34.90 ms │                                       30.78 ms │ +1.13x faster │
   │ QQuery 21 │   16.51 ms │                                       19.16 ms │  1.16x slower │
   │ QQuery 22 │   62.22 ms │                                       62.16 ms │     no change │
   │ QQuery 23 │  300.89 ms │                                      366.90 ms │  1.22x slower │
   │ QQuery 24 │  186.10 ms │                                      166.69 ms │ +1.12x faster │
   │ QQuery 25 │  107.29 ms │                                      115.70 ms │  1.08x slower │
   │ QQuery 26 │   44.73 ms │                                       63.95 ms │  1.43x slower │
   │ QQuery 27 │    5.77 ms │                                        5.60 ms │     no change │
   │ QQuery 28 │   55.52 ms │                                       73.15 ms │  1.32x slower │
   │ QQuery 29 │   95.03 ms │                                      145.28 ms │  1.53x slower │
   │ QQuery 30 │   32.40 ms │                                       31.69 ms │     no change │
   │ QQuery 31 │  107.22 ms │                                      128.91 ms │  1.20x slower │
   │ QQuery 32 │   19.63 ms │                                       21.12 ms │  1.08x slower │
   │ QQuery 33 │   36.60 ms │                                       38.61 ms │  1.05x slower │
   │ QQuery 34 │    9.77 ms │                                       10.50 ms │  1.07x slower │
   │ QQuery 35 │   71.23 ms │                                       85.33 ms │  1.20x slower │
   │ QQuery 36 │    5.50 ms │                                        5.35 ms │     no change │
   │ QQuery 37 │    6.76 ms │                                        6.86 ms │     no change │
   │ QQuery 38 │   60.23 ms │                                       76.86 ms │  1.28x slower │
   │ QQuery 39 │   71.97 ms │                                       70.45 ms │     no change │
   │ QQuery 40 │   22.83 ms │                                       19.78 ms │ +1.15x faster │
   │ QQuery 41 │   10.93 ms │                                       12.15 ms │  1.11x slower │
   │ QQuery 42 │   23.63 ms │                                       23.75 ms │     no change │
   │ QQuery 43 │    4.64 ms │                                        4.42 ms │     no change │
   │ QQuery 44 │    8.45 ms │                                        8.37 ms │     no change │
   │ QQuery 45 │   34.33 ms │                                       26.87 ms │ +1.28x faster │
   │ QQuery 46 │   11.34 ms │                                       12.22 ms │  1.08x slower │
   │ QQuery 47 │  216.92 ms │                                      221.14 ms │     no change │
   │ QQuery 48 │   89.88 ms │                                      118.86 ms │  1.32x slower │
   │ QQuery 49 │   69.18 ms │                                       86.06 ms │  1.24x slower │
   │ QQuery 50 │   57.43 ms │                                      125.07 ms │  2.18x slower │
   │ QQuery 51 │   91.74 ms │                                      104.47 ms │  1.14x slower │
   │ QQuery 52 │   23.65 ms │                                       23.88 ms │     no change │
   │ QQuery 53 │   28.48 ms │                                       30.47 ms │  1.07x slower │
   │ QQuery 54 │   52.37 ms │                                       27.96 ms │ +1.87x faster │
   │ QQuery 55 │   22.95 ms │                                       22.81 ms │     no change │
   │ QQuery 56 │   37.28 ms │                                       33.70 ms │ +1.11x faster │
   │ QQuery 57 │  164.47 ms │                                      134.97 ms │ +1.22x faster │
   │ QQuery 58 │  104.46 ms │                                       71.58 ms │ +1.46x faster │
   │ QQuery 59 │  114.41 ms │                                       79.31 ms │ +1.44x faster │
   │ QQuery 60 │   38.27 ms │                                       37.77 ms │     no change │
   │ QQuery 61 │   10.80 ms │                                       10.79 ms │     no change │
   │ QQuery 62 │   42.65 ms │                                       41.60 ms │     no change │
   │ QQuery 63 │   28.80 ms │                                       30.27 ms │  1.05x slower │
   │ QQuery 64 │  357.04 ms │                                      511.56 ms │  1.43x slower │
   │ QQuery 65 │  128.83 ms │                                      163.64 ms │  1.27x slower │
   │ QQuery 66 │   74.03 ms │                                       62.37 ms │ +1.19x faster │
   │ QQuery 67 │  234.69 ms │                                      249.47 ms │  1.06x slower │
   │ QQuery 68 │   11.50 ms │                                       12.12 ms │  1.05x slower │
   │ QQuery 69 │   55.06 ms │                                       72.02 ms │  1.31x slower │
   │ QQuery 70 │  102.71 ms │                                      119.04 ms │  1.16x slower │
   │ QQuery 71 │   34.37 ms │                                       31.81 ms │ +1.08x faster │
   │ QQuery 72 │ 1622.21 ms │                                      169.47 ms │ +9.57x faster │
   │ QQuery 73 │    9.41 ms │                                       10.88 ms │  1.16x slower │
   │ QQuery 74 │  150.64 ms │                                      146.09 ms │     no change │
   │ QQuery 75 │  139.37 ms │                                      178.06 ms │  1.28x slower │
   │ QQuery 76 │   33.64 ms │                                       39.84 ms │  1.18x slower │
   │ QQuery 77 │   59.28 ms │                                       61.54 ms │     no change │
   │ QQuery 78 │  158.02 ms │                                      114.76 ms │ +1.38x faster │
   │ QQuery 79 │   65.61 ms │                                       67.53 ms │     no change │
   │ QQuery 80 │   93.66 ms │                                       74.95 ms │ +1.25x faster │
   │ QQuery 81 │   25.18 ms │                                       26.53 ms │  1.05x slower │
   │ QQuery 82 │   16.07 ms │                                       31.14 ms │  1.94x slower │
   │ QQuery 83 │   32.33 ms │                                       28.46 ms │ +1.14x faster │
   │ QQuery 84 │   29.15 ms │                                       30.30 ms │     no change │
   │ QQuery 85 │   95.76 ms │                                      159.69 ms │  1.67x slower │
   │ QQuery 86 │   24.66 ms │                                       29.89 ms │  1.21x slower │
   │ QQuery 87 │   59.96 ms │                                       77.32 ms │  1.29x slower │
   │ QQuery 88 │   58.63 ms │                                       63.68 ms │  1.09x slower │
   │ QQuery 89 │   34.92 ms │                                       42.10 ms │  1.21x slower │
   │ QQuery 90 │   16.04 ms │                                       17.75 ms │  1.11x slower │
   │ QQuery 91 │   40.04 ms │                                       43.92 ms │  1.10x slower │
   │ QQuery 92 │   28.46 ms │                                       29.09 ms │     no change │
   │ QQuery 93 │   49.14 ms │                                       47.94 ms │     no change │
   │ QQuery 94 │   37.16 ms │                                       36.37 ms │     no change │
   │ QQuery 95 │   78.15 ms │                                       93.73 ms │  1.20x slower │
   │ QQuery 96 │   23.12 ms │                                       25.92 ms │  1.12x slower │
   │ QQuery 97 │   50.19 ms │                                       53.54 ms │  1.07x slower │
   │ QQuery 98 │   42.66 ms │                                       38.09 ms │ +1.12x faster │
   │ QQuery 99 │   63.87 ms │                                       59.32 ms │ +1.08x faster │
   └───────────┴────────────┴────────────────────────────────────────────────┴───────────────┘
   ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
   ┃ Benchmark Summary                                             ┃           ┃
   ┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
   │ Total Time (HEAD)                                             │ 8677.14ms │
   │ Total Time (fix_dedup-stringview-buffers-collectleft-joins)   │ 7754.49ms │
   │ Average Time (HEAD)                                           │   87.65ms │
   │ Average Time (fix_dedup-stringview-buffers-collectleft-joins) │   78.33ms │
   │ Queries Faster                                                │        26 │
   │ Queries Slower                                                │        47 │
   │ 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.17 / 5.85 ±1.02 / 7.86 ms │                    5.00 / 5.52 ±0.95 / 7.42 ms │ +1.06x faster │
   │ QQuery 2  │        79.02 / 79.57 ±0.45 / 80.07 ms │                 45.51 / 46.03 ±0.46 / 46.87 ms │ +1.73x faster │
   │ QQuery 3  │        28.35 / 28.57 ±0.19 / 28.81 ms │                 26.25 / 26.58 ±0.32 / 27.17 ms │ +1.07x faster │
   │ QQuery 4  │     423.62 / 430.31 ±4.00 / 435.86 ms │              345.39 / 351.19 ±3.81 / 356.93 ms │ +1.23x faster │
   │ QQuery 5  │        49.74 / 50.31 ±0.73 / 51.73 ms │                 46.56 / 46.95 ±0.42 / 47.56 ms │ +1.07x faster │
   │ QQuery 6  │        34.74 / 36.11 ±1.08 / 37.99 ms │                 36.13 / 36.33 ±0.17 / 36.58 ms │     no change │
   │ QQuery 7  │        71.34 / 72.62 ±0.91 / 73.54 ms │                 82.54 / 83.41 ±0.53 / 84.09 ms │  1.15x slower │
   │ QQuery 8  │        35.33 / 35.67 ±0.27 / 36.00 ms │                 14.56 / 16.12 ±2.30 / 20.68 ms │ +2.21x faster │
   │ QQuery 9  │        49.51 / 52.64 ±1.79 / 54.94 ms │              108.94 / 111.06 ±1.54 / 112.71 ms │  2.11x slower │
   │ QQuery 10 │        60.94 / 63.37 ±3.19 / 69.65 ms │                 72.94 / 73.27 ±0.22 / 73.53 ms │  1.16x slower │
   │ QQuery 11 │     257.84 / 263.39 ±4.82 / 270.78 ms │              211.99 / 215.59 ±3.44 / 220.88 ms │ +1.22x faster │
   │ QQuery 12 │        28.79 / 28.93 ±0.11 / 29.06 ms │                 27.12 / 27.79 ±0.42 / 28.39 ms │     no change │
   │ QQuery 13 │     113.10 / 114.14 ±1.05 / 116.10 ms │              110.24 / 111.23 ±0.98 / 112.76 ms │     no change │
   │ QQuery 14 │     383.50 / 386.05 ±1.58 / 387.59 ms │              423.36 / 429.24 ±4.58 / 435.53 ms │  1.11x slower │
   │ QQuery 15 │        52.06 / 53.81 ±2.04 / 57.54 ms │                 23.13 / 24.97 ±2.77 / 30.49 ms │ +2.15x faster │
   │ QQuery 16 │           6.22 / 6.38 ±0.18 / 6.73 ms │                    5.75 / 5.92 ±0.18 / 6.25 ms │ +1.08x faster │
   │ QQuery 17 │        78.67 / 79.32 ±0.48 / 79.98 ms │              115.67 / 118.30 ±4.11 / 126.50 ms │  1.49x slower │
   │ QQuery 18 │     102.59 / 104.41 ±1.52 / 106.28 ms │              161.25 / 165.76 ±3.49 / 171.61 ms │  1.59x slower │
   │ QQuery 19 │        40.89 / 41.43 ±0.42 / 41.94 ms │                 38.90 / 39.69 ±0.85 / 41.30 ms │     no change │
   │ QQuery 20 │        34.90 / 35.30 ±0.45 / 36.14 ms │                 30.78 / 31.03 ±0.20 / 31.38 ms │ +1.14x faster │
   │ QQuery 21 │        16.51 / 16.73 ±0.13 / 16.92 ms │                 19.16 / 19.39 ±0.21 / 19.77 ms │  1.16x slower │
   │ QQuery 22 │        62.22 / 63.24 ±1.10 / 65.29 ms │                 62.16 / 62.96 ±0.98 / 64.87 ms │     no change │
   │ QQuery 23 │     300.89 / 302.97 ±1.82 / 306.00 ms │              366.90 / 371.66 ±3.74 / 376.80 ms │  1.23x slower │
   │ QQuery 24 │     186.10 / 189.93 ±2.31 / 192.58 ms │              166.69 / 171.21 ±5.43 / 181.15 ms │ +1.11x faster │
   │ QQuery 25 │     107.29 / 108.96 ±1.25 / 110.53 ms │              115.70 / 116.94 ±1.85 / 120.55 ms │  1.07x slower │
   │ QQuery 26 │        44.73 / 46.71 ±2.59 / 51.79 ms │                 63.95 / 66.06 ±2.41 / 70.51 ms │  1.41x slower │
   │ QQuery 27 │           5.77 / 6.03 ±0.27 / 6.54 ms │                    5.60 / 6.02 ±0.24 / 6.28 ms │     no change │
   │ QQuery 28 │        55.52 / 58.86 ±2.70 / 61.64 ms │                 73.15 / 76.65 ±2.78 / 81.42 ms │  1.30x slower │
   │ QQuery 29 │        95.03 / 96.09 ±0.89 / 97.42 ms │              145.28 / 146.34 ±0.78 / 147.52 ms │  1.52x slower │
   │ QQuery 30 │        32.40 / 34.42 ±3.69 / 41.80 ms │                 31.69 / 32.45 ±0.81 / 33.96 ms │ +1.06x faster │
   │ QQuery 31 │     107.22 / 107.60 ±0.27 / 107.96 ms │              128.91 / 133.26 ±6.88 / 146.93 ms │  1.24x slower │
   │ QQuery 32 │        19.63 / 20.53 ±0.80 / 21.99 ms │                 21.12 / 21.43 ±0.23 / 21.80 ms │     no change │
   │ QQuery 33 │        36.60 / 36.96 ±0.22 / 37.26 ms │                 38.61 / 40.49 ±3.13 / 46.72 ms │  1.10x slower │
   │ QQuery 34 │         9.77 / 10.09 ±0.25 / 10.53 ms │                 10.50 / 12.27 ±2.68 / 17.61 ms │  1.22x slower │
   │ QQuery 35 │        71.23 / 72.44 ±0.94 / 73.51 ms │                 85.33 / 86.06 ±0.55 / 86.84 ms │  1.19x slower │
   │ QQuery 36 │           5.50 / 5.64 ±0.22 / 6.07 ms │                    5.35 / 5.56 ±0.27 / 6.10 ms │     no change │
   │ QQuery 37 │           6.76 / 6.84 ±0.04 / 6.87 ms │                    6.86 / 6.97 ±0.07 / 7.08 ms │     no change │
   │ QQuery 38 │        60.23 / 60.59 ±0.32 / 61.06 ms │                 76.86 / 78.22 ±1.90 / 81.93 ms │  1.29x slower │
   │ QQuery 39 │        71.97 / 73.64 ±2.61 / 78.84 ms │                 70.45 / 72.98 ±3.18 / 79.15 ms │     no change │
   │ QQuery 40 │        22.83 / 23.38 ±0.47 / 24.19 ms │                 19.78 / 20.07 ±0.22 / 20.40 ms │ +1.16x faster │
   │ QQuery 41 │        10.93 / 11.08 ±0.16 / 11.39 ms │                 12.15 / 12.29 ±0.10 / 12.42 ms │  1.11x slower │
   │ QQuery 42 │        23.63 / 24.01 ±0.46 / 24.86 ms │                 23.75 / 23.89 ±0.14 / 24.16 ms │     no change │
   │ QQuery 43 │           4.64 / 4.76 ±0.16 / 5.09 ms │                    4.42 / 4.54 ±0.22 / 4.98 ms │     no change │
   │ QQuery 44 │           8.45 / 8.53 ±0.11 / 8.74 ms │                    8.37 / 8.45 ±0.07 / 8.57 ms │     no change │
   │ QQuery 45 │        34.33 / 35.56 ±0.66 / 36.10 ms │                 26.87 / 27.08 ±0.24 / 27.37 ms │ +1.31x faster │
   │ QQuery 46 │        11.34 / 11.91 ±0.33 / 12.33 ms │                 12.22 / 13.02 ±0.42 / 13.45 ms │  1.09x slower │
   │ QQuery 47 │     216.92 / 219.64 ±3.35 / 225.81 ms │              221.14 / 224.27 ±3.05 / 229.79 ms │     no change │
   │ QQuery 48 │        89.88 / 91.71 ±1.71 / 94.94 ms │              118.86 / 122.15 ±3.29 / 128.03 ms │  1.33x slower │
   │ QQuery 49 │        69.18 / 69.94 ±0.87 / 71.54 ms │                 86.06 / 88.03 ±2.47 / 92.76 ms │  1.26x slower │
   │ QQuery 50 │        57.43 / 58.73 ±1.23 / 61.03 ms │              125.07 / 129.51 ±7.16 / 143.73 ms │  2.21x slower │
   │ QQuery 51 │        91.74 / 93.55 ±1.01 / 94.51 ms │              104.47 / 106.03 ±1.60 / 108.74 ms │  1.13x slower │
   │ QQuery 52 │        23.65 / 24.27 ±0.54 / 24.94 ms │                 23.88 / 24.35 ±0.46 / 25.14 ms │     no change │
   │ QQuery 53 │        28.48 / 29.09 ±0.39 / 29.48 ms │                 30.47 / 30.65 ±0.19 / 30.98 ms │  1.05x slower │
   │ QQuery 54 │        52.37 / 53.03 ±0.40 / 53.46 ms │                 27.96 / 30.07 ±1.24 / 31.33 ms │ +1.76x faster │
   │ QQuery 55 │        22.95 / 23.16 ±0.16 / 23.38 ms │                 22.81 / 23.19 ±0.21 / 23.46 ms │     no change │
   │ QQuery 56 │        37.28 / 40.04 ±3.11 / 46.02 ms │                 33.70 / 35.04 ±2.39 / 39.82 ms │ +1.14x faster │
   │ QQuery 57 │     164.47 / 165.31 ±0.53 / 165.96 ms │              134.97 / 137.51 ±3.62 / 144.56 ms │ +1.20x faster │
   │ QQuery 58 │     104.46 / 106.61 ±2.03 / 110.43 ms │                 71.58 / 72.98 ±1.00 / 74.59 ms │ +1.46x faster │
   │ QQuery 59 │     114.41 / 116.44 ±2.77 / 121.86 ms │                 79.31 / 81.15 ±2.21 / 84.99 ms │ +1.43x faster │
   │ QQuery 60 │        38.27 / 38.82 ±0.66 / 40.09 ms │                 37.77 / 38.51 ±0.45 / 39.15 ms │     no change │
   │ QQuery 61 │        10.80 / 10.95 ±0.23 / 11.40 ms │                 10.79 / 10.97 ±0.14 / 11.19 ms │     no change │
   │ QQuery 62 │        42.65 / 43.33 ±0.43 / 43.99 ms │                 41.60 / 42.08 ±0.47 / 42.87 ms │     no change │
   │ QQuery 63 │        28.80 / 29.32 ±0.48 / 30.19 ms │                 30.27 / 30.37 ±0.12 / 30.59 ms │     no change │
   │ QQuery 64 │     357.04 / 359.77 ±2.47 / 364.34 ms │              511.56 / 520.37 ±9.07 / 537.06 ms │  1.45x slower │
   │ QQuery 65 │     128.83 / 134.38 ±3.31 / 138.89 ms │              163.64 / 166.63 ±1.88 / 169.38 ms │  1.24x slower │
   │ QQuery 66 │        74.03 / 74.66 ±0.50 / 75.37 ms │                 62.37 / 62.95 ±0.46 / 63.68 ms │ +1.19x faster │
   │ QQuery 67 │     234.69 / 243.49 ±7.07 / 255.17 ms │              249.47 / 254.03 ±5.30 / 264.38 ms │     no change │
   │ QQuery 68 │        11.50 / 11.67 ±0.22 / 12.09 ms │                 12.12 / 12.39 ±0.23 / 12.79 ms │  1.06x slower │
   │ QQuery 69 │        55.06 / 58.28 ±5.59 / 69.44 ms │                 72.02 / 75.84 ±5.13 / 85.65 ms │  1.30x slower │
   │ QQuery 70 │     102.71 / 103.72 ±0.68 / 104.71 ms │              119.04 / 120.99 ±1.61 / 123.31 ms │  1.17x slower │
   │ QQuery 71 │        34.37 / 35.14 ±1.02 / 37.11 ms │                 31.81 / 35.54 ±6.25 / 48.01 ms │     no change │
   │ QQuery 72 │ 1622.21 / 1699.06 ±51.39 / 1784.14 ms │              169.47 / 173.45 ±4.01 / 178.72 ms │ +9.80x faster │
   │ QQuery 73 │         9.41 / 10.07 ±0.77 / 11.56 ms │                 10.88 / 15.05 ±7.82 / 30.68 ms │  1.49x slower │
   │ QQuery 74 │     150.64 / 154.42 ±3.22 / 159.82 ms │              146.09 / 148.51 ±2.38 / 152.15 ms │     no change │
   │ QQuery 75 │     139.37 / 139.98 ±0.70 / 141.03 ms │              178.06 / 181.74 ±3.33 / 186.80 ms │  1.30x slower │
   │ QQuery 76 │        33.64 / 34.07 ±0.42 / 34.70 ms │                 39.84 / 40.28 ±0.32 / 40.65 ms │  1.18x slower │
   │ QQuery 77 │        59.28 / 60.15 ±0.56 / 60.95 ms │                 61.54 / 63.71 ±3.18 / 69.98 ms │  1.06x slower │
   │ QQuery 78 │     158.02 / 160.74 ±2.16 / 164.38 ms │              114.76 / 117.10 ±3.48 / 124.00 ms │ +1.37x faster │
   │ QQuery 79 │        65.61 / 66.56 ±0.84 / 67.98 ms │                 67.53 / 72.11 ±5.01 / 79.30 ms │  1.08x slower │
   │ QQuery 80 │        93.66 / 94.53 ±0.75 / 95.89 ms │                 74.95 / 76.13 ±0.95 / 77.65 ms │ +1.24x faster │
   │ QQuery 81 │        25.18 / 25.44 ±0.22 / 25.78 ms │                 26.53 / 26.64 ±0.08 / 26.76 ms │     no change │
   │ QQuery 82 │        16.07 / 18.38 ±3.70 / 25.75 ms │                 31.14 / 31.71 ±0.40 / 32.38 ms │  1.72x slower │
   │ QQuery 83 │        32.33 / 32.63 ±0.25 / 33.07 ms │                 28.46 / 28.74 ±0.24 / 29.05 ms │ +1.14x faster │
   │ QQuery 84 │        29.15 / 29.68 ±0.39 / 30.31 ms │                 30.30 / 33.52 ±5.21 / 43.88 ms │  1.13x slower │
   │ QQuery 85 │        95.76 / 96.81 ±0.78 / 98.10 ms │              159.69 / 164.12 ±3.78 / 169.06 ms │  1.70x slower │
   │ QQuery 86 │        24.66 / 24.77 ±0.10 / 24.91 ms │                 29.89 / 33.00 ±5.54 / 44.08 ms │  1.33x slower │
   │ QQuery 87 │        59.96 / 61.01 ±0.79 / 62.31 ms │                 77.32 / 78.85 ±1.49 / 81.14 ms │  1.29x slower │
   │ QQuery 88 │        58.63 / 59.17 ±0.41 / 59.74 ms │                 63.68 / 66.26 ±1.55 / 68.47 ms │  1.12x slower │
   │ QQuery 89 │        34.92 / 35.55 ±0.51 / 36.09 ms │                 42.10 / 44.85 ±4.79 / 54.43 ms │  1.26x slower │
   │ QQuery 90 │        16.04 / 16.26 ±0.22 / 16.66 ms │                 17.75 / 18.07 ±0.25 / 18.51 ms │  1.11x slower │
   │ QQuery 91 │        40.04 / 41.35 ±1.94 / 45.21 ms │                 43.92 / 46.95 ±3.14 / 52.62 ms │  1.14x slower │
   │ QQuery 92 │        28.46 / 28.88 ±0.24 / 29.19 ms │                 29.09 / 30.12 ±0.72 / 30.94 ms │     no change │
   │ QQuery 93 │        49.14 / 49.61 ±0.61 / 50.81 ms │                 47.94 / 48.30 ±0.29 / 48.74 ms │     no change │
   │ QQuery 94 │        37.16 / 37.74 ±0.43 / 38.44 ms │                 36.37 / 39.08 ±4.83 / 48.72 ms │     no change │
   │ QQuery 95 │        78.15 / 81.57 ±2.67 / 86.32 ms │                93.73 / 97.94 ±5.66 / 109.15 ms │  1.20x slower │
   │ QQuery 96 │        23.12 / 23.49 ±0.37 / 24.13 ms │                 25.92 / 26.26 ±0.24 / 26.53 ms │  1.12x slower │
   │ QQuery 97 │        50.19 / 51.54 ±1.60 / 54.60 ms │                 53.54 / 54.37 ±0.59 / 55.26 ms │  1.05x slower │
   │ QQuery 98 │        42.66 / 43.10 ±0.34 / 43.45 ms │                 38.09 / 39.49 ±1.26 / 41.65 ms │ +1.09x faster │
   │ QQuery 99 │        63.87 / 64.34 ±0.44 / 65.09 ms │                 59.32 / 59.74 ±0.22 / 59.94 ms │ +1.08x faster │
   └───────────┴───────────────────────────────────────┴────────────────────────────────────────────────┴───────────────┘
   ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
   ┃ Benchmark Summary                                             ┃           ┃
   ┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
   │ Total Time (HEAD)                                             │ 8881.64ms │
   │ Total Time (fix_dedup-stringview-buffers-collectleft-joins)   │ 7933.91ms │
   │ Average Time (HEAD)                                           │   89.71ms │
   │ Average Time (fix_dedup-stringview-buffers-collectleft-joins) │   80.14ms │
   │ Queries Faster                                                │        26 │
   │ Queries Slower                                                │        46 │
   │ Queries with No Change                                        │        27 │
   │ Queries with Failure                                          │         0 │
   └───────────────────────────────────────────────────────────────┴───────────┘
   ```
   
   </p>
   </details>
   
   <details><summary>Resource Usage</summary>
   
   **tpcds — base (merge-base)**
   | Metric | Value |
   |--------|-------|
   | Wall time | 45.0s |
   | Peak memory | 2.1 GiB |
   | Avg memory | 1.5 GiB |
   | CPU user | 192.7s |
   | CPU sys | 5.6s |
   | Peak spill | 0 B |
   
   **tpcds — branch**
   | Metric | Value |
   |--------|-------|
   | Wall time | 40.0s |
   | Peak memory | 1.8 GiB |
   | Avg memory | 1.3 GiB |
   | CPU user | 115.1s |
   | CPU sys | 5.7s |
   | Peak spill | 0 B |
   
   </details>
   
   
   ---
   [File an issue](https://github.com/adriangb/datafusion-benchmarking/issues) against this benchmark runner


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] fix: deduplicate StringView/BinaryView buffer refs in CollectLeft Has... [datafusion]

Posted by "alamb (via GitHub)" <gi...@apache.org>.
alamb commented on PR #25716:
URL: https://github.com/apache/datafusion/pull/25716#issuecomment-6151321099

   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 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] fix: deduplicate StringView/BinaryView buffer refs in CollectLeft Has... [datafusion]

Posted by "adriangbot (via GitHub)" <gi...@apache.org>.
adriangbot commented on PR #25716:
URL: https://github.com/apache/datafusion/pull/25716#issuecomment-6152263185

   🤖 Benchmark running (GKE) | [trigger](https://github.com/apache/datafusion/pull/25716#issuecomment-6152178163)
   **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`
   <details><summary>CPU Details (lscpu)</summary>
   
   ```
   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 06aa131 (06aa131cda0d6829c517e77f3b8b08f3a24569f0) to 06aa131 [diff](https://github.com/apache/datafusion/compare/06aa131cda0d6829c517e77f3b8b08f3a24569f0..06aa131cda0d6829c517e77f3b8b08f3a24569f0)
   
   <details><summary>Run configuration</summary>
   
   ```yaml
   run benchmark tpcds
   baseline:
     ref: "06aa131"
     env:
       DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "true"
   changed:
     ref: "06aa131"
     env:
       DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "true"
   ```
   
   </details>
   
   Results will be posted here when complete
   
   ---
   [File an issue](https://github.com/adriangb/datafusion-benchmarking/issues) against this benchmark runner


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] fix: deduplicate StringView/BinaryView buffer refs in CollectLeft Has... [datafusion]

Posted by "adriangb (via GitHub)" <gi...@apache.org>.
adriangb commented on PR #25716:
URL: https://github.com/apache/datafusion/pull/25716#issuecomment-5857835780

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


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] fix: deduplicate StringView/BinaryView buffer refs in CollectLeft Has... [datafusion]

Posted by "mohitgurav20 (via GitHub)" <gi...@apache.org>.
mohitgurav20 commented on PR #25716:
URL: https://github.com/apache/datafusion/pull/25716#issuecomment-5858748004

   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.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] fix: deduplicate StringView/BinaryView buffer refs in CollectLeft Has... [datafusion]

Posted by "kosiew (via GitHub)" <gi...@apache.org>.
kosiew commented on code in PR #25716:
URL: https://github.com/apache/datafusion/pull/25716#discussion_r4163816472


##########
datafusion/physical-plan/src/joins/hash_join/exec.rs:
##########
@@ -2986,6 +2992,121 @@ fn concat_build_batches(
     Ok(batch)
 }
 
+/// Deduplicates shared data buffer references in a [`GenericByteViewArray`] by pointer identity.
+///
+/// When multiple record batches that share underlying buffer allocations are concatenated,
+/// Arrow's `concat` kernel appends every batch's `data_buffers` list verbatim, resulting
+/// in N × K buffer references for N batches that share K allocations.
+///
+/// This function walks the buffer list, identifies duplicates by raw pointer address,
+/// and rewrites the 4-byte `buffer_index` inside each non-inline view (length > 12) to
+/// point into the deduplicated buffer vector. **No string bytes are copied.**
+///
+/// The fast path (0 or 1 data buffers, or no duplicates found) clones the array reference
+/// with no allocations.
+fn deduplicate_view_array_buffers<T: ByteViewType>(
+    array: &GenericByteViewArray<T>,
+) -> GenericByteViewArray<T> {
+    let data_buffers = array.data_buffers();
+    if data_buffers.len() <= 1 {
+        return array.clone();
+    }
+
+    // Use the raw buffer address as the deduplication key. Casting to usize is the
+    // idiomatic way to use pointer values as HashMap keys on stable Rust.
+    let mut unique_buffers: Vec<arrow::buffer::Buffer> =
+        Vec::with_capacity(data_buffers.len());
+    let mut pointer_map: HashMap<usize, u32> = HashMap::with_capacity(data_buffers.len());
+    let mut index_remap: Vec<u32> = Vec::with_capacity(data_buffers.len());
+    let mut has_duplicates = false;
+
+    for buf in data_buffers.iter() {
+        let addr = buf.as_ptr() as usize;

Review Comment:
   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.



##########
datafusion/physical-plan/src/joins/hash_join/exec.rs:
##########
@@ -7607,6 +7728,65 @@ mod tests {
         Ok(())
     }
 
+    #[test]
+    fn concat_build_batches_deduplicates_view_buffers() -> Result<()> {

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



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] fix: deduplicate StringView/BinaryView buffer refs in CollectLeft Has... [datafusion]

Posted by "kosiew (via GitHub)" <gi...@apache.org>.
kosiew commented on PR #25716:
URL: https://github.com/apache/datafusion/pull/25716#issuecomment-5926539764

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


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] fix: deduplicate StringView/BinaryView buffer refs in CollectLeft Has... [datafusion]

Posted by "adriangbot (via GitHub)" <gi...@apache.org>.
adriangbot commented on PR #25716:
URL: https://github.com/apache/datafusion/pull/25716#issuecomment-6075050916

   🤖 Benchmark running (GKE) | [trigger](https://github.com/apache/datafusion/pull/25716#issuecomment-6074999034)
   **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`
   <details><summary>CPU Details (lscpu)</summary>
   
   ```
   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 b104668 (b1046682e4ea04c7801739f561280cb1d3fa9dfd) to b104668 [diff](https://github.com/apache/datafusion/compare/b1046682e4ea04c7801739f561280cb1d3fa9dfd..b1046682e4ea04c7801739f561280cb1d3fa9dfd)
   
   <details><summary>Run configuration</summary>
   
   ```yaml
   run benchmark tpcds
   baseline:
     ref: "b104668"
     env:
       DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "false"
   changed:
     ref: "b104668"
     env:
       DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "true"
   ```
   
   </details>
   
   Results will be posted here when complete
   
   ---
   [File an issue](https://github.com/adriangb/datafusion-benchmarking/issues) against this benchmark runner


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] fix: deduplicate StringView/BinaryView buffer refs in CollectLeft Has... [datafusion]

Posted by "adriangbot (via GitHub)" <gi...@apache.org>.
adriangbot commented on PR #25716:
URL: https://github.com/apache/datafusion/pull/25716#issuecomment-6152394506

   🤖 Benchmark completed (GKE) | [trigger](https://github.com/apache/datafusion/pull/25716#issuecomment-6152177725)
   
   **Instance:** `c4a-highmem-16` (12 vCPU / 65 GiB)
   
   Comparing 06aa131 (06aa131cda0d6829c517e77f3b8b08f3a24569f0) to 06aa131 [diff](https://github.com/apache/datafusion/compare/06aa131cda0d6829c517e77f3b8b08f3a24569f0..06aa131cda0d6829c517e77f3b8b08f3a24569f0)
   
   <details><summary>Run configuration</summary>
   
   ```yaml
   run benchmark tpcds
   baseline:
     ref: "06aa131"
     env:
       DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "true"
   changed:
     ref: "06aa131"
     env:
       DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "false"
   ```
   
   </details>
   
   <details><summary>CPU Details (lscpu)</summary>
   
   ```
   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>
   
   <details><summary>Details</summary>
   <p>
   
   ```
   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 │
   └───────────────────────────────────────────────────────────────┴───────────┘
   ```
   
   </p>
   </details>
   
   <details><summary>Resource Usage</summary>
   
   **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 |
   
   </details>
   
   
   ---
   [File an issue](https://github.com/adriangb/datafusion-benchmarking/issues) against this benchmark runner


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] fix: deduplicate StringView/BinaryView buffer refs in CollectLeft Has... [datafusion]

Posted by "adriangb (via GitHub)" <gi...@apache.org>.
adriangb commented on PR #25716:
URL: https://github.com/apache/datafusion/pull/25716#issuecomment-6152425718

   TPC-DS SF1, change in query time (negative = faster). Noise band: ±10%, the largest per-query difference in the [main on vs main on](https://github.com/apache/datafusion/pull/25716#issuecomment-6152406137) 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](https://github.com/apache/datafusion/pull/25716#issuecomment-6152354614) | [main → PR, pushdown off](https://github.com/apache/datafusion/pull/25716#issuecomment-6152359961) | [PR, pushdown on → off](https://github.com/apache/datafusion/pull/25716#issuecomment-6152409134) | [main, pushdown on → off](https://github.com/apache/datafusion/pull/25716#issuecomment-6152394506) |
   |---|---|---|---|---|
   | 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`.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] fix: deduplicate StringView/BinaryView buffer refs in CollectLeft Has... [datafusion]

Posted by "mohitgurav20 (via GitHub)" <gi...@apache.org>.
mohitgurav20 commented on PR #25716:
URL: https://github.com/apache/datafusion/pull/25716#issuecomment-6152606554

   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!
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] fix: deduplicate StringView/BinaryView buffer refs in CollectLeft Has... [datafusion]

Posted by "kosiew (via GitHub)" <gi...@apache.org>.
kosiew commented on PR #25716:
URL: https://github.com/apache/datafusion/pull/25716#issuecomment-6074480929

   run benchmark tpcds
   ```yaml
   baseline:
     env:
       DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: false
   changed:
     env:
       DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: true
   ```
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] fix: deduplicate StringView/BinaryView buffer refs in CollectLeft Has... [datafusion]

Posted by "kosiew (via GitHub)" <gi...@apache.org>.
kosiew commented on PR #25716:
URL: https://github.com/apache/datafusion/pull/25716#issuecomment-6074462328

   run benchmark tpcds
   ```yaml
   baseline:
     DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: false
   changed:
     DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: true
   ```
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] fix: deduplicate StringView/BinaryView buffer refs in CollectLeft Has... [datafusion]

Posted by "kosiew (via GitHub)" <gi...@apache.org>.
kosiew commented on PR #25716:
URL: https://github.com/apache/datafusion/pull/25716#issuecomment-6074587245

   @mohitgurav20 
   from [run1](https://github.com/apache/datafusion/pull/25716#issuecomment-6074303236) , [run2](https://github.com/apache/datafusion/pull/25716#issuecomment-6073881756):
   ```
   
   Query | Run 1 mean change | Run 2 mean change | Interpretation
   -- | -- | -- | --
   Q54 | 5.5% slower | 5.6% slower | Consistent regression candidate
   Q34 | 4.6% slower | 6.0% slower | Possible regression candidate
   Q51 | 5.3% faster | 0.9% slower | Not reproducible
   Q64 | 1.1% faster | 0.6% faster | Small consistent improvement
   Q73 | 3.3% slower | 14.1% slower | Worth investigating
   Q93 | 5.2% slower | 5.3% slower | Possible regression, but high variability in fix measurements
   
   ```
   Can you investigate the above further?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] fix: deduplicate StringView/BinaryView buffer refs in CollectLeft Has... [datafusion]

Posted by "mohitgurav20 (via GitHub)" <gi...@apache.org>.
mohitgurav20 commented on PR #25716:
URL: https://github.com/apache/datafusion/pull/25716#issuecomment-5968238934

   @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!


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] fix: deduplicate StringView/BinaryView buffer refs in CollectLeft Has... [datafusion]

Posted by "kosiew (via GitHub)" <gi...@apache.org>.
kosiew commented on code in PR #25716:
URL: https://github.com/apache/datafusion/pull/25716#discussion_r4183118630


##########
datafusion/physical-plan/src/joins/hash_join/exec.rs:
##########
@@ -7607,6 +7729,181 @@ mod tests {
         Ok(())
     }
 
+    #[test]
+    fn concat_build_batches_deduplicates_view_buffers() -> Result<()> {
+        use arrow::array::StringViewBuilder;
+
+        let mut builder = StringViewBuilder::new();
+        builder.append_value("this is a long string that exceeds inline size 12");
+        builder.append_value("another long string that exceeds inline size 12");
+        let base_array: StringViewArray = builder.finish();
+        let schema =
+            Arc::new(Schema::new(vec![Field::new("s", DataType::Utf8View, true)]));
+
+        let batch1 = RecordBatch::try_new(
+            Arc::clone(&schema),
+            vec![Arc::new(base_array.clone())],
+        )?;
+        let batch2 = RecordBatch::try_new(
+            Arc::clone(&schema),
+            vec![Arc::new(base_array.clone())],
+        )?;
+        let batch3 = RecordBatch::try_new(
+            Arc::clone(&schema),
+            vec![Arc::new(base_array.clone())],
+        )?;
+
+        // Before deduplication, concat_batches puts 3 duplicate buffer references in data_buffers
+        let concatenated_raw =
+            concat_batches(&schema, &[batch1.clone(), batch2.clone(), batch3.clone()])?;
+        let raw_view_arr = concatenated_raw
+            .column(0)
+            .as_any()
+            .downcast_ref::<StringViewArray>()
+            .unwrap();
+        assert_eq!(raw_view_arr.data_buffers().len(), 3);
+
+        // After concat_build_batches, buffer references are deduplicated down to 1
+        let metrics = BuildProbeJoinMetrics::new(0, &ExecutionPlanMetricsSet::new());
+        let pool: Arc<dyn MemoryPool> = Arc::new(UnboundedMemoryPool::default());
+        let batches = vec![batch1, batch2, batch3];
+        let (mut reservation, inputs_reserved) = reserve_inputs(&batches, &pool)?;
+
+        let batch = concat_build_batches(
+            &schema,
+            batches,
+            false,
+            inputs_reserved,
+            &mut reservation,
+            &metrics,
+        )?;
+
+        let view_arr = batch
+            .column(0)
+            .as_any()
+            .downcast_ref::<StringViewArray>()
+            .unwrap();
+        assert_eq!(view_arr.data_buffers().len(), 1);
+        assert_eq!(batch.num_rows(), 6);
+        Ok(())
+    }
+
+    #[test]
+    fn concat_build_batches_deduplicates_binary_view_buffers() -> Result<()> {
+        use arrow::array::BinaryViewBuilder;
+
+        let mut builder = BinaryViewBuilder::new();
+        builder.append_value(b"this is a long binary that exceeds inline size 12");
+        builder.append_value(b"another long binary that exceeds inline size 12");
+        let base_array: BinaryViewArray = builder.finish();
+        let schema = Arc::new(Schema::new(vec![Field::new(
+            "b",
+            DataType::BinaryView,
+            true,
+        )]));
+
+        let batch1 = RecordBatch::try_new(
+            Arc::clone(&schema),
+            vec![Arc::new(base_array.clone())],
+        )?;
+        let batch2 = RecordBatch::try_new(
+            Arc::clone(&schema),
+            vec![Arc::new(base_array.clone())],
+        )?;
+        let batch3 = RecordBatch::try_new(
+            Arc::clone(&schema),
+            vec![Arc::new(base_array.clone())],
+        )?;
+
+        let metrics = BuildProbeJoinMetrics::new(0, &ExecutionPlanMetricsSet::new());
+        let pool: Arc<dyn MemoryPool> = Arc::new(UnboundedMemoryPool::default());
+        let batches = vec![batch1, batch2, batch3];
+        let (mut reservation, inputs_reserved) = reserve_inputs(&batches, &pool)?;
+
+        let batch = concat_build_batches(
+            &schema,
+            batches,
+            false,
+            inputs_reserved,
+            &mut reservation,
+            &metrics,
+        )?;
+
+        let view_arr = batch
+            .column(0)
+            .as_any()
+            .downcast_ref::<BinaryViewArray>()
+            .unwrap();
+        assert_eq!(view_arr.data_buffers().len(), 1);
+        assert_eq!(batch.num_rows(), 6);
+        Ok(())
+    }
+
+    #[test]
+    fn concat_build_batches_deduplicates_slices_regression() -> Result<()> {
+        use arrow::array::StringViewBuilder;
+
+        let mut builder = StringViewBuilder::new();
+        builder.append_value("this is a long string that exceeds inline size 12");
+        builder.append_value("another long string that exceeds inline size 12");
+        let base_array: StringViewArray = builder.finish();
+        let schema =
+            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);

Review Comment:
   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.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] fix: deduplicate StringView/BinaryView buffer refs in CollectLeft Has... [datafusion]

Posted by "mohitgurav20 (via GitHub)" <gi...@apache.org>.
mohitgurav20 commented on PR #25716:
URL: https://github.com/apache/datafusion/pull/25716#issuecomment-6144292607

   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?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] fix: deduplicate StringView/BinaryView buffer refs in CollectLeft Has... [datafusion]

Posted by "mohitgurav20 (via GitHub)" <gi...@apache.org>.
mohitgurav20 commented on PR #25716:
URL: https://github.com/apache/datafusion/pull/25716#issuecomment-6016669976

   Thanks for the detailed review and patience, @kosiew!
   
   I've pushed a final set of commits that fully resolves the Codecov coverage gaps.
   
   The persistent "partial" coverage was actually due to LLVM branch instrumentation on ? operators in both the production code and tests (where the Err branches were never hit).
   
   To fix this, I made deduplicate_record_batch_view_buffers infallible (since it mathematically cannot fail with matching schemas/column lengths), swapped test assertions to .expect(), and added targeted unit tests for the remaining edge cases (like the try_grow path).
   
   Everything is green locally. Let me know if we're good to merge!
   
   6:19 PM


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] fix: deduplicate StringView/BinaryView buffer refs in CollectLeft Has... [datafusion]

Posted by "adriangbot (via GitHub)" <gi...@apache.org>.
adriangbot commented on PR #25716:
URL: https://github.com/apache/datafusion/pull/25716#issuecomment-6152409134

   🤖 Benchmark completed (GKE) | [trigger](https://github.com/apache/datafusion/pull/25716#issuecomment-6152177135)
   
   **Instance:** `c4a-highmem-16` (12 vCPU / 65 GiB)
   
   Comparing ca2623c (ca2623c7d2cebb6c529534331a67dbe129cbe7ff) to ca2623c [diff](https://github.com/apache/datafusion/compare/ca2623c7d2cebb6c529534331a67dbe129cbe7ff..ca2623c7d2cebb6c529534331a67dbe129cbe7ff)
   
   <details><summary>Run configuration</summary>
   
   ```yaml
   run benchmark tpcds
   baseline:
     ref: "ca2623c"
     env:
       DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "true"
   changed:
     ref: "ca2623c"
     env:
       DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "false"
   ```
   
   </details>
   
   <details><summary>CPU Details (lscpu)</summary>
   
   ```
   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>
   
   <details><summary>Details</summary>
   <p>
   
   ```
   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 │
   └───────────────────────────────────────────────────────────────┴───────────┘
   ```
   
   </p>
   </details>
   
   <details><summary>Resource Usage</summary>
   
   **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 |
   
   </details>
   
   
   ---
   [File an issue](https://github.com/adriangb/datafusion-benchmarking/issues) against this benchmark runner


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] fix: deduplicate StringView/BinaryView buffer refs in CollectLeft Has... [datafusion]

Posted by "adriangbot (via GitHub)" <gi...@apache.org>.
adriangbot commented on PR #25716:
URL: https://github.com/apache/datafusion/pull/25716#issuecomment-6121485564

   🤖 Benchmark running (GKE) | [trigger](https://github.com/apache/datafusion/pull/25716#issuecomment-6121378002)
   **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`
   <details><summary>CPU Details (lscpu)</summary>
   
   ```
   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 fix/dedup-stringview-buffers-collectleft-joins (ca2623c7d2cebb6c529534331a67dbe129cbe7ff) to 06aa131 (merge-base) [diff](https://github.com/apache/datafusion/compare/06aa131cda0d6829c517e77f3b8b08f3a24569f0..ca2623c7d2cebb6c529534331a67dbe129cbe7ff)
   
   <details><summary>Run configuration</summary>
   
   ```yaml
   run benchmark tpcds
   env:
     DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "true"
   ```
   
   </details>
   
   Results will be posted here when complete
   
   ---
   [File an issue](https://github.com/adriangb/datafusion-benchmarking/issues) against this benchmark runner


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] fix: deduplicate StringView/BinaryView buffer refs in CollectLeft Has... [datafusion]

Posted by "kosiew (via GitHub)" <gi...@apache.org>.
kosiew commented on code in PR #25716:
URL: https://github.com/apache/datafusion/pull/25716#discussion_r4193613355


##########
.gitignore:
##########


Review Comment:
   @mohitgurav20 
   Can you exclude this change from this PR?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] fix: deduplicate StringView/BinaryView buffer refs in CollectLeft Has... [datafusion]

Posted by "alamb (via GitHub)" <gi...@apache.org>.
alamb commented on PR #25716:
URL: https://github.com/apache/datafusion/pull/25716#issuecomment-5857333109

   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 https://github.com/apache/datafusion/issues/25712


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] fix: deduplicate StringView/BinaryView buffer refs in CollectLeft Has... [datafusion]

Posted by "codecov-commenter (via GitHub)" <gi...@apache.org>.
codecov-commenter commented on PR #25716:
URL: https://github.com/apache/datafusion/pull/25716#issuecomment-5858434048

   ## [Codecov](https://app.codecov.io/gh/apache/datafusion/pull/25716?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) Report
   :x: Patch coverage is `92.52336%` with `8 lines` in your changes missing coverage. Please review.
   :white_check_mark: Project coverage is 82.51%. Comparing base ([`871058c`](https://app.codecov.io/gh/apache/datafusion/commit/871058cd7302ef8fa746e52329992408bc9c6c7e?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)) to head ([`7ed87d1`](https://app.codecov.io/gh/apache/datafusion/commit/7ed87d1f5fff46b38de703fac6ed05266ef2188d?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   
   | [Files with missing lines](https://app.codecov.io/gh/apache/datafusion/pull/25716?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | Patch % | Lines |
   |---|---|---|
   | [...tafusion/physical-plan/src/joins/hash\_join/exec.rs](https://app.codecov.io/gh/apache/datafusion/pull/25716?src=pr&el=tree&filepath=datafusion%2Fphysical-plan%2Fsrc%2Fjoins%2Fhash_join%2Fexec.rs&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-ZGF0YWZ1c2lvbi9waHlzaWNhbC1wbGFuL3NyYy9qb2lucy9oYXNoX2pvaW4vZXhlYy5ycw==) | 92.52% | [1 Missing and 7 partials :warning: ](https://app.codecov.io/gh/apache/datafusion/pull/25716?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) |
   
   <details><summary>Additional details and impacted files</summary>
   
   
   
   ```diff
   @@           Coverage Diff            @@
   ##             main   #25716    +/-   ##
   ========================================
     Coverage   82.51%   82.51%            
   ========================================
     Files        1141     1141            
     Lines      439801   439908   +107     
     Branches   439801   439908   +107     
   ========================================
   + Hits       362916   363010    +94     
   - Misses      54943    54948     +5     
   - Partials    21942    21950     +8     
   ```
   </details>
   
   [:umbrella: View full report in Codecov by Harness](https://app.codecov.io/gh/apache/datafusion/pull/25716?dropdown=coverage&src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache).   
   :loudspeaker: Have feedback on the report? [Share it here](https://about.codecov.io/codecov-pr-comment-feedback/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache).
   <details><summary> :rocket: New features to boost your workflow: </summary>
   
   - :snowflake: [Test Analytics](https://docs.codecov.com/docs/test-analytics): Detect flaky tests, report on failures, and find test suite problems.
   - :package: [JS Bundle Analysis](https://docs.codecov.com/docs/javascript-bundle-analysis): Save yourself from yourself by tracking and limiting bundle sizes in JS merges.
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] fix: deduplicate StringView/BinaryView buffer refs in CollectLeft Has... [datafusion]

Posted by "mohitgurav20 (via GitHub)" <gi...@apache.org>.
mohitgurav20 commented on PR #25716:
URL: https://github.com/apache/datafusion/pull/25716#issuecomment-6084742359

   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!


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] fix: deduplicate StringView/BinaryView buffer refs in CollectLeft Has... [datafusion]

Posted by "adriangbot (via GitHub)" <gi...@apache.org>.
adriangbot commented on PR #25716:
URL: https://github.com/apache/datafusion/pull/25716#issuecomment-6073790427

   🤖 Benchmark running (GKE) | [trigger](https://github.com/apache/datafusion/pull/25716#issuecomment-6073736578)
   **Instance:** `c4a-highcpu-48` (12 vCPU / 65 GiB) | `Linux bench-c6073736578-3224-rqp5q 6.12.94+ #1 SMP Fri Aug 21 08:00:16 UTC 2026 aarch64 GNU/Linux`
   <details><summary>CPU Details (lscpu)</summary>
   
   ```
   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 fix/dedup-stringview-buffers-collectleft-joins (b1046682e4ea04c7801739f561280cb1d3fa9dfd) to b7c7bc2 (merge-base) [diff](https://github.com/apache/datafusion/compare/b7c7bc2c3930e58f55ea809b2e33755fc5241e65..b1046682e4ea04c7801739f561280cb1d3fa9dfd)
   
   <details><summary>Run configuration</summary>
   
   ```yaml
   run benchmark tpcds
   env:
     DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "true"
   ```
   
   </details>
   
   Results will be posted here when complete
   
   ---
   [File an issue](https://github.com/adriangb/datafusion-benchmarking/issues) against this benchmark runner


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] fix: deduplicate StringView/BinaryView buffer refs in CollectLeft Has... [datafusion]

Posted by "kosiew (via GitHub)" <gi...@apache.org>.
kosiew commented on PR #25716:
URL: https://github.com/apache/datafusion/pull/25716#issuecomment-6073736578

   run benchmark tpcds
   ```yaml
   env:
     DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: true
   ```


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] fix: deduplicate StringView/BinaryView buffer refs in CollectLeft Has... [datafusion]

Posted by "adriangbot (via GitHub)" <gi...@apache.org>.
adriangbot commented on PR #25716:
URL: https://github.com/apache/datafusion/pull/25716#issuecomment-6074303236

   🤖 Benchmark completed (GKE) | [trigger](https://github.com/apache/datafusion/pull/25716#issuecomment-6074204632)
   
   **Instance:** `c4a-highcpu-48` (12 vCPU / 65 GiB)
   
   Comparing fix/dedup-stringview-buffers-collectleft-joins (b1046682e4ea04c7801739f561280cb1d3fa9dfd) to b7c7bc2 (merge-base) [diff](https://github.com/apache/datafusion/compare/b7c7bc2c3930e58f55ea809b2e33755fc5241e65..b1046682e4ea04c7801739f561280cb1d3fa9dfd)
   
   <details><summary>Run configuration</summary>
   
   ```yaml
   run benchmark tpcds
   env:
     DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "true"
   ```
   
   </details>
   
   <details><summary>CPU Details (lscpu)</summary>
   
   ```
   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>
   
   <details><summary>Details</summary>
   <p>
   
   ```
   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 │                                        4.90 ms │     no change │
   │ QQuery 2  │  45.51 ms │                                       45.20 ms │     no change │
   │ QQuery 3  │  25.93 ms │                                       25.78 ms │     no change │
   │ QQuery 4  │ 338.47 ms │                                      339.38 ms │     no change │
   │ QQuery 5  │  46.36 ms │                                       45.97 ms │     no change │
   │ QQuery 6  │  35.30 ms │                                       35.22 ms │     no change │
   │ QQuery 7  │  80.92 ms │                                       81.61 ms │     no change │
   │ QQuery 8  │  14.43 ms │                                       14.24 ms │     no change │
   │ QQuery 9  │ 111.35 ms │                                      112.81 ms │     no change │
   │ QQuery 10 │  71.15 ms │                                       71.32 ms │     no change │
   │ QQuery 11 │ 206.68 ms │                                      208.53 ms │     no change │
   │ QQuery 12 │  27.85 ms │                                       27.72 ms │     no change │
   │ QQuery 13 │ 109.50 ms │                                      109.20 ms │     no change │
   │ QQuery 14 │ 422.98 ms │                                      416.02 ms │     no change │
   │ QQuery 15 │  22.49 ms │                                       22.51 ms │     no change │
   │ QQuery 16 │   5.71 ms │                                        5.68 ms │     no change │
   │ QQuery 17 │ 113.90 ms │                                      114.16 ms │     no change │
   │ QQuery 18 │ 160.20 ms │                                      159.56 ms │     no change │
   │ QQuery 19 │  38.54 ms │                                       38.05 ms │     no change │
   │ QQuery 20 │  30.12 ms │                                       29.81 ms │     no change │
   │ QQuery 21 │  18.45 ms │                                       18.39 ms │     no change │
   │ QQuery 22 │  60.03 ms │                                       60.07 ms │     no change │
   │ QQuery 23 │ 363.18 ms │                                      363.44 ms │     no change │
   │ QQuery 24 │ 161.04 ms │                                      163.60 ms │     no change │
   │ QQuery 25 │ 114.24 ms │                                      114.09 ms │     no change │
   │ QQuery 26 │  62.43 ms │                                       63.14 ms │     no change │
   │ QQuery 27 │   5.51 ms │                                        5.52 ms │     no change │
   │ QQuery 28 │  72.73 ms │                                       71.98 ms │     no change │
   │ QQuery 29 │ 144.15 ms │                                      143.89 ms │     no change │
   │ QQuery 30 │  31.08 ms │                                       31.00 ms │     no change │
   │ QQuery 31 │ 121.10 ms │                                      120.40 ms │     no change │
   │ QQuery 32 │  20.61 ms │                                       20.61 ms │     no change │
   │ QQuery 33 │  38.00 ms │                                       37.81 ms │     no change │
   │ QQuery 34 │   9.98 ms │                                       10.42 ms │     no change │
   │ QQuery 35 │  82.90 ms │                                       83.61 ms │     no change │
   │ QQuery 36 │   5.30 ms │                                        5.32 ms │     no change │
   │ QQuery 37 │   6.66 ms │                                        6.74 ms │     no change │
   │ QQuery 38 │  73.79 ms │                                       75.42 ms │     no change │
   │ QQuery 39 │  68.06 ms │                                       68.40 ms │     no change │
   │ QQuery 40 │  18.71 ms │                                       18.77 ms │     no change │
   │ QQuery 41 │  11.52 ms │                                       11.60 ms │     no change │
   │ QQuery 42 │  22.62 ms │                                       22.59 ms │     no change │
   │ QQuery 43 │   4.37 ms │                                        4.34 ms │     no change │
   │ QQuery 44 │   8.21 ms │                                        8.13 ms │     no change │
   │ QQuery 45 │  25.16 ms │                                       25.15 ms │     no change │
   │ QQuery 46 │  11.70 ms │                                       11.77 ms │     no change │
   │ QQuery 47 │ 213.43 ms │                                      211.91 ms │     no change │
   │ QQuery 48 │ 117.53 ms │                                      116.87 ms │     no change │
   │ QQuery 49 │  85.61 ms │                                       84.88 ms │     no change │
   │ QQuery 50 │ 123.01 ms │                                      122.54 ms │     no change │
   │ QQuery 51 │ 102.37 ms │                                       97.06 ms │ +1.05x faster │
   │ QQuery 52 │  23.61 ms │                                       22.89 ms │     no change │
   │ QQuery 53 │  29.61 ms │                                       29.36 ms │     no change │
   │ QQuery 54 │  27.13 ms │                                       28.96 ms │  1.07x slower │
   │ QQuery 55 │  22.46 ms │                                       22.41 ms │     no change │
   │ QQuery 56 │  33.56 ms │                                       33.25 ms │     no change │
   │ QQuery 57 │ 130.72 ms │                                      130.07 ms │     no change │
   │ QQuery 58 │  71.27 ms │                                       71.06 ms │     no change │
   │ QQuery 59 │  77.49 ms │                                       77.42 ms │     no change │
   │ QQuery 60 │  37.24 ms │                                       37.02 ms │     no change │
   │ QQuery 61 │  10.79 ms │                                       10.68 ms │     no change │
   │ QQuery 62 │  40.89 ms │                                       40.78 ms │     no change │
   │ QQuery 63 │  29.49 ms │                                       29.43 ms │     no change │
   │ QQuery 64 │ 505.87 ms │                                      505.57 ms │     no change │
   │ QQuery 65 │ 159.16 ms │                                      156.99 ms │     no change │
   │ QQuery 66 │  61.95 ms │                                       62.14 ms │     no change │
   │ QQuery 67 │ 246.07 ms │                                      240.77 ms │     no change │
   │ QQuery 68 │  11.53 ms │                                       11.73 ms │     no change │
   │ QQuery 69 │  68.57 ms │                                       68.79 ms │     no change │
   │ QQuery 70 │ 117.01 ms │                                      117.89 ms │     no change │
   │ QQuery 71 │  31.29 ms │                                       30.93 ms │     no change │
   │ QQuery 72 │ 167.68 ms │                                      168.20 ms │     no change │
   │ QQuery 73 │   9.55 ms │                                        9.93 ms │     no change │
   │ QQuery 74 │ 143.27 ms │                                      143.29 ms │     no change │
   │ QQuery 75 │ 177.05 ms │                                      175.45 ms │     no change │
   │ QQuery 76 │  39.27 ms │                                       39.09 ms │     no change │
   │ QQuery 77 │  59.88 ms │                                       59.34 ms │     no change │
   │ QQuery 78 │ 114.00 ms │                                      114.49 ms │     no change │
   │ QQuery 79 │  65.55 ms │                                       65.56 ms │     no change │
   │ QQuery 80 │  74.75 ms │                                       73.79 ms │     no change │
   │ QQuery 81 │  26.02 ms │                                       26.08 ms │     no change │
   │ QQuery 82 │  30.44 ms │                                       30.84 ms │     no change │
   │ QQuery 83 │  27.03 ms │                                       27.62 ms │     no change │
   │ QQuery 84 │  29.22 ms │                                       29.36 ms │     no change │
   │ QQuery 85 │ 158.34 ms │                                      156.93 ms │     no change │
   │ QQuery 86 │  28.95 ms │                                       29.15 ms │     no change │
   │ QQuery 87 │  74.75 ms │                                       74.90 ms │     no change │
   │ QQuery 88 │  62.68 ms │                                       63.35 ms │     no change │
   │ QQuery 89 │  41.49 ms │                                       41.52 ms │     no change │
   │ QQuery 90 │  17.21 ms │                                       17.34 ms │     no change │
   │ QQuery 91 │  42.94 ms │                                       42.66 ms │     no change │
   │ QQuery 92 │  28.52 ms │                                       27.99 ms │     no change │
   │ QQuery 93 │  48.26 ms │                                       47.52 ms │     no change │
   │ QQuery 94 │  34.81 ms │                                       35.21 ms │     no change │
   │ QQuery 95 │  90.98 ms │                                       91.84 ms │     no change │
   │ QQuery 96 │  25.36 ms │                                       25.30 ms │     no change │
   │ QQuery 97 │  53.14 ms │                                       51.07 ms │     no change │
   │ QQuery 98 │  36.97 ms │                                       37.87 ms │     no change │
   │ QQuery 99 │  58.14 ms │                                       58.21 ms │     no change │
   └───────────┴───────────┴────────────────────────────────────────────────┴───────────────┘
   ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
   ┃ Benchmark Summary                                             ┃           ┃
   ┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
   │ Total Time (HEAD)                                             │ 7617.82ms │
   │ Total Time (fix_dedup-stringview-buffers-collectleft-joins)   │ 7599.13ms │
   │ Average Time (HEAD)                                           │   76.95ms │
   │ Average Time (fix_dedup-stringview-buffers-collectleft-joins) │   76.76ms │
   │ 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.00 / 5.57 ±1.04 / 7.64 ms │                    4.90 / 5.46 ±1.03 / 7.52 ms │     no change │
   │ QQuery 2  │    45.51 / 45.89 ±0.53 / 46.91 ms │                 45.20 / 45.62 ±0.32 / 46.02 ms │     no change │
   │ QQuery 3  │    25.93 / 26.25 ±0.26 / 26.70 ms │                 25.78 / 26.08 ±0.21 / 26.40 ms │     no change │
   │ QQuery 4  │ 338.47 / 342.06 ±2.50 / 345.82 ms │              339.38 / 343.53 ±2.47 / 346.14 ms │     no change │
   │ QQuery 5  │    46.36 / 46.80 ±0.36 / 47.31 ms │                 45.97 / 46.39 ±0.48 / 47.27 ms │     no change │
   │ QQuery 6  │    35.30 / 35.59 ±0.21 / 35.94 ms │                 35.22 / 35.49 ±0.19 / 35.80 ms │     no change │
   │ QQuery 7  │    80.92 / 81.58 ±0.54 / 82.54 ms │                 81.61 / 81.93 ±0.23 / 82.29 ms │     no change │
   │ QQuery 8  │    14.43 / 14.65 ±0.31 / 15.25 ms │                 14.24 / 14.48 ±0.28 / 15.01 ms │     no change │
   │ QQuery 9  │ 111.35 / 118.45 ±6.84 / 131.10 ms │              112.81 / 116.47 ±2.90 / 120.13 ms │     no change │
   │ QQuery 10 │    71.15 / 71.76 ±0.70 / 73.12 ms │                 71.32 / 71.78 ±0.52 / 72.77 ms │     no change │
   │ QQuery 11 │ 206.68 / 208.57 ±2.24 / 212.78 ms │              208.53 / 211.86 ±3.71 / 219.07 ms │     no change │
   │ QQuery 12 │    27.85 / 29.91 ±3.13 / 36.14 ms │                 27.72 / 31.18 ±5.02 / 41.16 ms │     no change │
   │ QQuery 13 │ 109.50 / 110.41 ±1.27 / 112.93 ms │              109.20 / 111.20 ±2.55 / 116.17 ms │     no change │
   │ QQuery 14 │ 422.98 / 428.00 ±5.71 / 439.16 ms │              416.02 / 422.20 ±4.00 / 428.37 ms │     no change │
   │ QQuery 15 │    22.49 / 22.69 ±0.23 / 23.01 ms │                 22.51 / 22.75 ±0.26 / 23.22 ms │     no change │
   │ QQuery 16 │       5.71 / 5.81 ±0.12 / 6.04 ms │                    5.68 / 5.81 ±0.10 / 5.97 ms │     no change │
   │ QQuery 17 │ 113.90 / 117.51 ±4.27 / 124.59 ms │              114.16 / 115.08 ±0.89 / 116.56 ms │     no change │
   │ QQuery 18 │ 160.20 / 162.58 ±1.72 / 165.48 ms │              159.56 / 163.46 ±3.07 / 168.43 ms │     no change │
   │ QQuery 19 │    38.54 / 40.38 ±2.63 / 45.62 ms │                 38.05 / 38.37 ±0.20 / 38.60 ms │     no change │
   │ QQuery 20 │    30.12 / 31.66 ±1.12 / 33.04 ms │                 29.81 / 30.59 ±0.62 / 31.67 ms │     no change │
   │ QQuery 21 │    18.45 / 18.69 ±0.18 / 18.97 ms │                 18.39 / 18.55 ±0.15 / 18.84 ms │     no change │
   │ QQuery 22 │    60.03 / 60.42 ±0.26 / 60.79 ms │                 60.07 / 62.24 ±2.50 / 66.97 ms │     no change │
   │ QQuery 23 │ 363.18 / 367.51 ±3.41 / 373.60 ms │              363.44 / 367.98 ±6.22 / 380.21 ms │     no change │
   │ QQuery 24 │ 161.04 / 166.59 ±5.63 / 176.25 ms │              163.60 / 167.11 ±5.73 / 178.54 ms │     no change │
   │ QQuery 25 │ 114.24 / 115.89 ±1.13 / 117.63 ms │              114.09 / 117.56 ±4.43 / 126.31 ms │     no change │
   │ QQuery 26 │    62.43 / 63.63 ±0.66 / 64.19 ms │                 63.14 / 63.91 ±0.51 / 64.59 ms │     no change │
   │ QQuery 27 │       5.51 / 5.83 ±0.17 / 5.96 ms │                    5.52 / 5.83 ±0.17 / 5.98 ms │     no change │
   │ QQuery 28 │    72.73 / 77.47 ±4.83 / 85.47 ms │                 71.98 / 74.10 ±2.94 / 79.92 ms │     no change │
   │ QQuery 29 │ 144.15 / 145.60 ±1.17 / 147.55 ms │              143.89 / 145.22 ±1.43 / 147.58 ms │     no change │
   │ QQuery 30 │    31.08 / 31.60 ±0.52 / 32.46 ms │                 31.00 / 31.30 ±0.24 / 31.67 ms │     no change │
   │ QQuery 31 │ 121.10 / 124.41 ±3.74 / 131.37 ms │              120.40 / 122.19 ±2.17 / 126.42 ms │     no change │
   │ QQuery 32 │    20.61 / 21.14 ±0.56 / 21.98 ms │                 20.61 / 21.02 ±0.36 / 21.50 ms │     no change │
   │ QQuery 33 │    38.00 / 38.25 ±0.26 / 38.73 ms │                 37.81 / 38.00 ±0.20 / 38.34 ms │     no change │
   │ QQuery 34 │     9.98 / 10.28 ±0.33 / 10.90 ms │                 10.42 / 10.75 ±0.38 / 11.46 ms │     no change │
   │ QQuery 35 │    82.90 / 83.75 ±0.65 / 84.52 ms │                 83.61 / 86.08 ±3.50 / 92.99 ms │     no change │
   │ QQuery 36 │       5.30 / 5.43 ±0.22 / 5.86 ms │                    5.32 / 5.46 ±0.24 / 5.94 ms │     no change │
   │ QQuery 37 │       6.66 / 6.74 ±0.06 / 6.85 ms │                    6.74 / 6.80 ±0.07 / 6.94 ms │     no change │
   │ QQuery 38 │    73.79 / 74.85 ±0.82 / 76.30 ms │                 75.42 / 75.62 ±0.27 / 76.16 ms │     no change │
   │ QQuery 39 │    68.06 / 70.48 ±3.78 / 78.01 ms │                 68.40 / 69.62 ±1.89 / 73.36 ms │     no change │
   │ QQuery 40 │    18.71 / 19.25 ±0.39 / 19.86 ms │                 18.77 / 19.48 ±0.45 / 20.04 ms │     no change │
   │ QQuery 41 │    11.52 / 11.68 ±0.14 / 11.94 ms │                 11.60 / 11.67 ±0.09 / 11.84 ms │     no change │
   │ QQuery 42 │    22.62 / 23.09 ±0.35 / 23.55 ms │                 22.59 / 23.27 ±0.59 / 24.36 ms │     no change │
   │ QQuery 43 │       4.37 / 4.47 ±0.15 / 4.77 ms │                    4.34 / 4.45 ±0.15 / 4.75 ms │     no change │
   │ QQuery 44 │       8.21 / 8.36 ±0.13 / 8.61 ms │                    8.13 / 8.31 ±0.13 / 8.54 ms │     no change │
   │ QQuery 45 │    25.16 / 25.90 ±1.17 / 28.22 ms │                 25.15 / 25.44 ±0.35 / 26.12 ms │     no change │
   │ QQuery 46 │    11.70 / 11.78 ±0.11 / 11.99 ms │                 11.77 / 12.00 ±0.23 / 12.43 ms │     no change │
   │ QQuery 47 │ 213.43 / 217.14 ±2.95 / 221.07 ms │              211.91 / 214.95 ±3.26 / 220.82 ms │     no change │
   │ QQuery 48 │ 117.53 / 122.63 ±4.70 / 130.45 ms │              116.87 / 120.00 ±4.20 / 128.20 ms │     no change │
   │ QQuery 49 │    85.61 / 87.41 ±2.72 / 92.82 ms │                 84.88 / 86.03 ±1.18 / 88.16 ms │     no change │
   │ QQuery 50 │ 123.01 / 124.92 ±1.81 / 128.06 ms │              122.54 / 126.68 ±6.29 / 139.14 ms │     no change │
   │ QQuery 51 │ 102.37 / 105.80 ±5.18 / 116.04 ms │               97.06 / 100.22 ±2.69 / 104.89 ms │ +1.06x faster │
   │ QQuery 52 │    23.61 / 24.41 ±1.01 / 26.38 ms │                 22.89 / 23.31 ±0.54 / 24.36 ms │     no change │
   │ QQuery 53 │    29.61 / 29.99 ±0.44 / 30.82 ms │                 29.36 / 29.65 ±0.29 / 30.10 ms │     no change │
   │ QQuery 54 │    27.13 / 28.19 ±0.74 / 29.22 ms │                 28.96 / 29.73 ±0.45 / 30.36 ms │  1.05x slower │
   │ QQuery 55 │    22.46 / 22.53 ±0.05 / 22.58 ms │                 22.41 / 22.93 ±0.62 / 24.16 ms │     no change │
   │ QQuery 56 │    33.56 / 33.89 ±0.29 / 34.42 ms │                 33.25 / 33.46 ±0.16 / 33.72 ms │     no change │
   │ QQuery 57 │ 130.72 / 132.50 ±1.36 / 134.26 ms │              130.07 / 132.92 ±3.70 / 140.18 ms │     no change │
   │ QQuery 58 │    71.27 / 71.83 ±0.44 / 72.44 ms │                 71.06 / 71.51 ±0.42 / 72.30 ms │     no change │
   │ QQuery 59 │    77.49 / 78.58 ±1.38 / 81.25 ms │                 77.42 / 77.80 ±0.46 / 78.66 ms │     no change │
   │ QQuery 60 │    37.24 / 37.55 ±0.34 / 38.05 ms │                 37.02 / 39.12 ±2.17 / 43.08 ms │     no change │
   │ QQuery 61 │    10.79 / 11.04 ±0.17 / 11.23 ms │                 10.68 / 10.85 ±0.22 / 11.28 ms │     no change │
   │ QQuery 62 │    40.89 / 41.25 ±0.29 / 41.65 ms │                 40.78 / 41.04 ±0.20 / 41.30 ms │     no change │
   │ QQuery 63 │    29.49 / 30.09 ±1.06 / 32.19 ms │                 29.43 / 29.57 ±0.10 / 29.68 ms │     no change │
   │ QQuery 64 │ 505.87 / 514.75 ±5.40 / 522.69 ms │              505.57 / 509.27 ±3.62 / 515.72 ms │     no change │
   │ QQuery 65 │ 159.16 / 162.73 ±2.22 / 166.10 ms │              156.99 / 159.66 ±1.68 / 162.03 ms │     no change │
   │ QQuery 66 │    61.95 / 62.78 ±0.50 / 63.47 ms │                 62.14 / 64.36 ±2.49 / 68.82 ms │     no change │
   │ QQuery 67 │ 246.07 / 252.16 ±4.74 / 257.21 ms │              240.77 / 247.87 ±5.69 / 255.70 ms │     no change │
   │ QQuery 68 │    11.53 / 11.94 ±0.36 / 12.52 ms │                 11.73 / 11.94 ±0.22 / 12.36 ms │     no change │
   │ QQuery 69 │    68.57 / 71.09 ±2.96 / 75.91 ms │                 68.79 / 69.22 ±0.29 / 69.58 ms │     no change │
   │ QQuery 70 │ 117.01 / 120.84 ±4.90 / 130.12 ms │              117.89 / 122.18 ±4.53 / 128.40 ms │     no change │
   │ QQuery 71 │    31.29 / 31.41 ±0.09 / 31.54 ms │                 30.93 / 31.70 ±0.62 / 32.73 ms │     no change │
   │ QQuery 72 │ 167.68 / 174.27 ±6.54 / 186.23 ms │              168.20 / 173.72 ±7.69 / 188.86 ms │     no change │
   │ QQuery 73 │     9.55 / 10.08 ±0.49 / 10.95 ms │                  9.93 / 10.41 ±0.42 / 11.17 ms │     no change │
   │ QQuery 74 │ 143.27 / 144.66 ±1.38 / 147.17 ms │              143.29 / 146.55 ±4.79 / 156.05 ms │     no change │
   │ QQuery 75 │ 177.05 / 180.24 ±4.91 / 190.00 ms │              175.45 / 181.44 ±8.17 / 197.54 ms │     no change │
   │ QQuery 76 │    39.27 / 39.58 ±0.19 / 39.81 ms │                 39.09 / 39.79 ±0.89 / 41.54 ms │     no change │
   │ QQuery 77 │    59.88 / 62.80 ±4.53 / 71.81 ms │                 59.34 / 60.25 ±0.52 / 60.92 ms │     no change │
   │ QQuery 78 │ 114.00 / 118.82 ±4.46 / 124.69 ms │              114.49 / 115.83 ±0.72 / 116.48 ms │     no change │
   │ QQuery 79 │    65.55 / 67.56 ±2.92 / 73.30 ms │                 65.56 / 66.07 ±0.43 / 66.87 ms │     no change │
   │ QQuery 80 │    74.75 / 75.63 ±0.71 / 76.62 ms │                 73.79 / 74.16 ±0.51 / 75.17 ms │     no change │
   │ QQuery 81 │    26.02 / 26.21 ±0.16 / 26.51 ms │                 26.08 / 28.64 ±4.13 / 36.85 ms │  1.09x slower │
   │ QQuery 82 │    30.44 / 30.87 ±0.39 / 31.46 ms │                 30.84 / 32.11 ±1.78 / 35.60 ms │     no change │
   │ QQuery 83 │    27.03 / 27.66 ±0.48 / 28.48 ms │                 27.62 / 28.11 ±0.53 / 29.04 ms │     no change │
   │ QQuery 84 │    29.22 / 32.10 ±4.78 / 41.63 ms │                 29.36 / 29.66 ±0.18 / 29.85 ms │ +1.08x faster │
   │ QQuery 85 │ 158.34 / 158.72 ±0.32 / 159.23 ms │              156.93 / 163.09 ±4.98 / 169.62 ms │     no change │
   │ QQuery 86 │    28.95 / 30.96 ±3.37 / 37.68 ms │                 29.15 / 29.70 ±0.35 / 30.08 ms │     no change │
   │ QQuery 87 │    74.75 / 76.68 ±1.86 / 80.22 ms │                 74.90 / 75.56 ±0.62 / 76.50 ms │     no change │
   │ QQuery 88 │    62.68 / 66.86 ±3.77 / 71.45 ms │                 63.35 / 70.80 ±8.34 / 86.43 ms │  1.06x slower │
   │ QQuery 89 │    41.49 / 41.56 ±0.06 / 41.66 ms │                 41.52 / 41.82 ±0.38 / 42.53 ms │     no change │
   │ QQuery 90 │    17.21 / 19.82 ±4.91 / 29.63 ms │                 17.34 / 17.48 ±0.20 / 17.87 ms │ +1.13x faster │
   │ QQuery 91 │    42.94 / 45.12 ±1.28 / 46.79 ms │                 42.66 / 42.93 ±0.27 / 43.39 ms │     no change │
   │ QQuery 92 │    28.52 / 31.93 ±4.91 / 41.42 ms │                 27.99 / 28.66 ±0.46 / 29.18 ms │ +1.11x faster │
   │ QQuery 93 │    48.26 / 48.94 ±0.49 / 49.69 ms │                 47.52 / 51.49 ±5.73 / 62.76 ms │  1.05x slower │
   │ QQuery 94 │    34.81 / 35.25 ±0.34 / 35.70 ms │                 35.21 / 35.74 ±0.41 / 36.25 ms │     no change │
   │ QQuery 95 │    90.98 / 92.87 ±3.23 / 99.31 ms │                 91.84 / 92.35 ±0.71 / 93.75 ms │     no change │
   │ QQuery 96 │    25.36 / 26.89 ±2.79 / 32.47 ms │                 25.30 / 25.68 ±0.37 / 26.33 ms │     no change │
   │ QQuery 97 │    53.14 / 54.08 ±0.73 / 55.16 ms │                 51.07 / 53.78 ±2.69 / 58.87 ms │     no change │
   │ QQuery 98 │    36.97 / 39.05 ±1.58 / 41.68 ms │                 37.87 / 38.62 ±0.70 / 39.48 ms │     no change │
   │ QQuery 99 │    58.14 / 58.78 ±0.34 / 59.14 ms │                 58.21 / 58.53 ±0.38 / 59.06 ms │     no change │
   └───────────┴───────────────────────────────────┴────────────────────────────────────────────────┴───────────────┘
   ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
   ┃ Benchmark Summary                                             ┃           ┃
   ┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
   │ Total Time (HEAD)                                             │ 7784.72ms │
   │ Total Time (fix_dedup-stringview-buffers-collectleft-joins)   │ 7752.66ms │
   │ Average Time (HEAD)                                           │   78.63ms │
   │ Average Time (fix_dedup-stringview-buffers-collectleft-joins) │   78.31ms │
   │ Queries Faster                                                │         4 │
   │ Queries Slower                                                │         4 │
   │ Queries with No Change                                        │        91 │
   │ Queries with Failure                                          │         0 │
   └───────────────────────────────────────────────────────────────┴───────────┘
   ```
   
   </p>
   </details>
   
   <details><summary>Resource Usage</summary>
   
   **tpcds — base (merge-base)**
   | Metric | Value |
   |--------|-------|
   | Wall time | 40.0s |
   | Peak memory | 1.4 GiB |
   | Avg memory | 1.1 GiB |
   | CPU user | 114.8s |
   | CPU sys | 5.3s |
   | Peak spill | 0 B |
   
   **tpcds — branch**
   | Metric | Value |
   |--------|-------|
   | Wall time | 40.0s |
   | Peak memory | 1.4 GiB |
   | Avg memory | 967.2 MiB |
   | CPU user | 112.8s |
   | CPU sys | 4.9s |
   | Peak spill | 0 B |
   
   </details>
   
   
   ---
   [File an issue](https://github.com/adriangb/datafusion-benchmarking/issues) against this benchmark runner


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] fix: deduplicate StringView/BinaryView buffer refs in CollectLeft Has... [datafusion]

Posted by "kosiew (via GitHub)" <gi...@apache.org>.
kosiew commented on PR #25716:
URL: https://github.com/apache/datafusion/pull/25716#issuecomment-6074999034

   run benchmark tpcds
   ```yaml
   baseline:
     ref: b104668
     env:
       DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "false"
   changed:
     ref: b104668
     env:
       DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "true"
   ```


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] fix: deduplicate StringView/BinaryView buffer refs in CollectLeft Has... [datafusion]

Posted by "mohitgurav20 (via GitHub)" <gi...@apache.org>.
mohitgurav20 commented on PR #25716:
URL: https://github.com/apache/datafusion/pull/25716#issuecomment-6151428814

   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.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] fix: deduplicate StringView/BinaryView buffer refs in CollectLeft Has... [datafusion]

Posted by "adriangbot (via GitHub)" <gi...@apache.org>.
adriangbot commented on PR #25716:
URL: https://github.com/apache/datafusion/pull/25716#issuecomment-6152262259

   🤖 Benchmark running (GKE) | [trigger](https://github.com/apache/datafusion/pull/25716#issuecomment-6152176776)
   **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`
   <details><summary>CPU Details (lscpu)</summary>
   
   ```
   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 ca2623c (ca2623c7d2cebb6c529534331a67dbe129cbe7ff) to 06aa131 [diff](https://github.com/apache/datafusion/compare/06aa131cda0d6829c517e77f3b8b08f3a24569f0..ca2623c7d2cebb6c529534331a67dbe129cbe7ff)
   
   <details><summary>Run configuration</summary>
   
   ```yaml
   run benchmark tpcds
   baseline:
     ref: "06aa131"
     env:
       DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "false"
   changed:
     ref: "ca2623c"
     env:
       DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "false"
   ```
   
   </details>
   
   Results will be posted here when complete
   
   ---
   [File an issue](https://github.com/adriangb/datafusion-benchmarking/issues) against this benchmark runner


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] fix: deduplicate StringView/BinaryView buffer refs in CollectLeft Has... [datafusion]

Posted by "adriangb (via GitHub)" <gi...@apache.org>.
adriangb commented on PR #25716:
URL: https://github.com/apache/datafusion/pull/25716#issuecomment-6152177135

   run benchmark tpcds
   ```yaml
   baseline:
     ref: ca2623c
     env:
       DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "true"
   changed:
     ref: ca2623c
     env:
       DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: "false"
   ```


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org