QJson与RapidJson性能的简单对比测试

盒子上一位朋友想知道QJson和C++编写的RapidJson之间的性能对比情况,限于精力,我只是简单的测试了下加载一个大的Json文件来对比解析性能(Demos\Delphi\VCL\QJson\Preferences.txt,文件大小:9.81MB),但做测试大家都知道与测试样本的关系很大,这里只对这一个测试用例负责,RapidJson是从官网下载的0.11版。

1、我们先改下rapidjson.h,注释掉不兼容的代码(16-21行改成下面的样子):

2、新建一个测试项目,由于文件是Ansi编码的,而rapidjson是用UTF8编码的,所以需要转下码,具体测试代码如下:

3、修改工程编译目标为Windows 64位,32位下Borland C++编译器由于兼容性问题无法顺利编译通过。

4、运行测试代码,得到解析结果。

至于QJson,直接运行演示程序,用从文件中加载按钮原来的代码测试加载时间。为了公开起见,两者均编译为64位,Release模式。

测试结果如下:

QJson:94ms(94*100/140=67.14%)

RapidJson:140ms(100%)

QJson要明显更快一些,但这个测试因为比较简单,可能对RapidJson未必完全公平,仅供参考。

分享到:

3 条评论

沙发空缺中,还不快抢~