refactor[array]: move boolean ops to lazy binary expr#6447
refactor[array]: move boolean ops to lazy binary expr#6447joseph-isaacs merged 7 commits intodevelopfrom
Conversation
…Kernel dispatch Signed-off-by: Joe Isaacs <joe@spiraldb.com> Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Merging this PR will degrade performance by 21%
Performance Changes
Comparing Footnotes
|
Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
Polar Signals Profiling ResultsLatest Run
Previous Runs (4)
Powered by Polar Signals Cloud |
Benchmarks: PolarSignals ProfilingSummary
Detailed Results Table
|
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-DS SF=1 on NVMESummary
Detailed Results Table
|
Benchmarks: TPC-H SF=10 on NVMESummary
Detailed Results Table
|
Benchmarks: FineWeb S3Summary
Detailed Results Table
|
vortex-array/src/compute/boolean.rs
Outdated
| fn is_elementwise(&self) -> bool { | ||
| true | ||
| } | ||
| arrow_boolean(lhs.to_array(), rhs.to_array(), op) |
There was a problem hiding this comment.
This should build the binary expression
Benchmarks: Statistical and Population GeneticsSummary
Detailed Results Table
|
Benchmarks: TPC-H SF=10 on S3Summary
Detailed Results Table
|
Benchmarks: CompressionSummary
Detailed Results Table
|
Benchmarks: Random AccessSummary
Detailed Results Table
|
Benchmarks: Clickbench on NVMESummary
Detailed Results Table
|
| compute::BooleanOperator::AndKleene => Ok(Operator::And), | ||
| compute::BooleanOperator::OrKleene => Ok(Operator::Or), |
There was a problem hiding this comment.
I know this is not part of this pr but do we differentiate between And and AndKleene in the expressions?
There was a problem hiding this comment.
All use kleene, I think we can rename and add the others with different enum int values
|
I will fixup between shortly |
Does this PR closes an open issue or discussion?
What changes are included in this PR?
Move over boolean compute to lazy expr comptue
What is the rationale for this change?
Want lazy compute for all compute functions, move over boolean here
How is this change tested?
Are there any user-facing changes?
from array/compute/binary deprecated
We will soon deprecate all functions in this mod