Hacker News new | ask | show | jobs
by sgtnoodle 792 days ago
I've also developed a strikingly similar low latency real-time IPC message bus for work. It also uses sockets with transparent shared memory optimization. In my case, it's the backbone for an autonomous aircraft's avionics. I made everything agnostic to the message scheme, though, and most of the tooling supports an in-house schema, protobuf, JSON, YAML, etc. There's also clients implemented in C++, Rust, Python and Julia.

What troubles has protobuf caused you?

1 comments

> What troubles has protobuf caused you?

we are primarily a c++ shop, so all comments are from that vantage point. in no particular order following:

     1. extremely bloated generated code.

     2. wire format is not optimal, specifically for large nested messages which trashes the cache on a already severely constrained h/w.

     3. not easy to perform shared-memory exchange for large messages, for example, if you have 'string' types in your messages, those cannot be allocated on arenas.

     4. <this space is for rent>