I've been investigating c++ serialization frameworks will small footprint and good performance. I've found this thread
which basically suggest to use the lite version of protocol buffers. It is not clear from this page what are the specific features of the lite version
my question is; what features do you lose when sticking to protocol buffers lite?
The "lite" version is not able to serialize to or from iostream
, or "FileDescriptor
", and it cannot use the Reflection
feature (although it does use refection), and... a scattering of other features.
My advice is to just use the lite version until you come across a feature that requires the full version. It is very easy to switch from one to the other.
If you need to see a list of what the lite version lacks, I recommend browsing <google/protobuf/message.h>
. Basically everything in that include file is exclusive to the full version. (<google/protobuf/message_lite.h>
is #include
d from the full version.)
Here's a link:
https://github.com/google/protobuf/blob/master/src/google/protobuf/message.h