apache / arrow-rs

Official Rust implementation of Apache Arrow
https://arrow.apache.org/
Apache License 2.0
2.63k stars 803 forks source link

Speed up `BitIndexIterator` by unrolling #6696

Open Dandandan opened 2 weeks ago

Dandandan commented 2 weeks ago

Is your feature request related to a problem or challenge? Please describe what you are trying to do. BitIndexIterator is critical to performance of lots of kernels (filter / take and anything dealing with nulls).

This can be made faster

Describe the solution you'd like

Implement optimization described here: https://lemire.me/blog/2019/05/03/really-fast-bitset-decoding-for-average-densities/

Describe alternatives you've considered

Additional context