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

前端之家收集整理的这篇文章主要介绍了XML解析器/验证器的算法复杂性前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要知道不同 XML工具(解析器,验证器,XPath表达式求值程序等)的性能如何受输入文档的大小和复杂性的影响.有资源在那里记录cpu时间和内存使用情况如何影响…好吧,什么?文件大小(以字节计)节点数?而且是关系线性,多项式还是更差?

更新

作者调查了四种流行的XML解析模型(DOM,SAX,StAX和VTD),在IEEE Computer Magazine第41卷第9期,2008年9月的一篇文章中.他们运行一些非常基本的性能测试,显示当输入文件的大小从1-15 KB增加到1-15 MB或大约1000x时,DOM解析器的吞吐量将减半.其他型号的吞吐量没有显着影响.

不幸的是,他们没有执行更详细的研究,例如吞吐量/内存使用量作为节点数量/大小的函数.

文章here.

更新

我无法对这个问题进行正式的处理.对于什么值得,我已经做了一些实验,测量XML文档中的节点数量是文档大小(以字节为单位)的函数.我正在开发仓库管理系统,XML文档是典型的仓库文档,例如高级运输通知

下图显示了以字节为单位的大小与节点数量之间的关系(应与DOM模型下的文档内存占用量成正比).不同的颜色对应于不同类型的文档.比例是log / log.黑线最适合蓝点.有趣的是,对于所有类型的文档,字节大小和节点大小之间的关系是线性的,但是比例系数可能非常不同.

如果我面对这个问题,在谷歌上找不到任何东西,我可能会试图做我的自我.

一些“后退的”东西,以获得感觉.但是,这需要我有一个如何做一个xml解析器的想法.
对于非算法性基准,请看这里:

> http://www.xml.com/pub/a/Benchmark/exec.html
> http://www.devx.com/xml/Article/16922
> http://xerces.apache.org/xerces2-j/faq-performance.html

猜你在找的XML相关文章