Commits


Jorge C. Leitao authored and Neville Dipale committed 65f5eb2ad92
ARROW-11383: [Rust] Faster bit AND and OR (2x) This PR speeds up the (non-SIMD) bit operations by using the `from_trusted_len_iterator`. I had to expose it also for `MutableBuffer`, and there is a potential optimization, but I left it as an exercise to the future. Since this operation is used throughout many kernels and operations, there is some chance of a speedup on other benches and datafusion. ``` git checkout master cargo bench --bench buffer_bit_ops git checkout fast_bit_ops cargo bench --bench buffer_bit_ops ``` ``` buffer_bit_ops and time: [338.19 ns 339.51 ns 341.21 ns] change: [-56.005% -50.176% -45.754%] (p = 0.00 < 0.05) Performance has improved. Found 3 outliers among 100 measurements (3.00%) 1 (1.00%) high mild 2 (2.00%) high severe buffer_bit_ops or time: [341.55 ns 343.00 ns 344.43 ns] change: [-47.595% -46.537% -45.633%] (p = 0.00 < 0.05) Performance has improved. Found 7 outliers among 100 measurements (7.00%) 2 (2.00%) high mild 5 (5.00%) high severe ``` Closes #9318 from jorgecarleitao/fast_bit_ops Lead-authored-by: Jorge C. Leitao <jorgecarleitao@gmail.com> Co-authored-by: Jorge Leitao <jorgecarleitao@gmail.com> Signed-off-by: Neville Dipale <nevilledips@gmail.com>