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
- Qt---log日志框架(2)从性能考虑文件操作
- Qt---log日志框架(1)
- iOS 文件操作,记录log日志。
- 开启关闭、操作日志文件alter.LOG trace.LOG
- yii2 日志操作(log)以及写入不同的log文件
- Qt log日志保存
- Log日志框架
- java 操作日志 log
- 从log文件看MeeGo播放器性能
- Oracle联机重做日志文件(online redo log file)相关操作
- 两个日志记录程序操作同一个log文件
- QT log日志的使用
- 创建调试日志(log)文件
- 清理数据库日志(log)文件
- java日志文件 log
- 创建log日志文件
- Google log 日志文件
- (2) 配置日志log
- 网络流--平面图转换对偶图
- 测试1
- mysql蠕虫复制
- 优先级
- 使用Python通过win32 COM实现Excel的写入与保存
- Qt---log日志框架(2)从性能考虑文件操作
- IE与其他浏览器的区别
- 简易的lazyman实现
- windows向virtualbox上的Linux系统传文件
- 面向对象编程的几个原则
- 面试笔试算法系列之分治法
- PAT 乙等 1024 科学记数法 C语言
- SonicOperator之相关工作2
- 应用调试之使用gdb和gdbserver