mmapping and protocol buffers are in no way comparable... You have the downsides of a predefined schema and the downsides of wasting CPU time on serializing/deserializing. What you're looking for is flatbuffers or cap'n proto which can be mmapped directly while staying independent from the ABI of the compiler.