Qt---log日志框架(2)从性能考虑文件操作

来源:互联网 发布:王吴悠是什么梗 知乎 编辑:程序博客网 时间:2024/06/03 16:36

做了一个小的测试工具,可以查看log,点击查看log,会选择系统默认的编辑器打开log,同时就问了我一个问题,为什么打开log后,删除文件内的日志,在产生的日志就不能写到日志里了?对于这个问题,是由于在写入日志的时候,只打开了一次log,对log做操作,破换了log,所以不能继续写入。要解决这个问题,只需要在写入log时,每次打开一次文件即可。但是,随之而来的问题便是频繁的对文件执行打开操作与只打开一次文件的效率有什么差异?所以下面做了一个小测试。

分别对写入文件10万次、100万次,1000万次,两者所用时间的差异。

测试结果如下:

10万次

开始写入文件log1

打开一次文件发送所用的时间为: 0.234513

te.tv_usec: 1493280598136496

tv.tv_usec: 1493280597901983

开始写入文件log2

频繁打开文件发送所用的时间为: 0.691914

te.tv_usec: 1493280604584612

tv.tv_usec: 1493280603892698

 

 

100万次

开始写入文件log1

打开一次文件发送所用的时间为: 2.2169

te.tv_usec: 1493280901167297

tv.tv_usec: 1493280898950394

开始写入文件log2

频繁打开文件发送所用的时间为: 10.1719

te.tv_usec: 1493280916001532

tv.tv_usec: 1493280905829610

 

 

1000万次

开始写入文件log1

打开一次文件发送所用的时间为: 21.2031

te.tv_usec: 1493280994099891

tv.tv_usec: 1493280972896765

开始写入文件log2

频繁打开文件发送所用的时间为: 90.5125

te.tv_usec: 1493281090662242

tv.tv_usec: 1493281000149779


由此可见,频繁打开文件的效率低于只打开一次文件的效率,大约相差4-5倍。

此测试程序已上传github:https://github.com/shangFangBaoJian/lianXuShuChuWenJian.git

0 0
原创粉丝点击