Java 中的 XML: 文档模型,第一部分:性能
2009-11-05 00:00:00 来源:WEB开发网核心提示: 图 1. 文档构建时间图片看不清楚?请点击这里查看原图(大图),对于大多数测试文档来说,Java 中的 XML: 文档模型,第一部分:性能(8),XPP 拉回的构建时间太短以至于难以计算(因为在这种情况下,实际上没有对该文档进行解析),虽然 EXML 具有废弃单独的空白内容的优势,但是总体上,只
图 1. 文档构建时间
图片看不清楚?请点击这里查看原图(大图)。
对于大多数测试文档来说,XPP 拉回的构建时间太短以至于难以计算(因为在这种情况下,实际上没有对该文档进行解析),只显示为非常短的 soap1.xml。对于该文件,拉回解析器内存大小和相关的创建开销使 XPP 显得相对比较缓慢。这是因为测试程序为正在进行解析的文档的每个副本创建一个新的拉回解析器副本。在 soap1.xml 情况下,每次评测时间使用 49 个副本。分配与初始化这些解析器实例的开销大于重复解析文本并构建文档表示的大多数其它方法所需的时间。
XPP 的作者在一个电子邮件的讨论中指出,在实际应用程序中,可以合用拉回解析器实例以重新使用。如果这样做的话,soap1.xml 文件的开销将明显降到忽略不计程度。对于更大的文件,甚至不需要合用,拉回解析器创建开销也可以变得忽略不计。
在本测试中,XPP(带有完整解析),带有延迟节点创建的 Xerces 和 dom4j 都显示整体上的同等性能。延迟的 Xerces 对于较大的文档尤其出色,但是对于较小的文档的开销较高 ― 甚至比常规 Xerces DOM 高很多。在第一次使用文档的一部分时,延迟节点创建方法的开销也较高,这会降低快速解析的优势。
对于较小的 soap1.xml 文件,所有格式(SAX2 解析、常规 DOM 和延迟 DOM)的 Xerces 的显得开销较高。对于该文件 XPP(完全解析)尤其出色,对于 soap1.xml,EXML 甚至超过基于 SAX2 的模型。虽然 EXML 具有废弃单独的空白内容的优势,但是总体上,它是本测试中最差的。
更多精彩
赞助商链接