一般的に、Bondはより良いタイプのシステムを持ち、複数のプロトコルをサポートしています。特に
、長所は、次のとおりvector<T>
、map<T>
、list<T>
ボンドタイプセーフ遅延デシリアライゼーション(bonded<T>
) をサポート:
- ボンド
- ボンドがコレクションを表すために異なるタイプを有するジェネリックをサポート
- ボンドは、複数形式(高速バイナリ、コンパクトバイナリ、XML、JSON)+マーシャリングとトランスコードをサポートします
短所:
- ボンドは、固定および可変整数符号化のための異なるタイプをサポートしていません。 Bondでは、整数がどのようにコード化されるかは、出力形式(高速またはコンパクト)によって決まりますが、プロトコルバッファには、常に固定サイズの整数型(
fixed32
およびfixed64
)があります。
- ボンド(プロトコルバッファで
oneof
)を労働組合の種類をサポートしていません
- ボンドは(まだ)
をJava実装を持っていない私は、いくつかのテストをしました、そして、それはボンドで簡単なメッセージのサイズが表示されますProtoBufバイナリ形式はほぼ同じです。私は、BondとC#ProtoBufライブラリを使ってシリアライズとデシリアライズ時間を比較しました。私のケースでは、Bondが少し良く機能していました。source code on GitHub
要約すると、同じデータを異なるフォーマットで表現する必要がある場合バイナリとして保存しますが、JSONなどで公開してください。
[既にかなり](http://microsoft.github.io/bond/why_bond.html)。 –
@HansPassantそれを指摘してくれてありがとう(私はどのように私はそのページを見逃すことができないか分からない)。一方、フレームワークの作成者以外の人からも聞くことは素晴らしいことだと思います。 – dtldarek