过去,我所使用的系统通常使用XML在客户端和服务器之间进行通信以及传输结果集等。然而,我当前的项目只是将对象列表序列化为二进制文件并将其发送到丝。
我们现在已经到了这样的程度,即由于一堆新字段,我们的'传输对象'(缺乏更好的描述)可能会开始增长。这增加了这样一个事实,即我们理论上可以列出任何多达100,000个被发送对象的列表,这让我开始怀疑我们当前方法与使用XML的相对性能。
当我说“表现”时,我会考虑:
我的直觉是XML可能非常详细,所以可能需要某种压缩......但我并不熟悉它如何扩展到序列化二进制文件。关于哪种方法更具可扩展性,或者我们是否已进入“适合目的”这一领域,是否存在普遍共识? :)
感谢您的任何建议。
干杯, 戴夫。
答案 0 :(得分:2)
我认为,一般来说,有一些共识认为XML序列化相当冗长而且不是很快。
关于你的二进制序列化,因为我们不知道实现,所以很难判断。你当然可以自己做一些性能比较。
此外,查看二进制协议的公开可用实现并了解它们如何针对XML进行操作可能会很有趣。 想到Protocol buffers和Thrift。
同时检查以下内容: Performance comparison of Thrift, Protocol Buffers, JSON, EJB, other?