c++怎么计算代码运行时间到超精确毫秒级别

本文介绍在Windows环境下使用多种方法进行毫秒级性能测试与计时,包括GetTickCount函数、微秒级精确计时以及高性能计时器类CTimer的应用,通过实例演示如何准确测量程序执行时间。

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



//在windows下实现(毫秒级):

DWORD dwStart = GetTickCount(); //取windows启动到现在的流逝时间(毫秒)
Run_Your_Func(...); //运行你的函数
DWORD dwUsed = GetTickCount() - dwStart; //计算该函数所消耗的时间

方法三:

这比微秒还准!依赖于你的处理器!!!

class CTimer
{
public:
CTimer()
{
QueryPerformanceFrequency(&m_Frequency);
Start();
}
void Start()
{
QueryPerformanceCounter(&m_StartCount);
}
double End()
{
LARGE_INTEGER CurrentCount;
QueryPerformanceCounter(&CurrentCount);
return double(CurrentCount.LowPart - m_StartCount.LowPart) / (double)m_Frequency.LowPart;
}
void ShowNow()
{
LARGE_INTEGER CurrentCount;
QueryPerformanceCounter(&CurrentCount);
cout<<"Timer Count is:"<<double(CurrentCount.LowPart - m_StartCount.LowPart) / (double)m_Frequency.LowPart<<endl;
}
private:
LARGE_INTEGER m_Frequency;
LARGE_INTEGER m_StartCount;
};


下面是你的程序,比如:

int a;
for ( int i = 0; i < 10000;, i++ )
    a++;

你想测它的时间的话这样写:

CTimer t;

int a;
for ( int i = 0; i < 10000;, i++ )
    a++;

cout<<"用时"<<t.end()<<"秒"<<endl;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值