哪个是更快的 XML 解析器? [关闭]

Posted

技术标签:

【中文标题】哪个是更快的 XML 解析器? [关闭]【英文标题】:Which is a faster parser for XML? [closed] 【发布时间】:2013-07-13 09:33:18 【问题描述】:

我正在尝试解析一个简单的文件,我想知道:

XML::Simple XML::Smart LibXML

哪个更快?

【问题讨论】:

简单:使用 XML::LibXML,它的好处是使用了用 C 编写的库。它还实现了熟悉的 DOM。 XML::Simple 既不简单,nor endorsed by its author。 (我没有资格评论 XML::Smart,但从文档中的示例来看,我不太喜欢它)。如果您有非常大的文档需要流式传输,请改用XML::Twig。 @amon — XML::Simple 和 XML::Smart 都使用 expat 来解析 XML,这也是用 C 编写的。 投票重新开放。这是一个带有评估答案的特定标准的答案,而不是一个模糊的“哪个最好”的问题。 简短的回答,因为我不能发布一个:我已经完成了广泛的基准测试,并且 XML::LibXML 是解析速度最快的(并且它具有完整的功能集),但是 XML::Bare当您还考虑从树中提取数据所需的时间时(使用薄层来帮助获取数据)会稍微快一些。与它们与大多数其他解析器之间的差异相比,这两者之间的差异很小。 投票重新开放,因为它不是题外话。这是关于编程工具的常规问题,并且不是意见。当然,OP 可以编写自己的基准,但这并不意味着“离题”。 【参考方案1】:

XML::LibXML 是最快的,请参阅Ways to Rome 的基准。

对于“简单文件”而言,它可能重要,也可能不重要(我认为这意味着它不是太大)。

【讨论】:

【参考方案2】:

还有 XML::Fast 似乎是一个非常重要的竞争者。 XML::Simple 可以在底层使用 XML::LibXML,但我仍然认为它是目前 CalDAV 测试中主要的 CPU 消耗。

如果速度是您的主要考虑因素,值得一试。

【讨论】:

以上是关于哪个是更快的 XML 解析器? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Android:解析 XML 数据的最佳解析器 [关闭]

用于 Java 的 HTML/XML 解析器 [关闭]

DOM、SAX 和 StAX XML 解析器之间有啥区别? [关闭]

PHP:JSON 或 XML 解析器更快吗?

在这里使用哪个 XML 解析器?

Java 中,DOM 和 SAX 解析器有什么不同?