【问题标题】:why DataContractSerializer is faster that xmlSerializer?为什么 DataContractSerializer 比 xmlSerializer 更快?
【发布时间】:2011-05-01 06:23:04
【问题描述】:

性能方面,Datacontract 序列化器为何以及如何优于 xmlserializer?

【问题讨论】:

  • 因为微软付出了很多努力使其更快...... DataContractSerializer 有一些限制,例如它不支持 XML 节点上的属性,因为支持这些属性会使其速度变慢。
  • @marc_s:我知道微软在这方面付出了很多努力,但我想知道他们做了什么让它变得更快?完整阅读问题护理。

标签: .net serialization datacontractserializer


【解决方案1】:

来自: link 还有 link2

比 XmlSerializer 快大约 10% 序列化数据,因为因为 您无法完全控制如何 它是序列化的,有很多 可以做优化 序列化/反序列化过程。

我注意到的主要区别:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-02
    • 2012-06-24
    • 1970-01-01
    • 2010-12-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多