Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Performance 哪种XSLT处理器更适合用于小型并行转换_Performance_Xslt - Fatal编程技术网

Performance 哪种XSLT处理器更适合用于小型并行转换

Performance 哪种XSLT处理器更适合用于小型并行转换,performance,xslt,Performance,Xslt,我需要在一个周期内执行大量(大约100-200)并行XML转换。XML的平均大小约为5Kb。使用的XSL和要解析的XML的关系约为0.25,这意味着一些XML共享相同的XSL。这里的XSL可以缓存,但不幸的是XSL并没有存储在文件中,而是在应用程序中动态生成的。 那么什么XSLT处理器更适合我的情况呢 p、 美国语言-Java,转换最终结果类型-字符串 提前谢谢我不确定我是否完全理解了这个问题,但我会试试看 首先,似乎有两个独立的问题,我认为它们是完全正交的。首先是如何缓存样式表的问题:如果要多

我需要在一个周期内执行大量(大约100-200)并行XML转换。XML的平均大小约为5Kb。使用的XSL和要解析的XML的关系约为0.25,这意味着一些XML共享相同的XSL。这里的XSL可以缓存,但不幸的是XSL并没有存储在文件中,而是在应用程序中动态生成的。 那么什么XSLT处理器更适合我的情况呢

p、 美国语言-Java,转换最终结果类型-字符串


提前谢谢

我不确定我是否完全理解了这个问题,但我会试试看

首先,似乎有两个独立的问题,我认为它们是完全正交的。首先是如何缓存样式表的问题:如果要多次运行转换,最好编译一次并重复使用。一般来说,这不是问题,除非没有足够的内存来缓存所有样式表,在这种情况下,您需要某种LRU策略

第二个问题是选择XSLT处理器。我认为无论选择哪个处理器,都可以使用相同的缓存体系结构,因此这个问题不会限制您的选择。在Java世界中,主要的免费/开源处理器是Xalan(具有Apache版本并嵌入JDK)和Saxon-HE;由于Saxon支持XSLT2.0,而且通常速度更快,因此几乎没有竞争。在付费处理器中,主要竞争者是IBM的Websphere处理器和Saxon EE;它们都应该轻松地处理这个工作量,但是除非你在IBM中间件上进行大量投资,否则不太可能考虑IBM产品。
(我不会试图隐瞒我是Saxon产品的开发人员……

我不知道特定的XSLT处理器是关键决策。更重要的是,确保用于执行转换的代码是可靠的,并且您设置了测试工具来评估吞吐量、内存消耗等。然后您可以评估Xerces、Saxon等,并查看哪一个性能“更好”以满足您的需要。尽管如此,Saxon通常是“更好”的处理器。谢谢你的解释