Use bitmask for MaskedArray mask #59410
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Not 100% working yet but wanted to open for discussion to see if it is worth trying to finish. This replaces our current bytemask with a custom bitmask, but does so in a separately library. The advantage of the separate library is that the CI setup can be customized a bit further, with ASAN/gtest tooling that would be hard or awkward to set up in pandas. The disadvantage is that the separate library has a sole purpose of fitting the needs of pandas, as a lot of the logic built for it tries to merge NumPy indexing with memory backed by nanoarrow; I don't see that being a wide use case
@jbrockmendel @jorisvandenbossche @phofl in case of interest