Romi-知行合一

轻轻的风轻轻的梦,轻轻的晨晨昏昏, 淡淡的云淡淡的泪,淡淡的年年岁岁。
  博客园  :: 首页  :: 新随笔  :: 订阅 订阅  :: 管理

C/C++/Qt 统计运行时间

Posted on 2012-04-19 15:28  romi  阅读(14044)  评论(0编辑  收藏  举报

程序中经常需要统计时间,需要统计某项运算的运行时间时,需要计算时间差。

1. C/C++

C中有基础库用于实现该功能,功能在time.h头文件中,代码实例如下:

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 #include <time.h>
 4 
 5 void main()
 6 {
 7     double time_Start = (double)clock(); //开始时间
 8     //操作。。。
 9     double timr_Finish = (double)clock(); //结束时间
10 
11     printf("operate time: %.2fms",(time_Finish-time_Start); //输出
12 }

2. QT

Qt程序中也可以使用C的方法,当然Qt内部封装了一个时间统计的方法:QTime类(注意不是QTimer,QTimer是计时用的)

QTime类使用手册将官方文档:http://qt-project.org/doc/qt-4.8/qtime.html

代码示例如下:

1 #include <QTime>
2 
3 QTime time;
4 time.start(); //开始计时,以ms为单位
5 int time_Diff = time.elapsed(); //返回从上次start()或restart()开始以来的时间差,单位ms
6 
7 //以下方法是将ms转为s
8 float f = time_Diff/1000.0;
9 QString tr_timeDiff = QString("%1").arg(f); //float->QString

其他的很多库都会对时间统计方法进行封装,对于统计运行时间差余以为调用C的方法是最好用的