VC精确计算代码执行时间方法

本文介绍了一种在C语言或VC环境中精确计算代码执行时间的方法,包括使用QueryPerformanceCounter()函数进行高精度计数器测量,以及通过包含<time.h>头文件的GetTickCount()函数实现的时间测量技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1)在C语言中或者VC中有很多种计算代码执行时间的代码,其中有一种精确计算时间的方法:

__int64   Frequency;   
__int64   startTime = 0;   
__int64   curTime;   
double dTime = 0;   

//QueryPerformanceFrequency返回硬件支持的高精度计数器的频率
//返回值:非零,硬件支持高精度计数器;零,硬件不支持,读取失败
QueryPerformanceFrequency((LARGE_INTEGER   *)   &Frequency);   
QueryPerformanceCounter((LARGE_INTEGER*)   &startTime);//开始时间

//需计算执行时间的代码

QueryPerformanceCounter((LARGE_INTEGER*)   &curTime);//结束时间

if(startTime> 0 && curTime > 0 )//计算时间,单位是秒
{
    dTime = (double)(curTime - startTime) / (double)Frequency;
}
 
2)#include <time.h> //需要包含的头文件
DWORD begin=0, end=0, cost; 
begin = GetTickCount();
//你自己的代码
end = GetTickCount();
cost = (DWORD)(end - begin);//计算以毫秒为单位,精度较差

3)#include<iostream.h>
#include<time.h>
void main()
{
 clock_t start,finish;
 double totaltime;
 start=clock();
 …… //把你的程序代码插入到这里面
  finish=clock();
 totaltime=(double)(finish-start)/CLOCKS_PER_SEC;
 cout<<"\n此程序的运行时间为"<<totaltime<<"秒!"<<endl;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值