felipecrv opened a new pull request, #40416:
URL: https://github.com/apache/arrow/pull/40416
### Rationale for this change
This can help fixing #39798 and #39566, but is also improving the
performance of `Take` and `Filter` (specially in the no-nulls case).
### What changes are included in this PR?
- Addition of `OptionalValidity<>` — a template class that allows tracking
the presence of the validity bitmap at the type level
- Introduce the Gather class helper which uses `OptionalValidity<>` to
unlock type-safe optimization
- Specialized `Take` implementation for values/indices without nulls
- Unify the boolean and numeric implementations of `Take` in terms of the
`Gather` template
- Skip validity bitmap allocation when inputs (values and indices) have no
nulls
### Are these changes tested?
- Existing tests
- New test assertions that check that `Take` guarantees null values are
zeroed 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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]