You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@datafusion.apache.org by "coderfender (via GitHub)" <gi...@apache.org> on 2026/04/06 16:49:46 UTC
[PR] feat : Optimize memory allocation hash join collision check [datafusion]
coderfender opened a new pull request, #21412:
URL: https://github.com/apache/datafusion/pull/21412
## Which issue does this PR close?
<!--
We generally require a GitHub issue to be filed for all bug fixes and enhancements and this helps us generate change logs for our releases. You can link an issue to this PR using the GitHub syntax. For example `Closes #123` indicates that this PR will close issue #123.
-->
- Closes #.
## Rationale for this change
<!--
Why are you proposing this change? If this is already explained clearly in the issue then this section is not needed.
Explaining clearly why changes are proposed helps reviewers understand your changes and offer better suggestions for fixes.
-->
## What changes are included in this PR?
<!--
There is no need to duplicate the description in the issue here but it is sometimes worth providing a summary of the individual changes in this PR.
-->
## Are these changes tested?
<!--
We typically require tests for all PRs in order to:
1. Prevent the code from being accidentally broken by subsequent changes
2. Serve as another way to document the expected behavior of the code
If tests are not included in your PR, please explain why (for example, are they covered by existing tests)?
-->
## Are there any user-facing changes?
<!--
If there are user-facing changes then we may require documentation to be updated before approving the PR.
-->
<!--
If there are any breaking changes to public APIs, please add the `api change` label.
-->
--
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] perf : Optimize memory allocation hash join collision check [datafusion]
Posted by "adriangbot (via GitHub)" <gi...@apache.org>.
adriangbot commented on PR #21412:
URL: https://github.com/apache/datafusion/pull/21412#issuecomment-4193726468
๐ค Benchmark completed (GKE) | [trigger](https://github.com/apache/datafusion/pull/21412#issuecomment-4193634235)
**Instance:** `c4a-highmem-16` (12 vCPU / 65 GiB)
<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 optimize_mem_hash_join_arrow
--------------------
Benchmark tpch_sf10.json
--------------------
โโโโโโโโโโโโโณโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโณโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโณโโโโโโโโโโโโโโโ
โ Query โ HEAD โ optimize_mem_hash_join_arrow โ Change โ
โกโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฉ
โ QQuery 1 โ 368.07 / 371.41 ยฑ2.41 / 374.45 ms โ 366.89 / 367.96 ยฑ0.82 / 369.03 ms โ no change โ
โ QQuery 2 โ 137.30 / 140.18 ยฑ1.59 / 141.85 ms โ 137.36 / 139.04 ยฑ1.29 / 140.69 ms โ no change โ
โ QQuery 3 โ 289.90 / 294.66 ยฑ4.52 / 302.62 ms โ 290.41 / 296.55 ยฑ4.81 / 302.66 ms โ no change โ
โ QQuery 4 โ 155.44 / 156.80 ยฑ0.91 / 158.06 ms โ 154.35 / 156.05 ยฑ1.64 / 158.05 ms โ no change โ
โ QQuery 5 โ 428.42 / 441.97 ยฑ8.78 / 453.97 ms โ 440.56 / 444.42 ยฑ2.98 / 448.12 ms โ no change โ
โ QQuery 6 โ 131.56 / 132.82 ยฑ1.12 / 134.63 ms โ 130.86 / 132.18 ยฑ1.05 / 133.40 ms โ no change โ
โ QQuery 7 โ 561.44 / 569.30 ยฑ7.49 / 582.40 ms โ 596.94 / 609.78 ยฑ8.99 / 620.88 ms โ 1.07x slower โ
โ QQuery 8 โ 474.26 / 481.20 ยฑ7.09 / 492.17 ms โ 472.45 / 479.17 ยฑ3.86 / 482.53 ms โ no change โ
โ QQuery 9 โ 681.47 / 688.61 ยฑ5.82 / 697.04 ms โ 709.78 / 720.59 ยฑ5.62 / 724.72 ms โ no change โ
โ QQuery 10 โ 330.76 / 340.42 ยฑ7.39 / 350.31 ms โ 332.67 / 343.18 ยฑ9.39 / 360.71 ms โ no change โ
โ QQuery 11 โ 106.60 / 110.50 ยฑ3.07 / 116.04 ms โ 110.10 / 116.24 ยฑ4.38 / 120.98 ms โ 1.05x slower โ
โ QQuery 12 โ 204.18 / 205.82 ยฑ1.56 / 208.03 ms โ 205.09 / 207.29 ยฑ1.82 / 209.28 ms โ no change โ
โ QQuery 13 โ 312.35 / 321.39 ยฑ6.57 / 332.12 ms โ 331.75 / 347.38 ยฑ9.38 / 358.86 ms โ 1.08x slower โ
โ QQuery 14 โ 180.92 / 182.91 ยฑ1.28 / 184.88 ms โ 182.21 / 185.15 ยฑ2.02 / 187.83 ms โ no change โ
โ QQuery 15 โ 329.91 / 333.21 ยฑ3.51 / 339.30 ms โ 329.22 / 332.91 ยฑ3.00 / 338.29 ms โ no change โ
โ QQuery 16 โ 85.08 / 88.46 ยฑ2.14 / 91.54 ms โ 86.04 / 89.97 ยฑ2.10 / 92.21 ms โ no change โ
โ QQuery 17 โ 750.37 / 757.04 ยฑ5.29 / 763.78 ms โ 750.82 / 756.47 ยฑ5.27 / 763.81 ms โ no change โ
โ QQuery 18 โ 834.96 / 872.24 ยฑ21.42 / 897.64 ms โ 912.03 / 932.82 ยฑ25.32 / 981.99 ms โ 1.07x slower โ
โ QQuery 19 โ 266.27 / 272.22 ยฑ5.25 / 280.62 ms โ 265.84 / 268.64 ยฑ5.29 / 279.21 ms โ no change โ
โ QQuery 20 โ 319.41 / 326.41 ยฑ4.09 / 331.80 ms โ 327.19 / 335.73 ยฑ12.52 / 360.59 ms โ no change โ
โ QQuery 21 โ 843.06 / 854.73 ยฑ10.59 / 868.67 ms โ 843.81 / 862.35 ยฑ14.70 / 875.56 ms โ no change โ
โ QQuery 22 โ 79.88 / 82.66 ยฑ1.67 / 85.12 ms โ 84.20 / 86.11 ยฑ1.25 / 87.88 ms โ no change โ
โโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโณโโโโโโโโโโโโ
โ Benchmark Summary โ โ
โกโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฉ
โ Total Time (HEAD) โ 8024.97ms โ
โ Total Time (optimize_mem_hash_join_arrow) โ 8209.97ms โ
โ Average Time (HEAD) โ 364.77ms โ
โ Average Time (optimize_mem_hash_join_arrow) โ 373.18ms โ
โ Queries Faster โ 0 โ
โ Queries Slower โ 4 โ
โ Queries with No Change โ 18 โ
โ Queries with Failure โ 0 โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโ
```
</p>
</details>
<details><summary>Resource Usage</summary>
**tpch10 โ base (merge-base)**
| Metric | Value |
|--------|-------|
| Wall time | 40.5s |
| Peak memory | 10.4 GiB |
| Avg memory | 7.8 GiB |
| CPU user | 426.3s |
| CPU sys | 25.5s |
| Peak spill | 0 B |
**tpch10 โ branch**
| Metric | Value |
|--------|-------|
| Wall time | 41.4s |
| Peak memory | 9.8 GiB |
| Avg memory | 7.6 GiB |
| CPU user | 434.5s |
| CPU sys | 26.6s |
| 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] feat : Optimize memory allocation hash join collision check [datafusion]
Posted by "adriangbot (via GitHub)" <gi...@apache.org>.
adriangbot commented on PR #21412:
URL: https://github.com/apache/datafusion/pull/21412#issuecomment-4193653612
๐ค Benchmark running (GKE) | [trigger](https://github.com/apache/datafusion/pull/21412#issuecomment-4193634235)
**Instance:** `c4a-highmem-16` (12 vCPU / 65 GiB) | `Linux bench-c4193634235-899-mpjmd 6.12.55+ #1 SMP Sun Feb 1 08:59:41 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 optimize_mem_hash_join_arrow (9c4cea89a04a29962a222626664b4f5c303e0e81) to 3d2e6b2 (merge-base) [diff](https://github.com/apache/datafusion/compare/3d2e6b2fd096a17f74224fcccccb4cedd1e38a82..9c4cea89a04a29962a222626664b4f5c303e0e81) using: tpch10
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] perf : Optimize memory allocation hash join collision check [datafusion]
Posted by "coderfender (via GitHub)" <gi...@apache.org>.
coderfender commented on PR #21412:
URL: https://github.com/apache/datafusion/pull/21412#issuecomment-4194163489
Seems like SIMD comparison over continuous memory is better than custom row-by-row comparison (although the latter consumes less memory)
--
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] feat : Optimize memory allocation hash join collision check [datafusion]
Posted by "adriangbot (via GitHub)" <gi...@apache.org>.
adriangbot commented on PR #21412:
URL: https://github.com/apache/datafusion/pull/21412#issuecomment-4193652398
๐ค Benchmark running (GKE) | [trigger](https://github.com/apache/datafusion/pull/21412#issuecomment-4193634235)
**Instance:** `c4a-highmem-16` (12 vCPU / 65 GiB) | `Linux bench-c4193634235-900-vg8n9 6.12.55+ #1 SMP Sun Feb 1 08:59:41 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 optimize_mem_hash_join_arrow (9c4cea89a04a29962a222626664b4f5c303e0e81) to 3d2e6b2 (merge-base) [diff](https://github.com/apache/datafusion/compare/3d2e6b2fd096a17f74224fcccccb4cedd1e38a82..9c4cea89a04a29962a222626664b4f5c303e0e81) using: tpcds
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] perf : Optimize memory allocation hash join collision check [datafusion]
Posted by "coderfender (via GitHub)" <gi...@apache.org>.
coderfender commented on PR #21412:
URL: https://github.com/apache/datafusion/pull/21412#issuecomment-4193836846
investigating why there is slowness (results on my machine showed ~ 10 % speed with Q3)
--
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] perf : Optimize memory allocation hash join collision check [datafusion]
Posted by "coderfender (via GitHub)" <gi...@apache.org>.
coderfender closed pull request #21412: perf : Optimize memory allocation hash join collision check
URL: https://github.com/apache/datafusion/pull/21412
--
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] feat : Optimize memory allocation hash join collision check [datafusion]
Posted by "adriangbot (via GitHub)" <gi...@apache.org>.
adriangbot commented on PR #21412:
URL: https://github.com/apache/datafusion/pull/21412#issuecomment-4193652629
๐ค Benchmark running (GKE) | [trigger](https://github.com/apache/datafusion/pull/21412#issuecomment-4193634235)
**Instance:** `c4a-highmem-16` (12 vCPU / 65 GiB) | `Linux bench-c4193634235-898-bl4rv 6.12.55+ #1 SMP Sun Feb 1 08:59:41 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 optimize_mem_hash_join_arrow (9c4cea89a04a29962a222626664b4f5c303e0e81) to 3d2e6b2 (merge-base) [diff](https://github.com/apache/datafusion/compare/3d2e6b2fd096a17f74224fcccccb4cedd1e38a82..9c4cea89a04a29962a222626664b4f5c303e0e81) using: tpch
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] feat : Optimize memory allocation hash join collision check [datafusion]
Posted by "Dandandan (via GitHub)" <gi...@apache.org>.
Dandandan commented on PR #21412:
URL: https://github.com/apache/datafusion/pull/21412#issuecomment-4193634235
run benchmark tpch tpch10 tpcds
--
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] perf : Optimize memory allocation hash join collision check [datafusion]
Posted by "adriangbot (via GitHub)" <gi...@apache.org>.
adriangbot commented on PR #21412:
URL: https://github.com/apache/datafusion/pull/21412#issuecomment-4193758683
๐ค Benchmark completed (GKE) | [trigger](https://github.com/apache/datafusion/pull/21412#issuecomment-4193634235)
**Instance:** `c4a-highmem-16` (12 vCPU / 65 GiB)
<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 optimize_mem_hash_join_arrow
--------------------
Benchmark tpcds_sf1.json
--------------------
โโโโโโโโโโโโโณโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโณโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโณโโโโโโโโโโโโโโโโ
โ Query โ HEAD โ optimize_mem_hash_join_arrow โ Change โ
โกโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฉ
โ QQuery 1 โ 6.80 / 7.29 ยฑ0.79 / 8.85 ms โ 6.70 / 7.15 ยฑ0.80 / 8.74 ms โ no change โ
โ QQuery 2 โ 148.23 / 148.87 ยฑ0.64 / 149.82 ms โ 153.75 / 155.80 ยฑ1.32 / 157.84 ms โ no change โ
โ QQuery 3 โ 114.90 / 115.87 ยฑ0.89 / 117.38 ms โ 113.84 / 114.26 ยฑ0.27 / 114.62 ms โ no change โ
โ QQuery 4 โ 1368.03 / 1401.66 ยฑ23.18 / 1423.01 ms โ 1417.81 / 1453.07 ยฑ24.10 / 1492.53 ms โ no change โ
โ QQuery 5 โ 172.60 / 174.16 ยฑ1.08 / 175.66 ms โ 172.03 / 174.39 ยฑ2.12 / 178.38 ms โ no change โ
โ QQuery 6 โ 1026.67 / 1041.88 ยฑ13.76 / 1067.71 ms โ 1041.99 / 1071.53 ยฑ28.96 / 1126.41 ms โ no change โ
โ QQuery 7 โ 353.12 / 356.11 ยฑ3.19 / 362.06 ms โ 353.84 / 358.14 ยฑ2.25 / 360.16 ms โ no change โ
โ QQuery 8 โ 115.91 / 116.99 ยฑ0.87 / 118.43 ms โ 116.06 / 116.59 ยฑ0.57 / 117.58 ms โ no change โ
โ QQuery 9 โ 102.26 / 110.28 ยฑ10.78 / 131.32 ms โ 101.69 / 106.15 ยฑ2.42 / 108.41 ms โ no change โ
โ QQuery 10 โ 109.14 / 110.54 ยฑ1.24 / 112.18 ms โ 108.32 / 109.48 ยฑ1.34 / 111.83 ms โ no change โ
โ QQuery 11 โ 966.39 / 981.43 ยฑ14.09 / 997.93 ms โ 1030.86 / 1046.42 ยฑ8.60 / 1054.83 ms โ 1.07x slower โ
โ QQuery 12 โ 46.62 / 48.05 ยฑ1.82 / 51.57 ms โ 44.06 / 46.12 ยฑ1.56 / 47.96 ms โ no change โ
โ QQuery 13 โ 406.36 / 411.49 ยฑ5.75 / 422.68 ms โ 401.32 / 405.07 ยฑ2.63 / 408.03 ms โ no change โ
โ QQuery 14 โ 1027.21 / 1035.12 ยฑ6.27 / 1041.97 ms โ 1054.50 / 1062.10 ยฑ7.05 / 1072.69 ms โ no change โ
โ QQuery 15 โ 17.11 / 17.74 ยฑ0.75 / 19.20 ms โ 16.01 / 17.03 ยฑ0.88 / 18.29 ms โ no change โ
โ QQuery 16 โ 7.35 / 8.42 ยฑ0.73 / 9.47 ms โ 7.31 / 8.02 ยฑ0.92 / 9.83 ms โ no change โ
โ QQuery 17 โ 242.20 / 244.06 ยฑ2.62 / 249.16 ms โ 241.21 / 243.51 ยฑ2.14 / 246.82 ms โ no change โ
โ QQuery 18 โ 130.27 / 131.13 ยฑ0.67 / 131.92 ms โ 128.48 / 131.02 ยฑ2.24 / 134.79 ms โ no change โ
โ QQuery 19 โ 155.91 / 157.78 ยฑ1.14 / 159.28 ms โ 154.90 / 156.39 ยฑ1.70 / 159.56 ms โ no change โ
โ QQuery 20 โ 14.74 / 15.15 ยฑ0.38 / 15.80 ms โ 13.78 / 14.21 ยฑ0.38 / 14.81 ms โ +1.07x faster โ
โ QQuery 21 โ 19.85 / 20.43 ยฑ0.37 / 20.99 ms โ 20.00 / 20.27 ยฑ0.29 / 20.82 ms โ no change โ
โ QQuery 22 โ 495.58 / 498.78 ยฑ3.60 / 504.58 ms โ 495.21 / 497.55 ยฑ2.16 / 500.81 ms โ no change โ
โ QQuery 23 โ 912.43 / 926.99 ยฑ9.94 / 938.01 ms โ 920.58 / 930.57 ยฑ11.42 / 949.20 ms โ no change โ
โ QQuery 24 โ 395.22 / 401.59 ยฑ3.86 / 405.07 ms โ 396.57 / 400.80 ยฑ2.87 / 404.74 ms โ no change โ
โ QQuery 25 โ 352.50 / 354.81 ยฑ1.90 / 357.98 ms โ 351.96 / 356.05 ยฑ2.62 / 358.60 ms โ no change โ
โ QQuery 26 โ 81.99 / 83.78 ยฑ0.94 / 84.68 ms โ 81.04 / 83.62 ยฑ1.52 / 85.34 ms โ no change โ
โ QQuery 27 โ 7.05 / 7.35 ยฑ0.28 / 7.85 ms โ 6.91 / 7.18 ยฑ0.24 / 7.54 ms โ no change โ
โ QQuery 28 โ 149.32 / 151.06 ยฑ1.31 / 153.38 ms โ 148.68 / 149.44 ยฑ0.66 / 150.52 ms โ no change โ
โ QQuery 29 โ 295.99 / 299.11 ยฑ3.40 / 305.58 ms โ 295.17 / 299.74 ยฑ3.84 / 306.53 ms โ no change โ
โ QQuery 30 โ 44.55 / 45.53 ยฑ0.72 / 46.29 ms โ 44.32 / 45.08 ยฑ0.42 / 45.58 ms โ no change โ
โ QQuery 31 โ 170.82 / 175.33 ยฑ3.56 / 181.74 ms โ 170.00 / 171.78 ยฑ1.50 / 173.57 ms โ no change โ
โ QQuery 32 โ 57.64 / 58.70 ยฑ1.04 / 60.65 ms โ 56.99 / 58.74 ยฑ1.38 / 60.34 ms โ no change โ
โ QQuery 33 โ 140.87 / 142.86 ยฑ1.49 / 145.01 ms โ 141.02 / 143.28 ยฑ2.23 / 146.77 ms โ no change โ
โ QQuery 34 โ 7.15 / 7.52 ยฑ0.26 / 7.89 ms โ 6.84 / 7.13 ยฑ0.30 / 7.67 ms โ +1.06x faster โ
โ QQuery 35 โ 107.10 / 109.72 ยฑ1.53 / 111.80 ms โ 110.76 / 111.64 ยฑ1.01 / 113.62 ms โ no change โ
โ QQuery 36 โ 6.70 / 6.90 ยฑ0.14 / 7.12 ms โ 6.78 / 7.19 ยฑ0.33 / 7.60 ms โ no change โ
โ QQuery 37 โ 8.29 / 8.76 ยฑ0.36 / 9.24 ms โ 8.45 / 8.71 ยฑ0.21 / 9.06 ms โ no change โ
โ QQuery 38 โ 85.85 / 89.29 ยฑ2.89 / 93.87 ms โ 87.23 / 93.30 ยฑ4.87 / 102.06 ms โ no change โ
โ QQuery 39 โ 129.69 / 130.42 ยฑ0.87 / 131.88 ms โ 124.85 / 129.50 ยฑ2.83 / 132.98 ms โ no change โ
โ QQuery 40 โ 111.75 / 121.17 ยฑ5.75 / 129.56 ms โ 109.79 / 118.15 ยฑ8.52 / 133.65 ms โ no change โ
โ QQuery 41 โ 14.97 / 15.72 ยฑ0.72 / 16.82 ms โ 15.50 / 16.11 ยฑ0.69 / 17.16 ms โ no change โ
โ QQuery 42 โ 109.44 / 110.43 ยฑ1.11 / 112.09 ms โ 107.53 / 109.21 ยฑ0.93 / 110.29 ms โ no change โ
โ QQuery 43 โ 6.03 / 6.28 ยฑ0.26 / 6.62 ms โ 6.05 / 6.32 ยฑ0.25 / 6.69 ms โ no change โ
โ QQuery 44 โ 11.51 / 11.95 ยฑ0.37 / 12.55 ms โ 11.65 / 12.12 ยฑ0.64 / 13.39 ms โ no change โ
โ QQuery 45 โ 53.87 / 54.97 ยฑ1.12 / 57.05 ms โ 51.03 / 53.84 ยฑ1.83 / 56.77 ms โ no change โ
โ QQuery 46 โ 8.58 / 8.91 ยฑ0.25 / 9.25 ms โ 8.37 / 8.66 ยฑ0.27 / 9.17 ms โ no change โ
โ QQuery 47 โ 739.79 / 742.96 ยฑ1.87 / 745.62 ms โ 755.61 / 760.60 ยฑ6.58 / 773.48 ms โ no change โ
โ QQuery 48 โ 288.95 / 294.73 ยฑ4.30 / 300.16 ms โ 286.25 / 288.66 ยฑ3.03 / 294.06 ms โ no change โ
โ QQuery 49 โ 260.04 / 262.11 ยฑ2.34 / 266.61 ms โ 256.21 / 257.29 ยฑ0.90 / 258.40 ms โ no change โ
โ QQuery 50 โ 230.05 / 235.12 ยฑ4.12 / 242.02 ms โ 230.68 / 239.55 ยฑ5.59 / 247.69 ms โ no change โ
โ QQuery 51 โ 183.92 / 187.51 ยฑ2.59 / 190.05 ms โ 183.90 / 187.06 ยฑ2.63 / 190.10 ms โ no change โ
โ QQuery 52 โ 108.27 / 109.87 ยฑ1.80 / 113.12 ms โ 106.90 / 108.97 ยฑ1.92 / 112.12 ms โ no change โ
โ QQuery 53 โ 103.54 / 103.99 ยฑ0.49 / 104.60 ms โ 102.01 / 102.75 ยฑ0.88 / 104.44 ms โ no change โ
โ QQuery 54 โ 146.23 / 148.74 ยฑ1.69 / 151.05 ms โ 145.48 / 147.64 ยฑ1.26 / 149.35 ms โ no change โ
โ QQuery 55 โ 107.85 / 109.84 ยฑ1.90 / 112.62 ms โ 105.69 / 106.83 ยฑ0.77 / 108.10 ms โ no change โ
โ QQuery 56 โ 140.99 / 142.79 ยฑ1.19 / 144.10 ms โ 140.99 / 142.51 ยฑ0.94 / 143.82 ms โ no change โ
โ QQuery 57 โ 175.93 / 178.14 ยฑ1.18 / 179.37 ms โ 181.49 / 184.30 ยฑ1.71 / 186.72 ms โ no change โ
โ QQuery 58 โ 296.37 / 307.55 ยฑ6.05 / 313.79 ms โ 295.60 / 300.42 ยฑ3.64 / 305.63 ms โ no change โ
โ QQuery 59 โ 201.79 / 204.00 ยฑ1.70 / 207.04 ms โ 208.90 / 211.69 ยฑ1.95 / 214.24 ms โ no change โ
โ QQuery 60 โ 145.51 / 148.06 ยฑ1.78 / 150.84 ms โ 142.60 / 143.92 ยฑ1.12 / 145.30 ms โ no change โ
โ QQuery 61 โ 13.07 / 13.33 ยฑ0.25 / 13.64 ms โ 12.90 / 13.22 ยฑ0.34 / 13.87 ms โ no change โ
โ QQuery 62 โ 910.34 / 938.11 ยฑ21.29 / 975.92 ms โ 941.36 / 974.98 ยฑ39.81 / 1051.74 ms โ no change โ
โ QQuery 63 โ 107.05 / 108.38 ยฑ1.78 / 111.85 ms โ 103.34 / 106.51 ยฑ3.45 / 113.12 ms โ no change โ
โ QQuery 64 โ 711.87 / 717.12 ยฑ4.84 / 725.32 ms โ 703.93 / 710.80 ยฑ5.52 / 719.17 ms โ no change โ
โ QQuery 65 โ 261.76 / 269.25 ยฑ3.80 / 271.70 ms โ 257.04 / 259.91 ยฑ1.76 / 261.70 ms โ no change โ
โ QQuery 66 โ 248.63 / 261.73 ยฑ11.29 / 277.02 ms โ 254.41 / 259.65 ยฑ4.79 / 267.74 ms โ no change โ
โ QQuery 67 โ 317.29 / 323.70 ยฑ5.53 / 333.28 ms โ 316.59 / 324.76 ยฑ6.89 / 335.95 ms โ no change โ
โ QQuery 68 โ 9.43 / 10.53 ยฑ1.00 / 12.09 ms โ 8.70 / 10.37 ยฑ1.24 / 11.68 ms โ no change โ
โ QQuery 69 โ 103.05 / 106.03 ยฑ2.94 / 110.30 ms โ 102.43 / 104.52 ยฑ1.29 / 106.35 ms โ no change โ
โ QQuery 70 โ 330.68 / 346.69 ยฑ13.87 / 370.16 ms โ 366.27 / 381.96 ยฑ8.27 / 389.47 ms โ 1.10x slower โ
โ QQuery 71 โ 134.10 / 135.86 ยฑ1.21 / 137.24 ms โ 131.97 / 136.28 ยฑ3.38 / 141.71 ms โ no change โ
โ QQuery 72 โ 710.70 / 729.10 ยฑ9.81 / 736.87 ms โ 713.48 / 725.84 ยฑ9.36 / 738.13 ms โ no change โ
โ QQuery 73 โ 7.14 / 7.69 ยฑ0.71 / 9.01 ms โ 6.82 / 8.73 ยฑ1.49 / 11.24 ms โ 1.14x slower โ
โ QQuery 74 โ 622.12 / 628.45 ยฑ4.98 / 634.91 ms โ 659.92 / 664.36 ยฑ3.17 / 669.25 ms โ 1.06x slower โ
โ QQuery 75 โ 279.04 / 282.44 ยฑ2.36 / 286.44 ms โ 278.68 / 280.93 ยฑ1.63 / 282.91 ms โ no change โ
โ QQuery 76 โ 135.21 / 137.06 ยฑ1.35 / 138.92 ms โ 132.30 / 134.02 ยฑ1.17 / 135.78 ms โ no change โ
โ QQuery 77 โ 190.11 / 192.35 ยฑ2.38 / 196.75 ms โ 186.18 / 188.80 ยฑ2.31 / 192.24 ms โ no change โ
โ QQuery 78 โ 353.88 / 359.13 ยฑ3.55 / 363.97 ms โ 353.59 / 359.86 ยฑ4.38 / 365.19 ms โ no change โ
โ QQuery 79 โ 237.91 / 239.26 ยฑ1.77 / 242.57 ms โ 233.11 / 239.06 ยฑ3.51 / 242.90 ms โ no change โ
โ QQuery 80 โ 327.97 / 331.37 ยฑ2.53 / 335.81 ms โ 328.07 / 331.81 ยฑ2.46 / 335.22 ms โ no change โ
โ QQuery 81 โ 26.92 / 27.87 ยฑ0.70 / 29.05 ms โ 26.95 / 27.99 ยฑ1.19 / 29.75 ms โ no change โ
โ QQuery 82 โ 200.74 / 203.83 ยฑ1.83 / 206.00 ms โ 196.36 / 199.55 ยฑ3.47 / 205.85 ms โ no change โ
โ QQuery 83 โ 39.80 / 41.77 ยฑ1.38 / 43.57 ms โ 39.76 / 41.60 ยฑ1.09 / 42.96 ms โ no change โ
โ QQuery 84 โ 48.78 / 50.46 ยฑ1.24 / 51.60 ms โ 48.47 / 49.33 ยฑ0.73 / 50.30 ms โ no change โ
โ QQuery 85 โ 149.56 / 151.04 ยฑ1.14 / 152.58 ms โ 148.17 / 152.05 ยฑ2.83 / 155.84 ms โ no change โ
โ QQuery 86 โ 38.72 / 39.95 ยฑ0.64 / 40.54 ms โ 40.13 / 40.77 ยฑ0.59 / 41.52 ms โ no change โ
โ QQuery 87 โ 87.37 / 90.95 ยฑ2.85 / 95.47 ms โ 89.17 / 93.98 ยฑ3.23 / 97.91 ms โ no change โ
โ QQuery 88 โ 100.85 / 102.10 ยฑ0.84 / 102.87 ms โ 101.27 / 102.85 ยฑ1.27 / 104.14 ms โ no change โ
โ QQuery 89 โ 120.68 / 121.31 ยฑ0.46 / 122.03 ms โ 120.23 / 120.98 ยฑ0.54 / 121.61 ms โ no change โ
โ QQuery 90 โ 24.18 / 24.72 ยฑ0.42 / 25.38 ms โ 23.79 / 24.21 ยฑ0.26 / 24.51 ms โ no change โ
โ QQuery 91 โ 64.44 / 65.32 ยฑ1.61 / 68.53 ms โ 63.94 / 65.43 ยฑ1.68 / 68.63 ms โ no change โ
โ QQuery 92 โ 58.66 / 59.60 ยฑ1.08 / 61.62 ms โ 56.93 / 57.90 ยฑ0.62 / 58.76 ms โ no change โ
โ QQuery 93 โ 194.56 / 197.34 ยฑ2.75 / 201.79 ms โ 193.29 / 196.95 ยฑ2.75 / 201.43 ms โ no change โ
โ QQuery 94 โ 61.79 / 62.28 ยฑ0.53 / 63.16 ms โ 61.01 / 61.75 ยฑ0.55 / 62.31 ms โ no change โ
โ QQuery 95 โ 135.36 / 137.38 ยฑ1.38 / 139.03 ms โ 135.55 / 137.17 ยฑ0.95 / 138.20 ms โ no change โ
โ QQuery 96 โ 74.97 / 75.42 ยฑ0.33 / 75.92 ms โ 73.84 / 75.87 ยฑ1.49 / 77.95 ms โ no change โ
โ QQuery 97 โ 131.89 / 134.54 ยฑ1.61 / 136.74 ms โ 135.04 / 136.84 ยฑ1.31 / 138.40 ms โ no change โ
โ QQuery 98 โ 155.55 / 158.07 ยฑ1.75 / 160.60 ms โ 154.26 / 156.77 ยฑ2.10 / 159.29 ms โ no change โ
โ QQuery 99 โ 10822.25 / 10857.02 ยฑ32.89 / 10909.18 ms โ 10854.74 / 10883.81 ยฑ24.91 / 10930.10 ms โ no change โ
โโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโณโโโโโโโโโโโโโ
โ Benchmark Summary โ โ
โกโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฉ
โ Total Time (HEAD) โ 32396.33ms โ
โ Total Time (optimize_mem_hash_join_arrow) โ 32666.83ms โ
โ Average Time (HEAD) โ 327.24ms โ
โ Average Time (optimize_mem_hash_join_arrow) โ 329.97ms โ
โ Queries Faster โ 2 โ
โ Queries Slower โ 4 โ
โ Queries with No Change โ 93 โ
โ Queries with Failure โ 0 โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโ
```
</p>
</details>
<details><summary>Resource Usage</summary>
**tpcds โ base (merge-base)**
| Metric | Value |
|--------|-------|
| Wall time | 162.3s |
| Peak memory | 5.2 GiB |
| Avg memory | 4.4 GiB |
| CPU user | 265.9s |
| CPU sys | 17.2s |
| Peak spill | 0 B |
**tpcds โ branch**
| Metric | Value |
|--------|-------|
| Wall time | 163.6s |
| Peak memory | 5.3 GiB |
| Avg memory | 4.5 GiB |
| CPU user | 269.8s |
| CPU sys | 16.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