7

データ構造に小さな(文字列)フィールドがたくさんある場合、バイナリシリアル化とJSONとxmlを使用し、ネットワーク経由でデータを送信すると、時間の観点からパフォーマンスがほぼ向上することを誰かが知っていますか?

シリアライザーはどの程度パフォーマンスに責任がありますか?プログラミング言語はどうですか?

完璧な風景とは、移植性の問題を無視し、3つの形式すべてとの間でシリアル化/逆シリアル化するために必要なライブラリを自由に使用できると想定している風景です。

4

1 に答える 1

6

特定の要件とニーズに依存するため、質問に適切に答えることは不可能です。

パフォーマンスに影響を与えるのは、シリアル化された表現を記述するために使用されるデータの量であると言えます。

たとえば、XML ドキュメントには ... のような開始タグと終了タグが必要ですが、JSON は prop1:"..." で十分です。これにより、インスタンスを記述するために必要な文字データの量が削減されます。バイナリは、プロパティの命名をスキップすることさえあります。これにより、シリアル化されたインスタンスを記述するために必要なデータの量がさらに削減されます。

これは、バイナリのシリアル化が最も高速であることを示しているかもしれませんが、常にそうであるとは限りません。これは、シリアライザがオブジェクト インスタンスからシリアライズされた記述に到達するまでに必要な時間によって異なります。

本当にパフォーマンスが必要な場合は、Google プロトコル バッファを確認してください。私の経験では、これらは超高速で非常に使いやすいです。

于 2012-11-14T07:38:32.513 に答える