-
Notifications
You must be signed in to change notification settings - Fork 130
Feature: add take compute for slices
#5537
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
Conversation
f431272 to
e6b9f2d
Compare
CodSpeed Performance ReportMerging #5537 will improve performances by 17.18%Comparing Summary
Benchmarks breakdown
Footnotes
|
Codecov Report❌ Patch coverage is ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
e6b9f2d to
0a31d88
Compare
e228da9 to
3bc2fdc
Compare
|
Are we going to handle nullability or is that handled a level up? |
|
@a10y yeah I think that it doesnt really make sense to handle nullable indices for a plain buffer, once we add take on things like vectors then we can take a primitive array or pvector as indices |
3bc2fdc to
f3ac42e
Compare
|
Can we name this PR appropriately? |
|
@joseph-isaacs why is it not named appropriately? Do you mean it should be named a migration instead? |
f3ac42e to
3e430bf
Compare
|
ok I'm just going to port it over now to make things cleaner cc @a10y since I believe you were the one who implemented the AVX2 impl? Everything is identical except that I pulled out the validity (which was just getting passed in so that it could construct a |
fc55e05 to
e7e0ef2
Compare
Signed-off-by: Connor Tsui <connor.tsui20@gmail.com>
Signed-off-by: Connor Tsui <connor.tsui20@gmail.com>
Signed-off-by: Connor Tsui <connor.tsui20@gmail.com>
e7e0ef2 to
8b07ace
Compare
Deploying vortex-bench with
|
| Latest commit: |
8b07ace
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://cedce7ce.vortex-93b.pages.dev |
| Branch Preview URL: | https://ct-take-slice.vortex-93b.pages.dev |
a10y
left a comment
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.
lgtm, avx2 tests are running in CI and still passing
Adds `take` implementations and tests for: - `BitBuffer` - `Mask` - `BoolVector` - `PrimitiveVector` For `BitBuffer`, I don't think it makes sense to implement take with nullable indices since I would argue that there isn't a clear behavior to have (because it might not be obvious that `true` means not null and `false` means null). But for `Mask` it feels a bit different, we are using it for validity in all of our vectors, so I think it makes a bit more sense (and it will make the implementation of `take` for the rest of the vectors easier). We represent indices in 3 different ways here (a generic indices slice of unsigned integers, generic unsigned pvector, and primitive vector). I feel quite strongly that we should not allow signed indices, as that opens the door to too many bugs. This is also based on top of #5537, so that needs to merge first. --------- Signed-off-by: Connor Tsui <connor.tsui20@gmail.com>
Ports over the
takeimplementation on primitive arrays tovortex-computefortakeon generic slices.