-
Notifications
You must be signed in to change notification settings - Fork 113
feat[array]: use execute to return Canonical array not Vector
#5895
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
base: develop
Are you sure you want to change the base?
Conversation
Merging this PR will improve performance by 10.71%
Performance Changes
Comparing |
Benchmarks: TPC-H SF=1 on NVMESummary
Detailed Results Table
|
Benchmarks: FineWeb NVMeSummary
Detailed Results Table
|
Benchmarks: TPC-H SF=1 on S3Summary
Detailed Results Table
|
Benchmarks: TPC-H SF=10 on NVMESummary
Detailed Results Table
|
Benchmarks: FineWeb S3Summary
Detailed Results Table
|
Benchmarks: TPC-DS SF=1 on NVMESummary
Detailed Results Table
|
Benchmarks: Statistical and Population GeneticsSummary
Detailed Results Table
|
Benchmarks: TPC-H SF=10 on S3Summary
Detailed Results Table
|
Benchmarks: Clickbench on NVMESummary
Detailed Results Table
|
da7bd88 to
409aa6a
Compare
Canonical array not Vector
| /// | ||
| /// This is the core operation for dictionary decoding - it expands the dictionary | ||
| /// by looking up each code in the values array. | ||
| pub fn take_canonical(values: Canonical, codes: &PrimitiveArray) -> Canonical { |
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 don't need this, but I think we will want this once take compute fn is gone
| } | ||
|
|
||
| /// Filter a canonical array by a mask, returning a new canonical array. | ||
| pub fn filter_canonical(canonical: Canonical, mask: &Mask) -> Canonical { |
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.
same as take and mask
a107ea7 to
46424ab
Compare
Signed-off-by: Joe Isaacs <[email protected]>
Signed-off-by: Joe Isaacs <[email protected]>
Signed-off-by: Joe Isaacs <[email protected]>
193570d to
dc0e9c9
Compare
Signed-off-by: Joe Isaacs <[email protected]>
Signed-off-by: Joe Isaacs <[email protected]>
Signed-off-by: Joe Isaacs <[email protected]>
Signed-off-by: Joe Isaacs <[email protected]>
Signed-off-by: Joe Isaacs <[email protected]>
|
@claude analyze this pr deeply |
| } | ||
| } | ||
|
|
||
| fn take_null(_array: &NullArray, codes: &PrimitiveArray) -> NullArray { |
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.
For the sake of keeping PRs small, can we separate diff changes like that into diff PRs in the future?
|
Claude finished @0ax1's task in 2m 52s —— View job Deep PR Analysis: "feat[array]: use execute to return
|
0ax1
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.
I can't spot anything obvious that stands out as wrong but this PR is quite large to review due to its size. I'd really like us to split up PRs into smaller chunks in the future. Probably good if also @gatesn has a peek here.
Signed-off-by: Joe Isaacs <[email protected]>
|
How would you want this split up? |
Signed-off-by: Joe Isaacs <[email protected]>
Use
execute_canonicalinstead ofexecute[likely no one will need to fix anything since the API is very new