c++中计算程序段运行时间

图像处理中,用GetTickCount()函数实现最简单的程序运行统计时间:

GetTickCount,函数。GetTickCount返回(retrieve)从操作系统启动到现在所经过(elapsed)的毫秒数,它的返回值是DWORD。

库文件:kernl32.dll
C/C++头文件:winbase.h
windows 程序设计中可以使用头文件 windows.h
实例:

#include <iostream>

#include "windows.h"

using namespace std;

void main()

{

DWORD StartTime,EndTime,Time;

StartTime=GetTickTime();

        程序运行处。。。。。

             。。。。。

       程序运行结束。。。。

EndTime=GetTickTime();

Time=EndTime-StartTime;

cout<<"Time="<<Time<<endl;

}


以下是从网上找的一些其他实现方法,仅供参考:

在C++的库函数中,我们可以使用clock()来计算程序的运行时间,主要使用一下三个函数类型及函数:

1、clock_t:数据类型,其实,当你打开time.h就知道了,就是个long型,用来记录一段时间内的clocks数,即CPU的运行单元时间;
2、clock():返回类型clock_t,返回的是从程序开始,到你调用clock()函数这段时间的clocks;
3、CLOCKS_PER_SEC:它用来表示一秒钟会有多少个时钟计时单元,即:

     #define   CLOCKS_PER_SEC ((clock_t)1000) 
     可以看到每过千分之一秒(1毫秒),调用clock()函数返回的值就加1。

下面举个例子,你可以使用公式clock()/CLOCKS_PER_SEC来计算一个进程自身的运行时间:

我们若想计算程序的运行时间,则只要根据程序的入口点和出口点出都计算clocks,再算差就可以了,都是在main()中进行操作,如下:
 int main() {
   clock_t start, end;

   start = clock();
  
.......//要记录运行时间的程序段;
  end = clock();
        cout<<"Run time: "<<(double)(end - start) / CLOCKS_PER_SEC<<"S"<<endl;

//要记录分钟的话,上面的程序改为(double)(end - start) / CLOCKS_PER_SEC/60即可;
   return 0;
    }



你可能感兴趣的:(c++中计算程序段运行时间)