微软似乎已经抛弃了XslTransform,转而支持XslCompiledTransform。从理论上讲,如果我在应用程序执行期间只做了一次转换,那么解释(通过XslTransform)不应该比编译它更快吗?如果是这样,XslTransform是否写得如此糟糕,以至于对XslCompiledTransform所做的改进足以弥补这一点?
发布于 2009-03-05 14:41:36
您可能希望查看XslTransform XslCompiledTransform 与 之间记录的差异,并自行做出决定。
此外,在某些情况下,XslTransform更加不符合要求。在XslCompiledTransform的安全性方面做了更多的工作。
因此,有很多理由应该考虑使用新的XslCompiledTransform XslTransform,而不是旧的XslCompiledTransform,即使在转换只运行一次并且使用旧XslTransform可能会稍微快一点的情况下也是如此。
发布于 2009-03-05 08:59:44
好吧,你有XslTransform的(慢)运行时间和XslCompiledTransform的编译时间加上它的(快)运行时间。没有理论上的方法来确定这种比较。
理论表明:运行时间取决于输入和所需的操作,而编译时间取决于XSLT的复杂性。实践证明,对于简单的输入和复杂的XSLT,一次性执行XslTransform肯定会更快。
然而,对于所有实际的应用程序,如果仅仅是因为XslTransform已被弃用,并且很可能包含永远无法修复的缺陷,那么您将需要XslCompiledTransform。实际上,我有一些样式表在XslTransform下表现得很奇怪,而在XslCompiledTransform下却运行得很好。
发布于 2009-03-05 09:05:50
您应该在任何情况下使用XslCompiledTransform,因为XslTransform已经折旧,并且可能会从框架的未来版本中删除。
https://stackoverflow.com/questions/613303
复制相似问题