#include <iostream>
#include <windows.h>
LARGE_INTEGER BegainTime ;
LARGE_INTEGER EndTime ;
LARGE_INTEGER Frequency ;
QueryPerformanceFrequency(&Frequency);
QueryPerformanceCounter(&BegainTime) ;
//要测试的代码放在这里
------------------------------------
QueryPerformanceCounter(&EndTime);
//输出运行时间(单位:s)
cout << "运行时间(单位:s):" <<(double)( EndTime.QuadPart - BegainTime.QuadPart )/ Frequency.QuadPart <<endl;
用VS不需要加两个头文件,且不能用最后输出结果的这种方式
微秒级定时器:
LARGE_INTEGER litmp;
LONGLONG QPart1, Qpart2;
double dfMinus, dfFreq, dfTime;
//获得计时器的时钟频率
QueryPerformanceFrequency(&litmp);
dfFreq = (double)litmp.QuadPart;
QueryPerformanceCounter(&litmp);
QPart1 = litmp.QuadPart; //开始计时
//要测试的代码放在这里
------------------------------------
QueryPerformanceCounter(&litmp);
Qpart2 = litmp.QuadPart; //终止计时
dfMinus = (double)(Qpart2 - QPart1);//计算计数器值
dfTime = dfMinus / dfFreq;//获得对应时间,单位为秒 你可以乘1000000精确到微秒级(us)