您的位置:首页 > 其它

关于计算程序运行时间的方法汇总

2013-06-03 10:03 501 查看

关于计算程序运行时间的方法汇总

1、GetTickCount()函数

1.1 函数介绍

  该函数是windows里面常用来计算程序运行时间的函数;

1.2 使用方法:    

  DWORD dwStart = GetTickCount();
  //这里运行你的程序代码
  DWORD dwEnd = GetTickCount();
  则(dwEnd-dwStart)就是你的程序运行时间, 以毫秒为单位。这个函数只精确到55ms,1个tick就是55ms。

1.3 代码示例

1 #include <iostream>
2 #include <windows.h>
3 using namespace std;
4 int main(int argc, char* argv[])
5 {
6    DWORD start, end;
7
8    start = GetTickCount();
9    for(int i=0;i<1000;i++)
10        cout<<"you are a good child!"<<endl;   //your code
11    end = GetTickCount()-start;
12    cout<<end<<endl;
13    return 0;
14 }


2、timeGetTime()函数

2.1 函数介绍
timeGetTime()和上一中方法中的GetTickCount()函数类似,但是精度更高。

2.2 使用说明
  DWORD dwStart = timeGetTime();

  //这里运行你的程序代码

  DWORD dwEnd = timeGetTime();

  则(dwEnd-dwStart)就是你的程序运行时间, 以毫秒为单位。 虽然返回的值单位应该是ms,但传说精度只有10ms。

2.3 代码示例

1 #include <iostream>
2 #include <windows.h>
3 #pragma comment(lib,"winmm.lib")
4
5 using namespace std;
6 int main(int argc, char* argv[])
7 {
8   DWORD start, end;
9
10   start = timeGetTime();
11   for(int i=0;i<100;i++)
12      cout<<"you are a good child!"<<endl;
13   end = timeGetTime()-start;
14   cout<<end<<endl;
15   return 0;
16 }


3、clock()函数

3.1 函数介绍
用clock()函数,得到系统启动以后的毫秒级时间,然后除以CLOCKS_PER_SEC,就可以换成“秒”,标准c函数。
clock_t clock ( void );

3.2 使用说明

#include <time.h>
clock_t t = clock();
long sec = t / CLOCKS_PER_SEC;
他是记录时钟周期的,实现看来不会很精确,需要试验验证。

3.3 代码示例

1 #include<iostream>
2 #include<ctime> //<time.h>
3 using   namespace   std;
4 int   main()
5 {
6     time_t   begin,end;
7
8     double duration;
9     begin=clock();
10     //这里加上你的代码
11     end=clock();
12
13     duration=double(end-begin)/CLOCKS_PER_SEC;
14     cout<<"runtime:   "<<duration<<endl;
15 }


5、Ctime类

  CTime MFC类,好像就是把time.h封了个类,没扩展
  CTime t = GetCurrentTime();

或者

  CTime curTime(t1);
  WORD ms = t1.wMilliseconds;

6、GetLocalTime()函数 GetSystemTime()函数

6.1、函数介绍

WindowsAPI,需要定义SYTEMTIME变量

SYSTEMTIME 结构包含毫秒信息
typedef struct _SYSTEMTIME {
WORD wYear;
WORD wMonth;
WORD wDayOfWeek;
WORD wDay;
WORD wHour;
   WORD wMinute;
   WORD wSecond;
   WORD wMilliseconds;
    } SYSTEMTIME, *PSYSTEMTIME;

6.2、使用说明

  SYSTEMTIME t1;
  GetSystemTime(&t1)

或者

SYSTEMTIME sysTm;
::GetLocalTime(&sysTm);

7. _strtime()函数

7.1、函数介绍
  在time.h中的_strtime() //只能在windows中用
7.2 使用说明

   char t[11];
  _strtime(t);
  puts(t);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: