C ++ XML Parser(速度,访问DOM树)

时间:2014-07-01 05:49:47

标签: c++ dom c++11 xml-parsing

有没有人使用过c ++ XML解析器(TinyXML,RapidXML,PugiXML等)并且知道哪些有快速DOM树访问?我知道RapidXML Test的性能测试。但我对这些解析器的DOM树访问速度(例如循环通过节点,查找节点等)感兴趣。 有谁知道哪个是最快的c ++?它仍然是RapidXML吗?

3 个答案:

答案 0 :(得分:1)

仅对10至100 KB大小的“简单XML文件”进行了2个小单元测试“ RapidXML vs TinyXML”。我的测试控制台针对性能进行了完全优化。

  1. 单元测试#1 循环100000次以打开相同的XML文件并对其进行解析 结果:RapidXML / TinyXML = 1.19-快速提高19%。

  2. 单元测试#2 在相同的大小范围内,再次解析了一个包含247个不同XML文件的目录:结果:此处的差别很小,即RapidXML / TinyXML = 1.03。

PC:Windows 7 Pro,Precision Tower 3620

答案 1 :(得分:0)

PugiXML通常比RapidXML快一点。请查看基准测试结果:http://pugixml.org/benchmark/

正如您所看到的,TinyXML在那个工作台上非常慢。我个人正在使用PugiXML,我正在使用100 - 400 KB的XML文件,它工作正常。

答案 2 :(得分:0)

我目前正在使用RapidXML进行项目,而且速度非常快。解析速度非常好,迭代树很容易和快速。它的界面非常易于使用。迭代树真的是我正在做的事情(提取树结构和标签以便进一步处理),也许我对它的体验并不是对你有帮助的。但除非每个CPU周期都很重要,否则您应该更好地决定使用哪个界面(或进行自己的实验并分享结果)