为什么BSON解析比JSON快?

问题描述 投票:0回答:1

我正在尝试深入了解 BSON。我读了一些信息丰富的问题,例如: 为什么 Node.js 中 JSON 比 BSON 更快?JSON 和 BSON 哪个更轻?。 但我还是不明白是什么让 BSON 遍历比 JSON 快。

根据https://bsonspec.org/faq.html

BSON 还被设计为快速编码和解码。例如, 整数存储为 32(或 64)位整数,因此它们不需要 与文本进行解析。对于小型数据,这比 JSON 使用更多的空间 整数,但解析速度要快得多。

我假设计算机以二进制形式存储所有内容。 为什么这很特别?

FAQ文档(上面)也提供了BSON的示例,但是阅读它我无法理解为什么BSON比JSON更快?他们是否正在寻找一些 BSON 特定且在 JSON 中缺失的开始和结束字符,这有助于快速遍历?

{"hello": "world"}
→   

  \x16\x00\x00\x00                   // total document size
  \x02                               // 0x02 = type String
  hello\x00                          // field name
  \x06\x00\x00\x00world\x00          // field value
  \x00                               // 0x00 = type EOO ('end of object')

 {"BSON": ["awesome", 5.05, 1986]}
→   
  \x31\x00\x00\x00
  \x04BSON\x00
  \x26\x00\x00\x00
  \x02\x30\x00\x08\x00\x00\x00awesome\x00
  \x01\x31\x00\x33\x33\x33\x33\x33\x33\x14\x40
  \x10\x32\x00\xc2\x07\x00\x00
  \x00
  \x00
json mongodb binary binary-data bson
1个回答
0
投票

由于其二进制格式、显式类型信息、紧凑性、减少的预处理和高效的数据结构,BSON 解析比 JSON 更快。

© www.soinside.com 2019 - 2024. All rights reserved.