You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@arrow.apache.org by "Dandandan (via GitHub)" <gi...@apache.org> on 2026/01/10 07:15:23 UTC
[PR] Avoid overallocating arrays in coalesce primitives / views [arrow-rs]
Dandandan opened a new pull request, #9132:
URL: https://github.com/apache/arrow-rs/pull/9132
# Which issue does this PR close?
- Closes #NNN.
# Rationale for this change
The code was calling `.reserve(batch_size)` which reserves space to at least `batch_size` additional elements (https://doc.rust-lang.org/std/vec/struct.Vec.html#method.reserve).
This fixes it to
# 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 call them out.
-->
--
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@arrow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] Avoid overallocating arrays in coalesce primitives / views [arrow-rs]
Posted by "Dandandan (via GitHub)" <gi...@apache.org>.
Dandandan commented on PR #9132:
URL: https://github.com/apache/arrow-rs/pull/9132#issuecomment-3732782225
Thanks, next up `push_batch_with_filter`!
--
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@arrow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] Avoid overallocating arrays in coalesce primitives / views [arrow-rs]
Posted by "Dandandan (via GitHub)" <gi...@apache.org>.
Dandandan commented on PR #9132:
URL: https://github.com/apache/arrow-rs/pull/9132#issuecomment-3732631349
run benchmark coalesce_kernels
--
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@arrow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] Avoid overallocating arrays in coalesce primitives / views [arrow-rs]
Posted by "Dandandan (via GitHub)" <gi...@apache.org>.
Dandandan merged PR #9132:
URL: https://github.com/apache/arrow-rs/pull/9132
--
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@arrow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] Avoid overallocating arrays in coalesce primitives / views [arrow-rs]
Posted by "Dandandan (via GitHub)" <gi...@apache.org>.
Dandandan commented on PR #9132:
URL: https://github.com/apache/arrow-rs/pull/9132#issuecomment-3732801274
show benchmark queue
--
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@arrow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] Avoid overallocating arrays in coalesce primitives / views [arrow-rs]
Posted by "alamb-ghbot (via GitHub)" <gi...@apache.org>.
alamb-ghbot commented on PR #9132:
URL: https://github.com/apache/arrow-rs/pull/9132#issuecomment-3732075546
🤖 `./gh_compare_arrow.sh` [gh_compare_arrow.sh](https://github.com/alamb/datafusion-benchmarking/blob/main/scripts/gh_compare_arrow.sh) Running
Linux aal-dev 6.14.0-1018-gcp #19~24.04.1-Ubuntu SMP Wed Sep 24 23:23:09 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
Comparing avoid_over_allocating (974232e46f20c77b791cbafcd2919917710d6aeb) to 96637fc8b928a94de53bbec3501337c0ecfbf936 [diff](https://github.com/apache/arrow-rs/compare/96637fc8b928a94de53bbec3501337c0ecfbf936..974232e46f20c77b791cbafcd2919917710d6aeb)
BENCH_NAME=coalesce_kernels
BENCH_COMMAND=cargo bench --features=arrow,async,test_common,experimental --bench coalesce_kernels
BENCH_FILTER=
BENCH_BRANCH_NAME=avoid_over_allocating
Results will be posted here when complete
--
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@arrow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] Avoid overallocating arrays in coalesce primitives / views [arrow-rs]
Posted by "alamb-ghbot (via GitHub)" <gi...@apache.org>.
alamb-ghbot commented on PR #9132:
URL: https://github.com/apache/arrow-rs/pull/9132#issuecomment-3733071982
🤖 Hi @Dandandan, you asked to view the benchmark queue (https://github.com/apache/arrow-rs/pull/9132#issuecomment-3733071928).
| Job | User | Benchmarks | Comment |
| --- | --- | --- | --- |
| `arrow-9080-3732579469.sh` | alamb | row_format | `https://github.com/apache/arrow-rs/pull/9080#issuecomment-3732579469` |
| `arrow-9078-3732580631.sh` | alamb | row_format | `https://github.com/apache/arrow-rs/pull/9078#issuecomment-3732580631` |
| `arrow-9132-3732631349.sh` | Dandandan | coalesce_kernels | `https://github.com/apache/arrow-rs/pull/9132#issuecomment-3732631349` |
| `arrow-9091-3732700110.sh` | alamb | json-reader | `https://github.com/apache/arrow-rs/pull/9091#issuecomment-3732700110` |
| `arrow-9086-3732582609.sh` | alamb | json-reader | `https://github.com/apache/arrow-rs/pull/9086#issuecomment-3732582609` |
| `19728_3732883138.sh` | Dandandan | default | `https://github.com/apache/datafusion/pull/19728#issuecomment-3732883138` |
| `19390_3732922549.sh` | geoffreyclaude | in_list | `https://github.com/apache/datafusion/pull/19390#issuecomment-3732922549` |
--
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@arrow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] Avoid overallocating arrays in coalesce primitives / views [arrow-rs]
Posted by "Dandandan (via GitHub)" <gi...@apache.org>.
Dandandan commented on PR #9132:
URL: https://github.com/apache/arrow-rs/pull/9132#issuecomment-3732162047
Small improvement (~8% on my machine) on low selectivity kernels (avoiding one reallocation).
--
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@arrow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] Avoid overallocating arrays in coalesce primitives / views [arrow-rs]
Posted by "Dandandan (via GitHub)" <gi...@apache.org>.
Dandandan commented on PR #9132:
URL: https://github.com/apache/arrow-rs/pull/9132#issuecomment-3732655475
Results on my machine in the PR description
--
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@arrow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] Avoid overallocating arrays in coalesce primitives / views [arrow-rs]
Posted by "Dandandan (via GitHub)" <gi...@apache.org>.
Dandandan commented on PR #9132:
URL: https://github.com/apache/arrow-rs/pull/9132#issuecomment-3733071928
show benchmark queue
--
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@arrow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] Avoid overallocating arrays in coalesce primitives / views [arrow-rs]
Posted by "alamb (via GitHub)" <gi...@apache.org>.
alamb commented on code in PR #9132:
URL: https://github.com/apache/arrow-rs/pull/9132#discussion_r2678596706
##########
arrow-select/src/coalesce/byte_view.rs:
##########
@@ -98,7 +98,9 @@ impl<B: ByteViewType> InProgressByteViewArray<B> {
/// This is done on write (when we know it is necessary) rather than
/// eagerly to avoid allocations that are not used.
fn ensure_capacity(&mut self) {
- self.views.reserve(self.batch_size);
+ if self.views.capacity() == 0 {
Review Comment:
I think it would be easier to understand the preconditions of this code if this also included a (debug) assert for existing capacuty
like
```rust
if self.views.capacity() == 0 {
self.views.reserve(self.batch_size)
}
debug_assert_eq!(self.views.capacity(), self.batch_size);
```
From just looking at this, I worry:
1. This could wipe out existing views (though w/ capacity zero that is likely impossible)
2. Could potentially discard an existing allocation that is not sufficiently sized
I don't think either of those is actually a problem today, but I can imagine them potentially being violated in the future (for example if we ever allowed coalesce to append more values than `batch_size)`
Another more future proof way might be simply
```rust
if self.views.capacty() < self.batch_size() {
self.views.reserve(self.batch_size - self.views.capacity())
}
```
--
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@arrow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] Avoid overallocating arrays in coalesce primitives / views [arrow-rs]
Posted by "alamb (via GitHub)" <gi...@apache.org>.
alamb commented on PR #9132:
URL: https://github.com/apache/arrow-rs/pull/9132#issuecomment-3733443928
looks like a nice set of improvements
--
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@arrow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] Avoid overallocating arrays in coalesce primitives / views [arrow-rs]
Posted by "alamb-ghbot (via GitHub)" <gi...@apache.org>.
alamb-ghbot commented on PR #9132:
URL: https://github.com/apache/arrow-rs/pull/9132#issuecomment-3732801327
🤖 Hi @Dandandan, you asked to view the benchmark queue (https://github.com/apache/arrow-rs/pull/9132#issuecomment-3732801274).
| Job | User | Benchmarks | Comment |
| --- | --- | --- | --- |
| `arrow-9121-3732535494.sh` | alamb | arrow_reader | `https://github.com/apache/arrow-rs/pull/9121#issuecomment-3732535494` |
| `arrow-9079-3732578277.sh` | alamb | row_format | `https://github.com/apache/arrow-rs/pull/9079#issuecomment-3732578277` |
| `arrow-9080-3732579469.sh` | alamb | row_format | `https://github.com/apache/arrow-rs/pull/9080#issuecomment-3732579469` |
| `arrow-9078-3732580631.sh` | alamb | row_format | `https://github.com/apache/arrow-rs/pull/9078#issuecomment-3732580631` |
| `arrow-9132-3732631349.sh` | Dandandan | coalesce_kernels | `https://github.com/apache/arrow-rs/pull/9132#issuecomment-3732631349` |
| `arrow-9091-3732700110.sh` | alamb | json-reader | `https://github.com/apache/arrow-rs/pull/9091#issuecomment-3732700110` |
| `arrow-9086-3732582609.sh` | alamb | json-reader | `https://github.com/apache/arrow-rs/pull/9086#issuecomment-3732582609` |
--
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@arrow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] Avoid overallocating arrays in coalesce primitives / views [arrow-rs]
Posted by "Dandandan (via GitHub)" <gi...@apache.org>.
Dandandan commented on PR #9132:
URL: https://github.com/apache/arrow-rs/pull/9132#issuecomment-3732075125
run benchmark coalesce_kernels
--
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@arrow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] Avoid overallocating arrays in coalesce primitives / views [arrow-rs]
Posted by "alamb (via GitHub)" <gi...@apache.org>.
alamb commented on PR #9132:
URL: https://github.com/apache/arrow-rs/pull/9132#issuecomment-3732763213
show benchmark queue
--
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@arrow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] Avoid overallocating arrays in coalesce primitives / views [arrow-rs]
Posted by "alamb-ghbot (via GitHub)" <gi...@apache.org>.
alamb-ghbot commented on PR #9132:
URL: https://github.com/apache/arrow-rs/pull/9132#issuecomment-3733233685
🤖: Benchmark completed
<details><summary>Details</summary>
<p>
```
group avoid_over_allocating main
----- --------------------- ----
filter: mixed_dict, 8192, nulls: 0, selectivity: 0.001 1.00 254.7±3.91ms ? ?/sec 1.00 255.7±4.99ms ? ?/sec
filter: mixed_dict, 8192, nulls: 0, selectivity: 0.01 1.00 8.5±0.12ms ? ?/sec 1.01 8.6±0.14ms ? ?/sec
filter: mixed_dict, 8192, nulls: 0, selectivity: 0.1 1.00 3.9±0.12ms ? ?/sec 1.05 4.1±0.20ms ? ?/sec
filter: mixed_dict, 8192, nulls: 0, selectivity: 0.8 1.00 3.4±0.09ms ? ?/sec 1.03 3.5±0.05ms ? ?/sec
filter: mixed_dict, 8192, nulls: 0.1, selectivity: 0.001 1.31 314.0±7.84ms ? ?/sec 1.00 239.9±3.88ms ? ?/sec
filter: mixed_dict, 8192, nulls: 0.1, selectivity: 0.01 1.00 9.2±0.22ms ? ?/sec 1.02 9.4±0.13ms ? ?/sec
filter: mixed_dict, 8192, nulls: 0.1, selectivity: 0.1 1.00 4.4±0.15ms ? ?/sec 1.02 4.5±0.05ms ? ?/sec
filter: mixed_dict, 8192, nulls: 0.1, selectivity: 0.8 1.00 4.5±0.03ms ? ?/sec 1.04 4.7±0.03ms ? ?/sec
filter: mixed_utf8, 8192, nulls: 0, selectivity: 0.001 1.00 57.9±2.05ms ? ?/sec 1.00 57.9±0.97ms ? ?/sec
filter: mixed_utf8, 8192, nulls: 0, selectivity: 0.01 1.01 11.3±0.20ms ? ?/sec 1.00 11.2±0.15ms ? ?/sec
filter: mixed_utf8, 8192, nulls: 0, selectivity: 0.1 1.00 9.1±0.36ms ? ?/sec 1.08 9.9±0.28ms ? ?/sec
filter: mixed_utf8, 8192, nulls: 0, selectivity: 0.8 1.21 9.9±0.40ms ? ?/sec 1.00 8.2±0.56ms ? ?/sec
filter: mixed_utf8, 8192, nulls: 0.1, selectivity: 0.001 1.00 67.8±0.78ms ? ?/sec 1.01 68.5±1.33ms ? ?/sec
filter: mixed_utf8, 8192, nulls: 0.1, selectivity: 0.01 1.00 12.4±0.26ms ? ?/sec 1.01 12.6±0.16ms ? ?/sec
filter: mixed_utf8, 8192, nulls: 0.1, selectivity: 0.1 1.00 9.5±0.40ms ? ?/sec 1.02 9.7±0.28ms ? ?/sec
filter: mixed_utf8, 8192, nulls: 0.1, selectivity: 0.8 1.00 9.6±0.39ms ? ?/sec 1.03 9.9±0.51ms ? ?/sec
filter: mixed_utf8view (max_string_len=128), 8192, nulls: 0, selectivity: 0.001 1.00 46.9±0.40ms ? ?/sec 1.02 47.9±0.59ms ? ?/sec
filter: mixed_utf8view (max_string_len=128), 8192, nulls: 0, selectivity: 0.01 1.00 5.6±0.09ms ? ?/sec 1.05 5.9±0.05ms ? ?/sec
filter: mixed_utf8view (max_string_len=128), 8192, nulls: 0, selectivity: 0.1 1.00 4.3±0.16ms ? ?/sec 1.06 4.5±0.26ms ? ?/sec
filter: mixed_utf8view (max_string_len=128), 8192, nulls: 0, selectivity: 0.8 1.00 2.8±0.06ms ? ?/sec 1.12 3.1±0.06ms ? ?/sec
filter: mixed_utf8view (max_string_len=128), 8192, nulls: 0.1, selectivity: 0.001 1.00 56.4±0.62ms ? ?/sec 1.03 58.4±0.44ms ? ?/sec
filter: mixed_utf8view (max_string_len=128), 8192, nulls: 0.1, selectivity: 0.01 1.00 7.8±0.11ms ? ?/sec 1.04 8.1±0.08ms ? ?/sec
filter: mixed_utf8view (max_string_len=128), 8192, nulls: 0.1, selectivity: 0.1 1.00 5.4±0.24ms ? ?/sec 1.00 5.4±0.21ms ? ?/sec
filter: mixed_utf8view (max_string_len=128), 8192, nulls: 0.1, selectivity: 0.8 1.00 3.8±0.07ms ? ?/sec 1.05 3.9±0.04ms ? ?/sec
filter: mixed_utf8view (max_string_len=20), 8192, nulls: 0, selectivity: 0.001 1.00 40.9±0.44ms ? ?/sec 1.03 42.0±0.50ms ? ?/sec
filter: mixed_utf8view (max_string_len=20), 8192, nulls: 0, selectivity: 0.01 1.00 4.4±0.02ms ? ?/sec 1.04 4.6±0.10ms ? ?/sec
filter: mixed_utf8view (max_string_len=20), 8192, nulls: 0, selectivity: 0.1 1.00 2.2±0.14ms ? ?/sec 1.14 2.5±0.22ms ? ?/sec
filter: mixed_utf8view (max_string_len=20), 8192, nulls: 0, selectivity: 0.8 1.00 1325.4±9.09µs ? ?/sec 1.17 1544.3±18.08µs ? ?/sec
filter: mixed_utf8view (max_string_len=20), 8192, nulls: 0.1, selectivity: 0.001 1.00 50.4±0.21ms ? ?/sec 1.03 51.7±0.50ms ? ?/sec
filter: mixed_utf8view (max_string_len=20), 8192, nulls: 0.1, selectivity: 0.01 1.00 6.9±0.14ms ? ?/sec 1.01 7.0±0.05ms ? ?/sec
filter: mixed_utf8view (max_string_len=20), 8192, nulls: 0.1, selectivity: 0.1 1.00 3.4±0.12ms ? ?/sec 1.05 3.6±0.05ms ? ?/sec
filter: mixed_utf8view (max_string_len=20), 8192, nulls: 0.1, selectivity: 0.8 1.00 3.8±0.03ms ? ?/sec 1.06 4.0±0.03ms ? ?/sec
filter: primitive, 8192, nulls: 0, selectivity: 0.001 1.00 94.6±0.73ms ? ?/sec 1.02 96.2±2.38ms ? ?/sec
filter: primitive, 8192, nulls: 0, selectivity: 0.01 1.00 8.9±0.37ms ? ?/sec 1.02 9.1±0.13ms ? ?/sec
filter: primitive, 8192, nulls: 0, selectivity: 0.1 1.00 3.6±0.35ms ? ?/sec 1.03 3.7±0.09ms ? ?/sec
filter: primitive, 8192, nulls: 0, selectivity: 0.8 1.00 2.8±0.03ms ? ?/sec 1.10 3.1±0.03ms ? ?/sec
filter: primitive, 8192, nulls: 0.1, selectivity: 0.001 1.00 123.1±2.66ms ? ?/sec 1.01 124.5±2.24ms ? ?/sec
filter: primitive, 8192, nulls: 0.1, selectivity: 0.01 1.00 14.5±0.22ms ? ?/sec 1.01 14.7±0.33ms ? ?/sec
filter: primitive, 8192, nulls: 0.1, selectivity: 0.1 1.00 6.5±0.18ms ? ?/sec 1.10 7.1±0.39ms ? ?/sec
filter: primitive, 8192, nulls: 0.1, selectivity: 0.8 1.00 8.8±0.04ms ? ?/sec 1.04 9.2±0.14ms ? ?/sec
filter: single_utf8view, 8192, nulls: 0, selectivity: 0.001 1.00 64.1±0.85ms ? ?/sec 1.01 64.7±0.67ms ? ?/sec
filter: single_utf8view, 8192, nulls: 0, selectivity: 0.01 1.03 7.5±0.25ms ? ?/sec 1.00 7.3±0.04ms ? ?/sec
filter: single_utf8view, 8192, nulls: 0, selectivity: 0.1 1.00 4.0±0.38ms ? ?/sec 1.01 4.0±0.25ms ? ?/sec
filter: single_utf8view, 8192, nulls: 0, selectivity: 0.8 1.00 1378.2±7.55µs ? ?/sec 1.00 1378.2±8.63µs ? ?/sec
filter: single_utf8view, 8192, nulls: 0.1, selectivity: 0.001 1.00 81.9±0.97ms ? ?/sec 1.01 82.7±0.82ms ? ?/sec
filter: single_utf8view, 8192, nulls: 0.1, selectivity: 0.01 1.01 11.0±0.16ms ? ?/sec 1.00 10.9±0.14ms ? ?/sec
filter: single_utf8view, 8192, nulls: 0.1, selectivity: 0.1 1.02 5.3±0.32ms ? ?/sec 1.00 5.2±0.14ms ? ?/sec
filter: single_utf8view, 8192, nulls: 0.1, selectivity: 0.8 1.00 3.8±0.02ms ? ?/sec 1.04 3.9±0.02ms ? ?/sec
```
</p>
</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@arrow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] Avoid overallocating arrays in coalesce primitives / views [arrow-rs]
Posted by "Dandandan (via GitHub)" <gi...@apache.org>.
Dandandan commented on code in PR #9132:
URL: https://github.com/apache/arrow-rs/pull/9132#discussion_r2678628162
##########
arrow-select/src/coalesce/byte_view.rs:
##########
@@ -98,7 +98,9 @@ impl<B: ByteViewType> InProgressByteViewArray<B> {
/// This is done on write (when we know it is necessary) rather than
/// eagerly to avoid allocations that are not used.
fn ensure_capacity(&mut self) {
- self.views.reserve(self.batch_size);
+ if self.views.capacity() == 0 {
Review Comment:
Done
--
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@arrow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] Avoid overallocating arrays in coalesce primitives / views [arrow-rs]
Posted by "alamb-ghbot (via GitHub)" <gi...@apache.org>.
alamb-ghbot commented on PR #9132:
URL: https://github.com/apache/arrow-rs/pull/9132#issuecomment-3733214810
🤖 `./gh_compare_arrow.sh` [gh_compare_arrow.sh](https://github.com/alamb/datafusion-benchmarking/blob/main/scripts/gh_compare_arrow.sh) Running
Linux aal-dev 6.14.0-1018-gcp #19~24.04.1-Ubuntu SMP Wed Sep 24 23:23:09 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
Comparing avoid_over_allocating (36149ffffaf39cbe712e06916f6eeffbe629ab8c) to 96637fc8b928a94de53bbec3501337c0ecfbf936 [diff](https://github.com/apache/arrow-rs/compare/96637fc8b928a94de53bbec3501337c0ecfbf936..36149ffffaf39cbe712e06916f6eeffbe629ab8c)
BENCH_NAME=coalesce_kernels
BENCH_COMMAND=cargo bench --features=arrow,async,test_common,experimental --bench coalesce_kernels
BENCH_FILTER=
BENCH_BRANCH_NAME=avoid_over_allocating
Results will be posted here when complete
--
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@arrow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] Avoid overallocating arrays in coalesce primitives / views [arrow-rs]
Posted by "alamb-ghbot (via GitHub)" <gi...@apache.org>.
alamb-ghbot commented on PR #9132:
URL: https://github.com/apache/arrow-rs/pull/9132#issuecomment-3732113461
🤖: Benchmark completed
<details><summary>Details</summary>
<p>
```
group avoid_over_allocating main
----- --------------------- ----
filter: mixed_dict, 8192, nulls: 0, selectivity: 0.001 1.00 255.1±5.13ms ? ?/sec 1.00 255.1±4.95ms ? ?/sec
filter: mixed_dict, 8192, nulls: 0, selectivity: 0.01 1.00 8.5±0.14ms ? ?/sec 1.00 8.5±0.08ms ? ?/sec
filter: mixed_dict, 8192, nulls: 0, selectivity: 0.1 1.00 3.9±0.11ms ? ?/sec 1.04 4.1±0.16ms ? ?/sec
filter: mixed_dict, 8192, nulls: 0, selectivity: 0.8 1.00 3.4±0.04ms ? ?/sec 1.03 3.5±0.03ms ? ?/sec
filter: mixed_dict, 8192, nulls: 0.1, selectivity: 0.001 1.28 309.6±6.07ms ? ?/sec 1.00 241.0±4.45ms ? ?/sec
filter: mixed_dict, 8192, nulls: 0.1, selectivity: 0.01 1.00 9.1±0.14ms ? ?/sec 1.02 9.4±0.13ms ? ?/sec
filter: mixed_dict, 8192, nulls: 0.1, selectivity: 0.1 1.00 4.4±0.11ms ? ?/sec 1.04 4.6±0.14ms ? ?/sec
filter: mixed_dict, 8192, nulls: 0.1, selectivity: 0.8 1.00 4.6±0.08ms ? ?/sec 1.03 4.7±0.14ms ? ?/sec
filter: mixed_utf8, 8192, nulls: 0, selectivity: 0.001 1.00 57.4±0.45ms ? ?/sec 1.02 58.6±0.51ms ? ?/sec
filter: mixed_utf8, 8192, nulls: 0, selectivity: 0.01 1.00 11.3±0.17ms ? ?/sec 1.02 11.5±0.18ms ? ?/sec
filter: mixed_utf8, 8192, nulls: 0, selectivity: 0.1 1.00 9.3±0.29ms ? ?/sec 1.00 9.3±0.38ms ? ?/sec
filter: mixed_utf8, 8192, nulls: 0, selectivity: 0.8 1.23 9.9±0.21ms ? ?/sec 1.00 8.0±0.23ms ? ?/sec
filter: mixed_utf8, 8192, nulls: 0.1, selectivity: 0.001 1.00 67.6±1.70ms ? ?/sec 1.02 69.3±0.57ms ? ?/sec
filter: mixed_utf8, 8192, nulls: 0.1, selectivity: 0.01 1.00 12.4±0.24ms ? ?/sec 1.01 12.5±0.11ms ? ?/sec
filter: mixed_utf8, 8192, nulls: 0.1, selectivity: 0.1 1.01 9.9±0.32ms ? ?/sec 1.00 9.8±0.31ms ? ?/sec
filter: mixed_utf8, 8192, nulls: 0.1, selectivity: 0.8 1.00 9.5±0.25ms ? ?/sec 1.02 9.7±0.23ms ? ?/sec
filter: mixed_utf8view (max_string_len=128), 8192, nulls: 0, selectivity: 0.001 1.00 47.2±0.35ms ? ?/sec 1.02 48.0±0.42ms ? ?/sec
filter: mixed_utf8view (max_string_len=128), 8192, nulls: 0, selectivity: 0.01 1.00 5.7±0.04ms ? ?/sec 1.04 5.9±0.15ms ? ?/sec
filter: mixed_utf8view (max_string_len=128), 8192, nulls: 0, selectivity: 0.1 1.00 4.3±0.16ms ? ?/sec 1.05 4.6±0.20ms ? ?/sec
filter: mixed_utf8view (max_string_len=128), 8192, nulls: 0, selectivity: 0.8 1.00 2.8±0.07ms ? ?/sec 1.12 3.1±0.04ms ? ?/sec
filter: mixed_utf8view (max_string_len=128), 8192, nulls: 0.1, selectivity: 0.001 1.00 57.6±1.23ms ? ?/sec 1.01 58.4±0.88ms ? ?/sec
filter: mixed_utf8view (max_string_len=128), 8192, nulls: 0.1, selectivity: 0.01 1.00 7.8±0.08ms ? ?/sec 1.03 8.0±0.08ms ? ?/sec
filter: mixed_utf8view (max_string_len=128), 8192, nulls: 0.1, selectivity: 0.1 1.01 5.6±0.18ms ? ?/sec 1.00 5.5±0.09ms ? ?/sec
filter: mixed_utf8view (max_string_len=128), 8192, nulls: 0.1, selectivity: 0.8 1.00 3.8±0.07ms ? ?/sec 1.04 4.0±0.05ms ? ?/sec
filter: mixed_utf8view (max_string_len=20), 8192, nulls: 0, selectivity: 0.001 1.00 41.0±0.30ms ? ?/sec 1.01 41.6±0.40ms ? ?/sec
filter: mixed_utf8view (max_string_len=20), 8192, nulls: 0, selectivity: 0.01 1.00 4.4±0.02ms ? ?/sec 1.05 4.6±0.21ms ? ?/sec
filter: mixed_utf8view (max_string_len=20), 8192, nulls: 0, selectivity: 0.1 1.00 2.3±0.20ms ? ?/sec 1.08 2.5±0.21ms ? ?/sec
filter: mixed_utf8view (max_string_len=20), 8192, nulls: 0, selectivity: 0.8 1.00 1344.5±22.48µs ? ?/sec 1.13 1520.9±23.11µs ? ?/sec
filter: mixed_utf8view (max_string_len=20), 8192, nulls: 0.1, selectivity: 0.001 1.00 50.5±0.23ms ? ?/sec 1.02 51.4±1.10ms ? ?/sec
filter: mixed_utf8view (max_string_len=20), 8192, nulls: 0.1, selectivity: 0.01 1.00 6.8±0.04ms ? ?/sec 1.01 6.9±0.10ms ? ?/sec
filter: mixed_utf8view (max_string_len=20), 8192, nulls: 0.1, selectivity: 0.1 1.00 3.4±0.22ms ? ?/sec 1.11 3.8±0.22ms ? ?/sec
filter: mixed_utf8view (max_string_len=20), 8192, nulls: 0.1, selectivity: 0.8 1.00 3.8±0.02ms ? ?/sec 1.06 4.0±0.03ms ? ?/sec
filter: primitive, 8192, nulls: 0, selectivity: 0.001 1.00 94.4±1.58ms ? ?/sec 1.01 95.6±1.98ms ? ?/sec
filter: primitive, 8192, nulls: 0, selectivity: 0.01 1.00 8.8±0.08ms ? ?/sec 1.03 9.1±0.04ms ? ?/sec
filter: primitive, 8192, nulls: 0, selectivity: 0.1 1.00 3.4±0.26ms ? ?/sec 1.09 3.8±0.06ms ? ?/sec
filter: primitive, 8192, nulls: 0, selectivity: 0.8 1.00 2.8±0.02ms ? ?/sec 1.10 3.1±0.03ms ? ?/sec
filter: primitive, 8192, nulls: 0.1, selectivity: 0.001 1.00 122.3±2.16ms ? ?/sec 1.02 124.4±0.76ms ? ?/sec
filter: primitive, 8192, nulls: 0.1, selectivity: 0.01 1.00 14.5±0.10ms ? ?/sec 1.02 14.8±0.22ms ? ?/sec
filter: primitive, 8192, nulls: 0.1, selectivity: 0.1 1.00 6.7±0.39ms ? ?/sec 1.06 7.1±0.43ms ? ?/sec
filter: primitive, 8192, nulls: 0.1, selectivity: 0.8 1.00 9.0±0.33ms ? ?/sec 1.04 9.4±0.07ms ? ?/sec
filter: single_utf8view, 8192, nulls: 0, selectivity: 0.001 1.00 64.8±1.60ms ? ?/sec 1.00 64.5±0.73ms ? ?/sec
filter: single_utf8view, 8192, nulls: 0, selectivity: 0.01 1.01 7.4±0.08ms ? ?/sec 1.00 7.3±0.16ms ? ?/sec
filter: single_utf8view, 8192, nulls: 0, selectivity: 0.1 1.00 4.0±0.40ms ? ?/sec 1.03 4.2±0.23ms ? ?/sec
filter: single_utf8view, 8192, nulls: 0, selectivity: 0.8 1.00 1383.6±25.90µs ? ?/sec 1.12 1553.5±100.89µs ? ?/sec
filter: single_utf8view, 8192, nulls: 0.1, selectivity: 0.001 1.00 82.0±1.26ms ? ?/sec 1.01 82.5±2.08ms ? ?/sec
filter: single_utf8view, 8192, nulls: 0.1, selectivity: 0.01 1.00 10.8±0.23ms ? ?/sec 1.07 11.5±0.23ms ? ?/sec
filter: single_utf8view, 8192, nulls: 0.1, selectivity: 0.1 1.00 5.1±0.15ms ? ?/sec 1.03 5.2±0.15ms ? ?/sec
filter: single_utf8view, 8192, nulls: 0.1, selectivity: 0.8 1.00 3.9±0.03ms ? ?/sec 1.04 4.1±0.03ms ? ?/sec
```
</p>
</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@arrow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] Avoid overallocating arrays in coalesce primitives / views [arrow-rs]
Posted by "alamb-ghbot (via GitHub)" <gi...@apache.org>.
alamb-ghbot commented on PR #9132:
URL: https://github.com/apache/arrow-rs/pull/9132#issuecomment-3732763378
🤖 Hi @alamb, you asked to view the benchmark queue (https://github.com/apache/arrow-rs/pull/9132#issuecomment-3732763213).
| Job | User | Benchmarks | Comment |
| --- | --- | --- | --- |
| `arrow-9121-3732535494.sh` | alamb | arrow_reader | `https://github.com/apache/arrow-rs/pull/9121#issuecomment-3732535494` |
| `arrow-9079-3732578277.sh` | alamb | row_format | `https://github.com/apache/arrow-rs/pull/9079#issuecomment-3732578277` |
| `arrow-9080-3732579469.sh` | alamb | row_format | `https://github.com/apache/arrow-rs/pull/9080#issuecomment-3732579469` |
| `arrow-9078-3732580631.sh` | alamb | row_format | `https://github.com/apache/arrow-rs/pull/9078#issuecomment-3732580631` |
| `arrow-9132-3732631349.sh` | Dandandan | coalesce_kernels | `https://github.com/apache/arrow-rs/pull/9132#issuecomment-3732631349` |
| `arrow-9091-3732700110.sh` | alamb | json-reader | `https://github.com/apache/arrow-rs/pull/9091#issuecomment-3732700110` |
| `arrow-9086-3732582609.sh` | alamb | json-reader | `https://github.com/apache/arrow-rs/pull/9086#issuecomment-3732582609` |
--
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@arrow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org