【问题标题】:Binary serialization vs. JSON vs. xml [closed]二进制序列化与 JSON 与 xml [关闭]
【发布时间】:2012-11-01 22:52:38
【问题描述】:

如果数据结构有很多小(字符串)字段,有谁知道在使用二进制序列化与 JSON 与 xml 并通过网络发送数据时,在时间方面的性能提升大约是多少?

序列化程序对性能负责的程度如何?编程语言呢?

完美的场景是我们忽略了可移植性问题,并且我们假设我们拥有对所有 3 种格式进行序列化/反序列化所需的库。

【问题讨论】:

  • 找出答案的最佳方法?自己测试一下。无论有人在这里回答什么,都将基于他们的要求和需要,可能不适合你自己。
  • 这取决于很多东西,你的问题是无法回答的,除了说:在大多数情况下,序列化格式不是性能瓶颈。
  • 那你说最大的性能瓶颈是什么?
  • 是的,不可能回答的问题...为了避免性能问题,以下答案涉及“为什么”使用 XML + JSON 等替代格式:stackoverflow.com/questions/10368343/…

标签: xml json serialization deserialization binary-serialization


【解决方案1】:

要充分回答您的问题是不可能的,因为这取决于您的具体要求和需要。

在某种程度上,您可以说是用于描述序列化表示的数据量,这会影响性能。

例如,XML 文档需要像 ... 这样的开始和结束标记,而 JSON 使用 prop1:"..." 就足够了,这减少了描述实例所需的字符数据量。 Binary 甚至可以跳过属性命名,从而进一步减少描述序列化实例所需的数据量。

虽然这可能描绘出二进制序列化是最快的,但并非总是如此。这取决于序列化器需要多长时间从对象实例到序列化描述。

如果你真的需要性能,那么你应该看看 google 协议缓冲区。根据我的经验,这些速度快如闪电,而且非常易于使用。

【讨论】:

    猜你喜欢
    • 2010-11-08
    • 1970-01-01
    • 1970-01-01
    • 2011-01-24
    • 2012-05-26
    • 1970-01-01
    • 2013-01-08
    • 2012-02-19
    相关资源
    最近更新 更多