Здесь есть несколько отличных моментов, и я собираюсь добавить еще один, если здесь кто-нибудь пересечет путь.
Thrift дает вам возможность выбирать между Thrift-двоичным и Thrift-компактным (де) сериализатором, Thrift-двоичный файл будет иметь отличную производительность, но больший размер пакета, тогда как Thrift-Compact даст вам хорошее сжатие, но требует большей вычислительной мощности , Это удобно, потому что вы всегда можете переключаться между этими двумя режимами так же легко, как менять строку кода (черт, даже сделать ее настраиваемой). Так что, если вы не уверены, насколько ваше приложение должно быть оптимизировано для размера пакета или вычислительной мощности, экономия может быть интересным выбором.
PS: посмотрите этот превосходный эталонный проект thekvs
, в котором сравниваются многие сериализаторы, включая thrift-binary, thrift-compact и protobuf: https://github.com/thekvs/cpp-serializers
PS: есть еще один сериализатор с именем YAS
, который также предоставляет эту опцию, но он не требует схем, см. Ссылку выше.