void timer()
{
SetThreadAffinityMask(GetCurrentThread(), 1); //choose core
LARGE_INTEGER start, end;
LARGE_INTEGER freq;
double result;
//timeConsuming();
QueryPerformanceFrequency(&freq);
QueryPerformanceCounter(&start);//start
running(); //running
QueryPerformanceCounter(&end); //end
result=(end.QuadPart - start.QuadPart)/(double)freq.QuadPart;
std::cout<<"start.QuadPart = "<<start.QuadPart<<std::endl; //output start
std::cout<<"end.QuadPart = "<<end.QuadPart<<std::endl; //output end
std::cout<<"consume value = end.QuadPart - start.QuadPart = "<<(end.QuadPart - start.QuadPart)<<std::endl;
cout<<"frequency= "<<freq.QuadPart<<"Hz "<<"("<<(double)freq.QuadPart/1024.0/1024.0<<"GHz)"<<endl;
std::cout<<"Time consumed:= "<<result<<"(s)"<<std::endl; //output consumed time
}
把你要测试的程序代码,写到running函数中,运行timer可计算此次运行所费时间。
QueryPerformanceFrequency(&freq); //计算时钟频率
QueryPerformanceCounter(&start);//start //开始时间
running(); //running
QueryPerformanceCounter(&end); //end //结束时间
result=(end.QuadPart - start.QuadPart)/(double)freq.QuadPart;//精确计时。