2011-08-23 18 views
8

次のようになります。this benchmark BSONは、すべての要素を作成、シリアル化、逆シリアル化、トラバースするために、より多くのディスクスペースと時間を必要とします。 BSONの大きな利点は、トラバースの方がずっと速いことです。では、このベンチマークで何が問題になっていますか?ベンチマーク:BSON対JSON

+0

C++バージョンでは、BSONObjデシリアライゼーションはノーオペレーションです。非常に速くなければなりません。 – ArtemGr

答えて

5

あなたの質問は不明です。誰が「BSONの大きな利点は、それがトラバースではるかに速い」と主張しているからです。 Wikipediaによれば、BSONはで、は "記憶スペースとスキャンスピードの両面で効率的に"設計されていると言われていますが、これはデザイナーが試みたもので、成功したものではありません。

ベンチマークでは、多くのJSON実装が比較され、高速と低速の両方の実装があります。明らかに、誰かが最適化されたJSONパーサーを書くのに多くの時間を費やしていました。実際、FastJsonのウェブサイトでは、多くの先進的な実装テクニックが紹介されています。ベンチマークは間違っているかもしれませんか、また間違っては何もないかもしれません:

Performant Entity Serialization: BSON vs MessagePack (vs JSON)

ボトムラインを参照してください。ベンチマークは単なるデータポイントであるため、一般的には良い方法であるように、作成者は特定のシナリオのデータを再現することをお勧めします。だから、あなたを代表するデータでBSONとFastJSONのベンチマークを実行してみてください。

関連する問題