protocol buffer lite versus regular protocol buffer
The "lite" version is not able to serialize to or from "iostream
, orFileDescriptor
", 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
Related videos on Youtube
lurscher
Updated on September 15, 2021Comments
-
lurscher almost 3 years
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?
-
rustyx over 7 yearsDon't forget to add
option optimize_for = LITE_RUNTIME;
to your .proto files if you use the lite version. -
coredump about 5 yearsReading above comments is an emotional roller coaster.
-
Geezer almost 3 yearsEdited to reflect existence (at present) of
SerializeToOstream()
inclass MessageLite