tustvold opened a new pull request #1280:
URL: https://github.com/apache/arrow-rs/pull/1280


   # Which issue does this PR close?
   
   Closes #1279.
   
   # Rationale for this change
    
   A marginal performance increase, and to gauge the appetite for these sorts 
of optimizations. In particular the obvious next question is, do we need to be 
zero-initializing the buffers to start with? I'm not entirely sure what Rust's 
safety rules state about uninitialized memory of POD types, are their invalid 
bit sequences for some types (e.g. f32), if not, why does it matter?
   
   ```
   arrow_array_reader/read Int32Array, plain encoded, optional, half NULLs      
                                                                       
                           time:   [24.527 us 24.556 us 24.588 us]
                           change: [-6.4746% -5.3769% -4.4004%] (p = 0.00 < 
0.05)
                           Performance has improved.
   arrow_array_reader/read Int32Array, dictionary encoded, optional, half NULLs 
                                                                            
                           time:   [32.846 us 32.858 us 32.875 us]
                           change: [-9.1480% -8.3967% -7.9605%] (p = 0.00 < 
0.05)
                           Performance has improved.
   ```
   
   # What changes are included in this PR?
   
   Alters `ScalarBuffer::pad_nulls` to not zero the source location on read.
   
   # Are there any user-facing changes?
   
   Buffers that previously contained zeros in null positions, will now contain 
arbitrary values
   


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