I've been researching the XslCompiledTransform class, available with Microsoft .NET 2.0. While the performance assertion for this class (in comparison to the COM component MSXML 4.0) is less than earth-shattering, I did want to perform some basic testing on Microsoft XML parsers.
For this testing, I used a large (1.15 MB) XML file and a structurally-complex, somewhat inefficiently-coded, XSLT stylesheet that generates a single HTML file as an output. I perform the same processing task using two processing methods: MSXML 4.0; and, the use of the XslCompiledTransform class. I performed all tests on the same workstation.
MSXML 4.0 / ASP.NET 1.1 application 1 minute, 5 seconds
XslCompiledTransform / ASP.NET 2.0 application 1 minute, 3 seconds
Because of the noted performance problems of the System.Xml classes in .NET 1.1, I did not include this processing option in the test. This is a very limited test, but it confirms that the use of XslCompiledTransform is at least a viable option for XSLT .NET applications that use MSXML 4 (or later). There are a number of discussions available online on this issue.
