二进制序列化 vs. JSON vs. XML

10

请问在数据结构中有大量小型(字符串)字段的情况下,使用二进制序列化与JSON和XML发送数据时,从时间上来看性能提升有多少?

序列化程序对性能有多大影响?编程语言呢?

理想的情况是我们忽略可移植性问题,并假设我们可以使用所需的库将数据序列化/反序列化到三种格式。


8
最好的方法是亲自尝试。无论别人在这里回答什么,都基于他们的需求和需求,可能不适合你自己。 - Oded
4
这取决于很多因素,你的问题无法回答,除了说:在大多数情况下,序列化格式不是性能瓶颈。 - hyde
那么你认为最大的性能瓶颈是什么? - Clara
这个问题的答案很难回答...为了避免性能问题,下面的答案解决了“为什么”使用替代格式,如XML + JSON:http://stackoverflow.com/questions/10368343/what-is-benefit-of-sending-xml-using-jms/10368625#10368625 - Mark O'Connor
1个回答

7
你的问题很难得到充分的回答,因为它取决于你具体的要求和需求。
在某种程度上,可以说序列化表示所用的数据量会影响性能。例如,XML文档需要像...这样的开头和结尾标签,而JSON只需要prop1:"..."就足够了,这减少了描述实例所需的字符数据量。二进制甚至可能跳过属性命名,从而进一步减少描述序列化实例所需的数据量。
虽然这可能会让人觉得二进制序列化是最快的,但并不总是如此。这取决于序列化程序从对象实例到序列化描述所需的时间。
如果你真的需要性能,那么你应该看看谷歌协议缓冲区。在我看来,它们非常快速且易于使用。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接