求教:这两段测试程序运行时间的代码有什么不同?
1、double rt;
LARGE_INTEGER nFreq;
LARGE_INTEGER nBeginTime;
LARGE_INTEGER nEndTime;
QueryPerformanceFrequency(&nFreq); // 获取时钟频率
QueryPerformanceCounter(&nBeginTime); // 获取时钟计数
////////////////////////////////////////////////////////
须测试的代码段
////////////////////////////////////////////////////////
QueryPerformanceCounter(&nEndTime);
rt=(double)(nEndTime.QuadPart-nBeginTime.QuadPart)/nFreq.QuadPart;
printf("\nRunTime:%f\n",rt);
2、
double rt;
clock_t start,end;
start=clock();
//////////////////////////////////////////////////////////
代码段
//////////////////////////////////////////////////////////
end=clock();
rt=(double)(end-start)/CLOCKS_PER_SEC;
printf("\nRunTime:%f\n",rt);
若有区别,哪种方法好?