我需要知道不同XML工具(解析器,验证器,XPath表达式求值器等)的性能如何受输入文档的大小和复杂性的影响.那里有资源记录了CPU时间和内存使用情况如何受到影响......好吧,什么?文件大小以字节为单位 节点数?关系是线性的,多项式的还是更糟的?
更新
在2008年9月41日的IEEE计算机杂志的一篇文章中,作者调查了四种流行的XML解析模型(DOM,SAX,StAX和VTD).他们运行一些非常基本的性能测试,这些测试表明,当输入文件的大小从1-15 KB增加到1-15 MB或大约1000倍时,DOM解析器的吞吐量会减半.其他型号的吞吐量不会受到显着影响.
不幸的是,他们没有进行更详细的研究,例如吞吐量/内存使用量作为节点/大小数量的函数.
这篇文章就在这里.
更新
我无法找到任何正式的治疗方法.为了它的价值,我做了一些实验,测量XML文档中节点的数量,作为文档大小的函数.我正在研究仓库管理系统,XML文档是典型的仓库文件,例如高级发货通知等.
下图显示了以字节为单位的大小与节点数(在DOM模型下应与文档的内存占用量成比例)之间的关系.不同的颜色对应于不同类型的文档.比例是log/log.黑线最适合蓝点.值得注意的是,对于各种文档,字节大小和节点大小之间的关系是线性的,但比例系数可能非常不同.