爪哇 - XML解析器的性能:的Sun Java流XML分析器(SJSXP)与Woodstox(J

2019-07-30 18:02发布

我在寻找最新,内存使用效率和高性能的Java XML解析API。 我需要解析3 MB至5 MB的XML文件。

我没有谷歌在这一点,来了解有关Sun Java流XML分析器(SJSXP)和Woodstox比DOM和SAX快得多。 两者都是使用的StAX API。 *架构验证不通过这些技术的支持。

阿尔托XML处理器也实现了StAX的API。

我还没有发现对这些技术的高性能混凝土的研究结果。

哪一个是最好的内存高效,高性能和易用性方面?

Answer 1:

这里有一些更多的链接,可能是相关的:

  • 斯塔克斯impls的数据绑定: http://technotes.blogs.sapo.pt/1708.html
  • 有效地利用Woodstox: http://www.cowtowncoder.com/blog/archives/2006/06/entry_2.html
  • 加快XSLT与Woodstox: http://www.cowtowncoder.com/blog/archives/2009/04/entry_235.html

至于性能:SJSXP是最慢的; 这只是的Xerces的重新包装内部,包裹在Stax的API。 这对性能有一定的负面影响(因为它不是真正设计用于拉解析)。 Woodstox是有点快; 快得多小文件和写作,语法分析的文档时差异较小。

和阿尔托是迄今为止速度最快的三个,尤其是对于解析。 它通常是50% - 比任何Woodstox或SJSXP快100%。 一个缺点是,它不能处理的DTD(并且由此没有外部实体;它处理预定义和字符实体)。

免责声明:我Woodstox和阿尔托的作者; 以及贡献者SJSXP(bug修复)



Answer 2:

上面查询一些有用的链接:

http://www.developerfusion.com/article/84523/stax-the-odds-with-woodstox/ (2010年6月)

http://www.ibm.com/developerworks/opensource/library/os-ag-renegade15/ (2007年7月)

性能基准测试的细节:

http://www.xml.com/pub/a/2007/05/09/xml-parser-benchmarks-part-1.html (2007年5月)



文章来源: Java - XML parser performance : Sun Java Streaming XML Parser (SJSXP) vs Woodstox