性能:XmlSerializer vs XmlReader vs XmlDocument vs XDocument

6
我正在开发一个小型Web项目,希望能够读写XML文件。性能是我的首要任务。
我发现了这篇伟大的文章,其中比较了几种方法,但没有包括XmlSerializer
我更喜欢使用XmlSerializer,因为它可以使代码更加清晰易懂。但我不知道它的性能如何。请问XmlSerializer内部使用什么方式来写入XML文件?

1
XmlReader将比任何序列化器更快。 - Oded
1
难道更好的问题不应该是:“这是我的实验。我的实现有什么缺陷吗?” - Austin Salonen
我认为如果性能很重要,你应该考虑研究vtd-xml。 - vtd-xml-author
1个回答

5
关于XmlSerializer的性能,可以参考http://msdn.microsoft.com/en-us/library/182eeyhh.aspx。该网页指出:
XmlSerializer会创建C#文件并将其编译成.dll文件以执行序列化操作。在.NET Framework 2.0中,XML Serializer生成器工具(Sgen.exe)专门用于预先生成这些序列化程序集,以便与应用程序一起部署,并提高启动性能。
因此,您可以通过使用sgen工具http://msdn.microsoft.com/en-us/library/bk3w6240.aspx来提高XmlSerializer的性能,这样就可以避免new XmlSerializer()创建和编译C#文件时带来的性能损失。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接