-
-
Notifications
You must be signed in to change notification settings - Fork 18.5k
Bitmask Backed MaskedArray #54506
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
Closed
Bitmask Backed MaskedArray #54506
Changes from 7 commits
Commits
Show all changes
142 commits
Select commit
Hold shift + click to select a range
1832617
initial build
WillAyd b69c00f
removed cpplint
WillAyd 64b0f01
checkpoint
WillAyd e5238d9
Passing test suite
WillAyd b63b671
revert modifications to nanoarrow
WillAyd fe31993
force vendor
WillAyd a39581b
more to_numpy adds
WillAyd cb1b274
Revert "more to_numpy adds"
WillAyd dabe1b6
implement __or__
WillAyd 28f7ab1
checkpoint
WillAyd 43f3cbc
more cleanups
WillAyd 902cef9
groupby support
WillAyd 4d4ebfe
prep for 2d
WillAyd 2898bb1
support 2D
WillAyd 108a86c
fix numeric
WillAyd 8decf2a
temp pass for CI
WillAyd 3da7aa2
fixed negative indexing
WillAyd 11467c7
fixed copying
WillAyd d91fb8e
Working
WillAyd 757605c
cleanups
WillAyd 6fbbad8
fix
WillAyd b9723ab
cleanups and some performance boosts
WillAyd 3f60cd0
perf boost
WillAyd 3b8921a
perf boost
WillAyd 999e743
more performance
WillAyd 2b764ce
better perf
WillAyd 74548e8
code and typing cleanups
WillAyd 8496e03
Merge remote-tracking branch 'upstream/main' into bitmask-backed
WillAyd dce8002
refactor and lower level invert/or implementation
WillAyd e641fed
Mass append nanoarrow for buffer performance
WillAyd 109dd57
delete duplicative struct members
WillAyd 35f3b9c
fix pickling
WillAyd 25e3c51
nanoarrow typo fixups
WillAyd 82e082e
vectorized to_numpy()
WillAyd c140af4
sum impl
WillAyd 86ce656
any impl
WillAyd 03b1661
updated cython typing
WillAyd e9d4da4
remove bad __or__ impl
WillAyd 1993e96
fix __or__
WillAyd 5b5faa3
Merge remote-tracking branch 'upstream/main' into bitmask-backed
WillAyd 10ce5ca
removed faulty inversion
WillAyd e8b7819
more performant bit unpacking
WillAyd 9fdb652
try non-shift nanoarrow packing
WillAyd 17059cb
Remove to_numpy + copy chains
WillAyd c5a3584
higher performance dunders
WillAyd 28b589f
updated typing
WillAyd e3618fb
consolidated to_numpy()
WillAyd 4c82771
fixups
WillAyd 633935d
deferred to_numpy() calls in boolean
WillAyd 6ed2c55
test fix
WillAyd d8e715d
take and copy implementations
WillAyd 37ccec3
small optimization
WillAyd 5436b04
simplified buf passing and fixed bugs
WillAyd b4aa12d
setitem fastpaths
WillAyd 8c5cd15
cython < 3 compat
WillAyd e904e18
Revert "simplified buf passing and fixed bugs"
WillAyd c218e51
implemented all
WillAyd 9cf54f9
faster any
WillAyd 4f6d035
faster all implementation
WillAyd dca1c65
faster reshape
WillAyd 946c892
Faster is_null_slice implementation
WillAyd 6c2d590
Merge remote-tracking branch 'upstream/main' into bitmask-backed
WillAyd 1eb0e01
revert troublesome __getitem__ enhancements
WillAyd 07594d6
typo fixup
WillAyd d30b613
finish revert
WillAyd 34ac613
reshape fast path
WillAyd 44aae25
fix is_null_slice
WillAyd 8b72d09
fix indexer perf boost
WillAyd 45d1cf0
less to_numpy()
WillAyd 68b7191
make bitmaskarray iterable
WillAyd 685f481
typing cleanups
WillAyd 82826e9
boolean fixes
WillAyd 78e4245
perf in take
WillAyd 5f26ff1
Merge branch 'main' into bitmask-backed
WillAyd 69c51c2
fixed typing
WillAyd 404268f
rework pickling
WillAyd 28dd82d
fixed attribute lookup
WillAyd f0bc4a2
More efficient invert
WillAyd b6ae9bb
doc fix
WillAyd e1825ae
Have invert return BitMaskArray
WillAyd 5211e2e
Implemented Bitmask Concatenate
WillAyd cfa3b93
bitmask_any moved to algorithms
WillAyd 6df2930
more algorithms
WillAyd 06f3b01
C-implemented take / putmask
WillAyd 9a61874
clean up calling conventions
WillAyd cd27943
fix off by one
WillAyd dc54ca0
make mypy happy
WillAyd 3794ec5
fix bug moving cursor when crossing byte boundary
WillAyd 274a7b5
pedantic cleanups
WillAyd 4b06038
off by one fix
WillAyd 6265784
Revert "fix bug moving cursor when crossing byte boundary"
WillAyd cea82a5
concatenate bug fix
WillAyd 0d529e8
fixed bounds issues
WillAyd e80e709
Revert "fixed bounds issues"
WillAyd 8689c99
faster impl
WillAyd 4ed1875
move condition out of loop
WillAyd 24c3814
memory benchmark
WillAyd 5ad8964
use c standard malloc/free
WillAyd 96200e3
Merge remote-tracking branch 'upstream/main' into bitmask-backed
WillAyd b64ba05
added repr for bitmaskarray
WillAyd a51dfe9
more tests and better repr
WillAyd 34d4ffc
BitMask -> bitmask
WillAyd 0d78ac3
fix error type
WillAyd d40a1d8
less to_numpy
WillAyd e81dcc1
Merge remote-tracking branch 'upstream/main' into bitmask-backed
WillAyd 35da3f6
licenses
WillAyd 5b7d0c2
typing fixes
WillAyd fa6f6cc
Merge branch 'main' into bitmask-backed
WillAyd e08a647
buffer protocol implementation for BitmaskArray
WillAyd e987daf
Merge remote-tracking branch 'upstream/main' into bitmask-backed
WillAyd a0d538a
fixups
WillAyd 9a97677
getitem fastpath for slice
WillAyd 96f080d
mypy fix
WillAyd e35b769
fix OOB memcpy
WillAyd 8149e03
fix slicing issue with memview
WillAyd 202de07
fixups
WillAyd 73f438c
fixed memory issues with getitem fastpath
WillAyd e09743f
fix copy
WillAyd ddcdc94
Merge remote-tracking branch 'upstream/main' into bitmask-backed
WillAyd 3303be7
win/32bit support
WillAyd 29873e4
NumPy compat
WillAyd 173b4cb
test restructure
WillAyd a1278a9
more performance
WillAyd bc772c3
bugfix with all refactor
WillAyd 1c637a1
less to_numpy()
WillAyd 3dfe668
Error message cleanups
WillAyd 5e9f08c
re-enable cpplint
WillAyd 97da641
updated pre-commit
WillAyd a3dca8a
Fix typing issues
WillAyd 1f77d9a
more cleanups
WillAyd 22148de
Merge remote-tracking branch 'upstream/main' into bitmask-backed
WillAyd afef21e
Merge remote-tracking branch 'upstream/main' into bitmask-backed
WillAyd d1bd251
Merge branch 'main' into bitmask-backed
WillAyd 7b4810d
Merge branch 'main' into bitmask-backed
WillAyd 6a56ec1
remove cast
WillAyd 23fb76d
less diff
WillAyd 3eeaa12
Merge remote-tracking branch 'upstream/main' into bitmask-backed
WillAyd dfd2b57
Merge remote-tracking branch 'upstream/main' into bitmask-backed
WillAyd 3fb26ec
reverted cythonized is_null_slice
WillAyd 541de2e
remove xfail of test
WillAyd 34bc194
change assert to ignore
WillAyd c6abf22
Merge remote-tracking branch 'upstream/main' into bitmask-backed
WillAyd File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nanoarrow and cpplint have a ton of conflicts. generally not sure how useful cpplint is for us so just removed check
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should fix this in nanoarrow! It's true that cpplint does poorly for C; however, lots of projects use it and will run into this problem.