通常,决定解析速度的不是输出的复杂性,而是接受的输入的复杂性。JSON语法非常简洁。YAML解析器相对复杂,导致开销增加。
JSON的首要设计目标是简单性和通用性。因此,JSON的生成和解析非常简单,但代价是人类可读性降低。它还使用最低公分母信息模型,以确保每个现代编程环境都可以轻松处理任何JSON数据。
相反,YAML的首要设计目标是人类可读性并支持序列化任意本机数据结构。因此,YAML允许可读性极强的文件,但生成和解析更加复杂。此外,YAML的业务范围超出了最低公分母数据类型,因此在不同的编程环境之间进行转换时,需要进行更复杂的处理。
我不是YAML解析器实现者,因此如果没有一些性能分析数据和大量示例集,我就无法具体说明数量级。无论如何,在对基准数字充满信心之前,请务必对大量输入进行测试。
更新“
糟糕”,误解了问题。:-(尽管输入语法很大,但是序列化仍然可以非常快;但是,浏览源代码,看起来PyYAML的Python级序列化构造了一个表示图,而simplejson将内置的Python数据类型直接编码为文本块。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)