4 ms·
I've found the opposite, but maybe I'm typically using what you define as a 'systems language' - usually .NET/C#. I really like Protobuf as a pure serializer (
by briHass 4y ago
I've found the opposite, but maybe I'm typically using what you define as a 'systems language' - usually .NET/C#.
I really like Protobuf as a pure serializer (not interchange format) to bytes for caching (Redis/Memcached). I had to prove it, again, recently to myself after all the performance improvements made to Json serialization in .NET.
Using some collections of real-world objects, with a serialized size ranging between 50-500K, PB was 2x faster than Json, and had payloads about 1/2 the size. Applying GZIP in the serialization brought the JSON size down significantly, but still not as small as PB. PB only compressed slightly, as expected. However, the time for compression made JSON(gzip) almost 3X slower.
Now, depending on your network speeds and payload size, maybe the time for compression makes sense for remote/distributed caches, but in that case, why wouldn't I use the smaller PB to begin with.