etseidl commented on PR #6244:
URL: https://github.com/apache/arrow-rs/pull/6244#issuecomment-2287108515

   Some benchmark results
   ```
   group                                                                        
                           master                                 opt6
   -----                                                                        
                           ------                                 ----
   arrow_array_reader/BYTE_ARRAY/Decimal128Array/plain encoded, mandatory, no 
NULLs                        1.01    877.1±6.95µs        ? ?/sec    1.00    
871.5±9.33µs        ? ?/sec
   arrow_array_reader/BYTE_ARRAY/Decimal128Array/plain encoded, optional, half 
NULLs                       1.00   1039.3±5.36µs        ? ?/sec    1.01   
1047.8±9.73µs        ? ?/sec
   arrow_array_reader/BYTE_ARRAY/Decimal128Array/plain encoded, optional, no 
NULLs                         1.02   887.3±14.80µs        ? ?/sec    1.00    
873.0±9.73µs        ? ?/sec
   arrow_array_reader/BYTE_STREAM_SPLIT/Decimal128Array/byte_stream_split 
encoded, mandatory, no NULLs     1.18  1042.0±11.95µs        ? ?/sec    1.00   
882.7±16.18µs        ? ?/sec
   arrow_array_reader/BYTE_STREAM_SPLIT/Decimal128Array/byte_stream_split 
encoded, optional, half NULLs    1.19   1221.0±7.21µs        ? ?/sec    1.00   
1022.7±7.79µs        ? ?/sec
   arrow_array_reader/BYTE_STREAM_SPLIT/Decimal128Array/byte_stream_split 
encoded, optional, no NULLs      1.17  1020.9±15.78µs        ? ?/sec    1.00   
870.0±15.63µs        ? ?/sec
   arrow_array_reader/BYTE_STREAM_SPLIT/Float16Array/byte_stream_split encoded, 
mandatory, no NULLs        1.83    301.6±3.00µs        ? ?/sec    1.00    
165.2±1.71µs        ? ?/sec
   arrow_array_reader/BYTE_STREAM_SPLIT/Float16Array/byte_stream_split encoded, 
optional, half NULLs       1.43    672.3±4.29µs        ? ?/sec    1.00    
471.0±7.40µs        ? ?/sec
   arrow_array_reader/BYTE_STREAM_SPLIT/Float16Array/byte_stream_split encoded, 
optional, no NULLs         1.79    306.6±2.02µs        ? ?/sec    1.00    
171.5±1.50µs        ? ?/sec
   arrow_array_reader/FIXED_LENGTH_BYTE_ARRAY/Decimal128Array/plain encoded, 
mandatory, no NULLs           1.59    367.2±1.97µs        ? ?/sec    1.00    
230.3±1.77µs        ? ?/sec
   arrow_array_reader/FIXED_LENGTH_BYTE_ARRAY/Decimal128Array/plain encoded, 
optional, half NULLs          1.25    913.8±3.90µs        ? ?/sec    1.00    
729.1±6.55µs        ? ?/sec
   arrow_array_reader/FIXED_LENGTH_BYTE_ARRAY/Decimal128Array/plain encoded, 
optional, no NULLs            1.62    378.3±4.72µs        ? ?/sec    1.00    
233.2±2.22µs        ? ?/sec
   arrow_array_reader/INT32/Decimal128Array/binary packed skip, mandatory, no 
NULLs                        2.12    170.4±2.35µs        ? ?/sec    1.00     
80.5±1.32µs        ? ?/sec
   arrow_array_reader/INT32/Decimal128Array/binary packed skip, optional, no 
NULLs                         2.11    174.3±1.39µs        ? ?/sec    1.00     
82.5±0.46µs        ? ?/sec
   arrow_array_reader/INT32/Decimal128Array/binary packed, mandatory, no NULLs  
                           2.31    303.7±2.90µs        ? ?/sec    1.00    
131.7±2.21µs        ? ?/sec
   arrow_array_reader/INT32/Decimal128Array/binary packed, optional, half NULLs 
                           1.49    663.5±5.51µs        ? ?/sec    1.00    
444.2±2.21µs        ? ?/sec
   arrow_array_reader/INT32/Decimal128Array/binary packed, optional, no NULLs   
                           2.34    315.4±3.57µs        ? ?/sec    1.00    
134.5±0.70µs        ? ?/sec
   arrow_array_reader/INT32/Decimal128Array/dictionary encoded, mandatory, no 
NULLs                        2.30    306.6±2.52µs        ? ?/sec    1.00    
133.1±0.77µs        ? ?/sec
   arrow_array_reader/INT32/Decimal128Array/dictionary encoded, optional, half 
NULLs                       1.48    663.1±3.78µs        ? ?/sec    1.00    
448.3±2.43µs        ? ?/sec
   arrow_array_reader/INT32/Decimal128Array/dictionary encoded, optional, no 
NULLs                         2.26    309.3±2.29µs        ? ?/sec    1.00    
136.7±0.93µs        ? ?/sec
   arrow_array_reader/INT32/Decimal128Array/plain encoded, mandatory, no NULLs  
                           2.91    265.5±3.33µs        ? ?/sec    1.00     
91.2±0.87µs        ? ?/sec
   arrow_array_reader/INT32/Decimal128Array/plain encoded, optional, half NULLs 
                           1.52    643.3±6.57µs        ? ?/sec    1.00    
421.9±1.92µs        ? ?/sec
   arrow_array_reader/INT32/Decimal128Array/plain encoded, optional, no NULLs   
                           2.83    265.7±5.18µs        ? ?/sec    1.00     
93.9±0.67µs        ? ?/sec
   arrow_array_reader/INT64/Decimal128Array/binary packed skip, mandatory, no 
NULLs                        1.88    157.2±1.75µs        ? ?/sec    1.00     
83.5±0.47µs        ? ?/sec
   arrow_array_reader/INT64/Decimal128Array/binary packed skip, optional, no 
NULLs                         1.87    160.7±1.83µs        ? ?/sec    1.00     
85.8±0.67µs        ? ?/sec
   arrow_array_reader/INT64/Decimal128Array/binary packed, mandatory, no NULLs  
                           1.99    277.6±3.46µs        ? ?/sec    1.00    
139.4±1.02µs        ? ?/sec
   arrow_array_reader/INT64/Decimal128Array/binary packed, optional, half NULLs 
                           1.43    643.2±6.32µs        ? ?/sec    1.00    
448.5±2.68µs        ? ?/sec
   arrow_array_reader/INT64/Decimal128Array/binary packed, optional, no NULLs   
                           2.03    287.6±4.36µs        ? ?/sec    1.00    
141.8±0.80µs        ? ?/sec
   arrow_array_reader/INT64/Decimal128Array/dictionary encoded, mandatory, no 
NULLs                        2.01    282.3±3.50µs        ? ?/sec    1.00    
140.3±1.99µs        ? ?/sec
   arrow_array_reader/INT64/Decimal128Array/dictionary encoded, optional, half 
NULLs                       1.47   660.0±59.41µs        ? ?/sec    1.00    
449.3±3.67µs        ? ?/sec
   arrow_array_reader/INT64/Decimal128Array/dictionary encoded, optional, no 
NULLs                         2.10   300.9±37.94µs        ? ?/sec    1.00    
143.4±1.65µs        ? ?/sec
   arrow_array_reader/INT64/Decimal128Array/plain encoded, mandatory, no NULLs  
                           2.39    260.9±3.50µs        ? ?/sec    1.00    
109.1±1.08µs        ? ?/sec
   arrow_array_reader/INT64/Decimal128Array/plain encoded, optional, half NULLs 
                           1.46    631.3±3.88µs        ? ?/sec    1.00    
433.1±2.42µs        ? ?/sec
   arrow_array_reader/INT64/Decimal128Array/plain encoded, optional, no NULLs   
                           2.38    265.3±4.55µs        ? ?/sec    1.00    
111.4±1.10µs        ? ?/sec
   ```
   Note these are before #6222 was merged, so the byte_stream_split numbers 
should get even better.


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