4 ms·
If you're looking for a binary serialisation library that generates simpler/more readable code and doesn't do parsing look into flatbuffers. Going through gener
by moonchrome 5y ago
If you're looking for a binary serialisation library that generates simpler/more readable code and doesn't do parsing look into flatbuffers. Going through generated protobuff code in . NET last time I used it was vomit inducing. Flatbuffers don't provide RPC AFAIK so not comparable with gRPC
Capnproto tried to do too much with distributed objects and RPC, I was looking into it years ago but it still seems like the C++ impl is the only one that supports those advanced concepts.
- jiggawatts 5y agoApparently at C# implementation supports promise pipelining: https://github.com/c80k/capnproto-dotnetcore#features https://github.com/c80k/capnproto-dotnetcore#features It is missing many nice-to-have features however and is also apparently unmaintained, with the last release 16 months ago...
- naasking 5y agoNo activity doesn't necessarily mean unmaintained, it could just mean usable and stable/bug-free.
- Communitivity 5y agoFor your own sanity, please stay away from Flatbuffers. The key here is 'doesn't do parsing'. I used it, and wound up writing a ton of extract code to unpack things in the way I wanted. Behind the scenes everything in FlatBuffers is stored in a byte array or byte buffer. It can be made to work, but protobuffs worked better for me. Caveats: 1) I needed to work in C++ and Java 2) I was transporting serialized messages over ZeroMQ
- kortex 5y agoAt one point I dug a bit into the python impl of Flatbuffers, and while I forget the exact details, I was struck by how inefficient it looked. Basically every accessor call requires parsing/casting (into python) bytes into objects, without any awareness of whether it had been parsed before.