gpt4 book ai didi

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

转载 作者:数据小太阳 更新时间:2023-10-29 01:40:18 25 4
gpt4 key购买 nike

我需要了解不同 XML 工具(解析器、验证器、XPath 表达式求值器等)的性能如何受到输入文档的大小和复杂性的影响。是否有资源记录了 CPU 时间和内存使用情况如何受到……好吧,什么?文档大小(以字节为单位)?节点数?关系是线性的、多项式的还是更糟?

更新

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

遗憾的是,他们没有进行更详细的研究,例如吞吐量/内存使用量作为节点数量/大小的函数。

文章是here.

更新

我找不到任何关于这个问题的正式处理方法。对于它的值(value),我做了一些实验来测量 XML 文档中的节点数作为文档大小(以字节为单位)的函数。我正在研究仓库管理系统,XML 文档是典型的仓库文档,例如提前发货通知等

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

benchmarks-bytes_vs_nodes
(来源:flickr.com)

最佳答案

如果我遇到这个问题并且在谷歌上找不到任何东西,我可能会尝试自己解决。

一些“信封背面”的内容可以让您了解它的发展方向。但这有点需要我了解如何进行 xml 解析器。对于非算法基准,请看这里:

关于xml - XML 解析器/验证器的算法复杂性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31826/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com