Parquet Net 4.12.0 Performance

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

Method Version Mean Error StdDev Allocated
WriteNullableInts 4.12.0 6.205 ms 3.359 ms 0.1841 ms 15.27 MB
ReadNullableInts 4.12.0 11.175 ms 3.762 ms 0.2062 ms 6.68 MB
WriteNullableInts 4.5.0 13.690 ms 9.804 ms 0.5374 ms 21.08 MB
ReadNullableInts 4.5.0 6.702 ms 1.810 ms 0.0992 ms 15.27 MB
WriteNullableInts 4.9.1 11.862 ms 5.538 ms 0.3035 ms 18.22 MB
ReadNullableInts 4.9.1 11.439 ms 5.792 ms 0.3175 ms 6.68 MB

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

Method Mean Error StdDev Ratio RatioSD
BitShifting 0.5844 ns 0.4151 ns 0.0228 ns 1.00 0.00
BitConverter 8.6110 ns 2.6350 ns 0.1444 ns 14.74 0.33


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