jorgecarleitao opened a new pull request #9318:
URL: https://github.com/apache/arrow/pull/9318
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
```
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]