//在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;