2010-10-27 51 views
3

性能方面,Datacontract串行器为什么以及如何比xmlserializer更好?为什么DataContractSerializer比xmlSerializer更快?

+0

因为微软花费了很多精力使其更快...... DataContractSerializer有一些限制,例如,它不支持XML节点上的属性,因为支持这些属性会让它变得相当慢。 – 2010-10-27 11:44:57

+0

@marc_s:我知道微软为此付出了很多努力,但我想知道他们做了什么来加快速度?充分阅读问题护理。 – 2010-10-29 04:45:36

回答

2

来源: linklink2

比XmlSerializer的 快约10%的序列化数据,因为自从 你没有了它是如何 序列完全控制,有一个很多 可以做到优化 序列化/反序列化过程。

的主要区别,我注意到:

  • 输出未格式化
  • 创建的对象也总是有它被称为构造函数,这意味着只有一个对象被创建,然后内存为所有后续对象复制
  • 我怀疑还有其他改进措施与数据反序列化时转换类型的方式有关。
相关问题