I'm working on a little web project and would like to read/write to an XML file. Performance is my first priority.
I've come to this great post on comparing the mentioned approaches except XmlSerializer
.
I prefer XmlSerializer
since it makes the code much cleaner. But I don't know about its performance. What kind does XmlSerializer
use inside to write to XML files?
As for the performance of XmlSerializer, see http://msdn.microsoft.com/en-us/library/182eeyhh.aspx which says:
The XmlSerializer creates C# files and
compiles them into .dll files to
perform this serialization. In .NET
Framework 2.0, the XML Serializer
Generator Tool (Sgen.exe) is designed
to generate these serialization
assemblies in advance to be deployed
with your application and improve
startup performance.
So you can increase performance of XmlSerializer by making use of the sgen tool http://msdn.microsoft.com/en-us/library/bk3w6240.aspx, that way you can avoid the performance hit you get when new XmlSerializer() creates and compiles C# files.