当前位置:  开发笔记 > 编程语言 > 正文

二进制和XML序列化之间是否存在任何性能差异?

如何解决《二进制和XML序列化之间是否存在任何性能差异?》经验,为你挑选了2个好方法。

在解析(序列化,反序列化)和通过网络发送数据包方面是否有任何关于二进制和xml序列化之间性能差异的良好估计?



1> Dave Markle..:

不.

它在很大程度上取决于XML文档本身内部的数据类型.如果您有大量结构化数据,则XML的开销会很大.例如,如果您的数据如下所示:


  Dave
  000-00-0000
  xxxxxx/email1>

...

如果您的XML文档如下所示,您将获得更多的开销:


 In the beginning God created the heavens and the earth. 
 Now the earth was formless and empty ... 
 And if any man shall take away from the words of the book of this prophecy, God shall take away his part out of the book of life, and out of the holy city, and from the things which are written in this book. He which testifieth these things saith, Surely I come quickly. Amen. Even so, come, Lord Jesus.

所以这不是一个公平的问题.它在很大程度上取决于您打算发送的数据,以及如何/如果您正在压缩它.



2> Marc Gravell..:

BinaryFormatter与xml序列化最大的区别是可移植性; BinaryFormatter很难在版本之间保证,所以它只适合短期存储或传输.

但是,你可以通过使用定制的二进制序列化来获得两者中的最佳效果,使它更小并且更快,而你甚至不必自己动手;-p

protobuf-net是Google协议缓冲区二进制序列化规范的.NET实现; 它比小任XmlSerializer还是BinaryFormatter,完全可移植的(不仅仅是版本之间-你可以加载在PB流,例如,JAVA等),可扩展和快速.它也经过了相当全面的测试,拥有相当数量的用户.

规模和速度,覆盖的全面崩溃XmlSerializer,BinaryFormatter,DataContractSerializer和protobuf网是在这里.

推荐阅读
放ch养奶牛
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有