当前位置:  开发笔记 > Android > 正文

XML解析器/验证器的算法复杂性

如何解决《XML解析器/验证器的算法复杂性》经验,为你挑选了0个好方法。

我需要知道不同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.黑线最适合蓝点.值得注意的是,对于各种文档,字节大小和节点大小之间的关系是线性的,但比例系数可能非常不同.

基准-bytes_vs_nodes

推荐阅读
家具销售_903
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有