好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

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

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

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

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);

 

 

分类:  C++

作者: Leo_wl

    

出处: http://www.cnblogs.com/Leo_wl/

    

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

版权信息

查看更多关于关于计算程序运行时间的方法汇总的详细内容...

  阅读:39次