You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add specialized coalesce path for PrimitiveArrays (#7772)
# Which issue does this PR close?
- Closes#7763
# Rationale for this change
I want the `coalesce` operation to be as fast as possible
# What changes are included in this PR?
Add specialied `InProgressPrimitiveArray` that avoids keeping a second
copy of the primitive arrays that are concat'ed together
I don't expect this will make a huge performance difference -- but it is
needed to implement #7762 which
I do expect to make a difference
Update: it turns out this seems to improve performance quite a bit (25%)
for highly selective kernels. I speculare this is due to not having to
keep around many small allocations to hold intermediate `ArrayRef`s
# Are these changes tested?
There are already existing tests for u32s which cover this code path. I
also added a test for StringArray which ensures the generic in progress
array is still covered.
I also checked coverage using
```shell
cargo llvm-cov --html -p arrow-select -p arrow-data
```
# Are there any user-facing changes?
No, this is an internal optimization only
0 commit comments