Re-evaluate Explicit SIMD Aggregations #5032
Labels
arrow
Changes to the arrow crate
enhancement
Any new improvement worthy of a entry in the changelog
help wanted
Is your feature request related to a problem or challenge? Please describe what you are trying to do.
We currently only have explicit SIMD kernels for min, max and sum. This is a non-trivial additional complexity, and relies on features not present in stable Rust.
Describe the solution you'd like
Historically LLVM has struggled with auto-vectorisation of horizontal operations like aggregates, and this has been why we've kept these kernels, however, it is possible this has since improved. We should assess whether it is possible to eliminate the need for explicit SIMD kernels, and potentially remove them
Describe alternatives you've considered
Additional context
#4560 contains some experiments for improving the auto-vectorisation of aggregates
The text was updated successfully, but these errors were encountered: