mightsleep commented on PR #11554:
URL: https://github.com/apache/arrow-rs/pull/11554#issuecomment-6190932785

   Yes hello, BitChunks walks the words one after another, but here each read 
starts popcount bits further on, so on top of it we'd need the u128 window and 
refill loop again, which is what this PR removes. BitChunks::chunk could do it 
with two chunks and a shift. Looking at the asm that's about the same at offset 
0 (it even saves a bounds check), but for a sliced buffer each chunk() does its 
own shift, so it's 4 loads and ~14 instructions per word instead of 2 loads and 
~12. Or maybe move BitReader into arrow-buffer in a follow-up if you'd rather 
not have it local.


-- 
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.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to