Filbert v0.2.0 – performance improvement on decoding

Icon for package Filbert

Some time ago I put togeth­er a small BERT seri­al­iz­er and BERT-RPC client for .Net called Fil­bert (which is anoth­er name for Hazel­nut, that has the word bert and the let­ter F and at the time every F# library has a lead­ing F in its name!).

As an exper­i­men­tal project admit­ted­ly I hadn’t giv­en too much thought to per­for­mance, and as you can see from below, the num­bers don’t make for a flat­ter­ing read­ing even against the BCL’s bina­ry for­mat­ter!

I final­ly found some time to take a stab at improv­ing the dread­ful dese­ri­al­iza­tion speed and with a cou­ple of small changes I was able to halve the dese­ri­al­iza­tion time for a very sim­ple bench­mark for a sim­ple object, and there are still a cou­ple of low hang­ing fruits that can improve things fur­ther.

image

The new ver­sion is up on Nuget so feel free to play around with it, and do let me know if you have any feed­backs and raise any issues or bugs on the Issues page for the project.