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



  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值