2

我一直在尝试寻找 xslt 1 与 xslt 2 的基准以提高速度性能。2 是否引入了任何性能优势,还是仅具有新功能(如果使用正确,可以提高性能)。

4

2 回答 2

8

你的问题真的没有意义。XSLT 1 和 2 是规范,而不是实现。他们没有表现。实现有性能。XSLT 2.0 具有新特性,因此您无法将它们的性能与 XSLT 1 实现中的任何性能进行比较;它也有一些澄清,这只能使实施者受益;除此之外,它还包含 XSLT 1 所包含的所有内容,并且没有理由让实现在这部分的性能上有所不同。

于 2013-01-12T00:18:39.503 回答
3

实际上,在所有其他条件相同的情况下,如果您迁移到 XSLT 2.0 并且不更改任何其他内容,那么性能可能会变得更差。例如,($a = $b) 的语义在 2.0 中要复杂得多,因为有更多可能的数据类型需要考虑,如果不利用声明数据类型的能力,系统将不得不在运行时确定要做什么。然而,XSLT 2.0 处理器可能具有更复杂和成熟的优化器这一事实弥补了这一点,因为没有这个,它就无法真正有效地完成工作。因此,我看到将 1.0 样式表从 Saxon 6.5(1.0 处理器)迁移到 Saxon 9.x(2.0 处理器)的情况下,速度提高了 100 倍。但正如 EJP 指出的那样,这就是实施的全部内容;它'

于 2013-01-12T08:52:30.107 回答