web-dev-qa-db-ja.com

プロトコルバッファライトと通常のプロトコルバッファ

私はc ++シリアル化フレームワークが小さなフットプリントと優れたパフォーマンスになるかどうかを調査してきました。このスレッドを見つけました

c ++ネットワークシリアル化

これは基本的に、ライトバージョンのプロトコルバッファを使用することを提案します。 このページ ライトバージョンの特定の機能は何ですか?

私の質問は; Protocol Buffers liteに固執すると、どのような機能が失われますか?

37
lurscher

「lite」バージョンは、iostreamまたは "FileDescriptor"との間でシリアル化できず、Reflection機能を使用できません(ただし、 refection )を使用し、...他の機能の分散。

私のアドバイスは、フルバージョンを必要とする機能に出くわすまで、ライトバージョンを使用することです。切り替えは非常に簡単です。

ライトバージョンに欠けているもののリストを表示する必要がある場合は、<google/protobuf/message.h>を参照することをお勧めします。基本的に、そのインクルードファイル内のすべてはフルバージョン専用です。 (<google/protobuf/message_lite.h>はフルバージョンの#includedです。)リンクは次のとおりです: https://github.com/google/protobuf/blob/master/src/google/protobuf/message。 h

41
karadoc