kazuyukitanimura commented on code in PR #6551:
URL: https://github.com/apache/arrow-rs/pull/6551#discussion_r1802569870
##########
arrow-buffer/src/util/bit_mask.rs:
##########
@@ -127,16 +127,16 @@ unsafe fn set_upto_64bits(
}
/// # Safety
-/// The caller must ensure all arguments are within the valid range.
+/// The caller must ensure `data` has `offset..(offset + 8)` range, and `count
<= 8`.
#[inline]
unsafe fn read_bytes_to_u64(data: &[u8], offset: usize, count: usize) -> u64 {
debug_assert!(count <= 8);
- let mut tmp = std::mem::MaybeUninit::<u64>::new(0);
+ let mut tmp: u64 = 0;
Review Comment:
> MaybeUninit(0) and 0 should have no difference in performance.
Understood, but I wanted that to be confirmed experimentally
> For this to be an optimization, this ought to have used
MaybeUninit::uninit()
I initially did that but Miri did not allow to leave uninitialized bytes
even those are unused. So I quickly switched to `new(0)` and checked the
performance implications of the change. Perhaps I should have experimented `0`
at the time.
Anyway, I just wanted to make sure the change would not cause any unexpected
performance results.
--
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]