protocol buffer lite versus regular protocol buffer

Solution 1:

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 #included from the full version.) Here's a link: https://github.com/google/protobuf/blob/master/src/google/protobuf/message.h