-
Notifications
You must be signed in to change notification settings - Fork 855
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
Split out arrow-arith (#2594) #3384
Conversation
@@ -17,18 +17,19 @@ | |||
|
|||
//! Defines temporal kernels for time and date related functions. |
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.
These aren't technically arithmetic kernels, but they are similar in spirit, and putting them in arrow-cast would bring in a load of additional stuff
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.
ArrowNativeTypeOp, ArrowNumericType, DataType, Date32Type, Date64Type, | ||
IntervalDayTimeType, IntervalMonthDayNanoType, IntervalUnit, IntervalYearMonthType, | ||
}; | ||
#[cfg(feature = "dyn_arith_dict")] |
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.
what changed about the feature guards that allows for this simplification?
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.
Combination of wildcard imports and explicitly scoping a couple of types
.borrow_mut() | ||
.zip(left_chunks.borrow_mut().zip(right_chunks.borrow_mut())), | ||
) | ||
.zip((&mut result_chunks).zip((&mut left_chunks).zip(&mut right_chunks))) |
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.
this doesn't need mut references, is that the difference?
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.
It avoids needing BorrowMut in scope 😅
pub mod arithmetic; | ||
pub mod arity; | ||
pub mod bitwise; | ||
pub mod boolean; | ||
pub mod limit; |
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.
what is the deal with limit? Is it going away too?
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.
It is deprecated and can probably be removed at some point - it just calls through to Array::slice
Benchmark runs are scheduled for baseline = 13e0b87 and contender = e7fc073. e7fc073 is a master commit associated with this PR. Results will be available as each benchmark for each run completes. |
pub mod bitwise; | ||
pub mod boolean; | ||
pub mod temporal; |
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.
Maybe we can have arrow-misc crate to hold such kernels which are not exactly arithmetic or comparison kernels? I'm fine to put them in arrow-arith
though.
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.
Looks good to me. 👍
Which issue does this PR close?
Closes #2594
Rationale for this change
What changes are included in this PR?
Are there any user-facing changes?