对于xslt 1.0和xslt 2.0,你会建议哪个xslt处理器的性能?假设有一个巨大的xml文件,并希望加快转换时间。它实施的语言是否起着非常重要的作用? 例如,我想尝试一种go语言实现,如果必须建议这样的实现,或者c语言处理器?
要清楚。我已经在xslt 1.0和xslt 2.0中做了一些事情,所以我需要一种方法来使每个规范的流程更快。
答案 0 :(得分:2)
处理器的实现语言不是一个非常重要的因素。当然,不同的语言提出了不同的挑战:如果你用C语言编写XSLT处理器(或没有垃圾收集的任何其他语言),那么你必须花费大量精力进行内存管理,但这会影响编写处理器的成本和工作量。而不是最终实现的表现。
表现不是一维的。不同的处理器将根据实际样式表进行不同的比较。此外,它取决于您测量的内容:处理器启动时间,样式表编译时间,源文档解析/构建时间,单线程性能或多线程性能。根据您的特定工作量量身定制自己的测量结果是无可替代的。
如果您的工作负载的性能不符合要求,那么查看它在不同的XSLT处理器上的运行情况是您可以采取的尝试和解决问题的措施之一。但是你可以采取许多其他行动,其中一些可能不那么具有破坏性。在尝试使用不同的XSLT处理器之前,请检查以确保XSLT处理实际上是整个系统性能的关键组成部分:我已经看到很多案例,我被调用来查看感知的XSLT性能问题,结果表明调查问题与XSLT处理无关。在XSLT处理的地方,有时对XSLT代码或运行XSLT处理器的方式进行简单更改将大大节省成本。