【发布时间】:2011-12-19 10:03:45
【问题描述】:
按照this benchmark BSON 需要更多的磁盘空间和时间来创建、序列化、反序列化和遍历所有元素。 BSON 的一大优势在于,它的遍历速度要快得多。那么这个基准有什么问题呢?
【问题讨论】:
-
在 C++ 版本中,BSONObj 反序列化是无操作的。应该很快。
标签: json benchmarking bson
按照this benchmark BSON 需要更多的磁盘空间和时间来创建、序列化、反序列化和遍历所有元素。 BSON 的一大优势在于,它的遍历速度要快得多。那么这个基准有什么问题呢?
【问题讨论】:
标签: json benchmarking bson
您的问题不清楚。谁声称“BSON 的最大优势在于它的遍历速度要快得多。”?维基百科说 BSON 设计“在存储空间和扫描速度方面都高效” - 但这仅意味着设计师尝试过,而不是他们成功了。
请注意,基准测试比较了许多 JSON 实现,有更快的和更慢的;显然有人花了很多时间编写优化的 JSON 解析器——事实上,FastJson 网站解释了(中文,我通过谷歌翻译阅读)一些高级实现技术。
另见Performant Entity Serialization: BSON vs MessagePack (vs JSON)
底线:基准可能是错误的,也可能没有任何问题。作者建议尝试为您的特定场景重现数据,这是一般的良好做法,因为基准只是数据点。因此,请尝试使用代表您的数据运行 BSON 和 FastJSON(或其他具有有趣性能的 JSON)的基准测试。
【讨论】: