Parquet Net 4.12.0 Performance

This release is about twice as fast comparing to version 4.9.1:

MethodVersionMeanErrorStdDevAllocated
WriteNullableInts4.12.06.205 ms3.359 ms0.1841 ms15.27 MB
ReadNullableInts4.12.011.175 ms3.762 ms0.2062 ms6.68 MB
WriteNullableInts4.5.013.690 ms9.804 ms0.5374 ms21.08 MB
ReadNullableInts4.5.06.702 ms1.810 ms0.0992 ms15.27 MB
WriteNullableInts4.9.111.862 ms5.538 ms0.3035 ms18.22 MB
ReadNullableInts4.9.111.439 ms5.792 ms0.3175 ms6.68 MB

This is primarily due to optimisations of how RLE/Bitpacking works internally, which is now itself about 14-18 times faster:

MethodMeanErrorStdDevRatioRatioSD
BitShifting0.5844 ns0.4151 ns0.0228 ns1.000.00
BitConverter8.6110 ns2.6350 ns0.1444 ns14.740.33


To contact me, send an email anytime or leave a comment below.