7

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

序列化程序在多大程度上负责性能?编程语言呢?

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

4

1 回答 1

6

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

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

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

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

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

于 2012-11-14T07:38:32.513 回答