通常我们在一些软件的初始化或者保存配置时都会遇到对XML文件的操作,包括读写xml文件,解析内容等等。在我的工作中就遇到了这么一个问题,就是在ARM平台下Qt解析xml文件非常的慢,最初怀疑是我的操作有问题或者是ARM平台下的文件操作本身就很慢,于是就开始调查到底是哪里的效率问题,下面是一些测试分享给大家。
下面一段代码是前面提到的运行效率低的一段代码:
起初以为是文件打开和关闭耗时太多,所以在文件open和close函数前后都获取了系统时间来测试了函数消耗时间,结果是耗时很短,反而是 耗费了非常长的时间,这才发现原来是Qt获取XML文件内容且Dom模型结构花费了太多时间,所以我们开始寻求效率更高的解决方案。
Windows:
system:windows 10
cpu: intel core-i5-5200u @2.2GHz
IDE: visual studio 2010
compiler: VC10Linux:
system: Debian 4.4.5-8
cpu: intel core-i5-3450 @3.3GHz
IDE: VIM
compiler: gcc version 4.4.5
- Qt版本: 4.8.4
- 用来测试的文件名为 DriverConfig.xml,大小为245Kb,共1561行,大部分内容为中文
- 比较项有 TinyXml2, QDomDocument,因为从接口来看这两者的操作方式很类似,后面我会加入其它的xml解析库的比较,如 xmlbooster 等。
下面是利用Qt中的xml支持来读取文件内容的源代码:
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.mushiming.com/mjsbk/2428.html