|

楼主 |
发表于 2009-9-14 16:35:00
|
显示全部楼层
Re:请教关于程序运行时间测定的一个问题。。。
我找到了一个
粗略计算CPU周期的函数
大虾来看看是否OK
#include "stdafx.h"
#include"windows.h"
int _tmain(int argc, _TCHAR* argv[])
{
double dft,dff,dfm; //用于计算时间的变量
LARGE_INTEGER litmp;
long long qt1,qt2; //存放时间的变量
QueryPerformanceFrequency(&litmp);//获得时钟频率
dff=(double)litmp.QuadPart;
QueryPerformanceCounter(&litmp);//获得初始值
qt1=litmp.QuadPart;
for(int i=6000;i--;);//测试的程序
QueryPerformanceCounter(&litmp);//获得终止值
qt2=litmp.QuadPart;
dfm=(double)(qt2-qt1);//获得对应的时间值
dft=dfm/dff;
printf("时间:%lf\n",dft);//输出时间单位秒
printf("周期:%lf\n",dfm); //输出程序所用周期
printf("周期每秒:%lf\n",dff);//输出时钟周期
return 0;
}
|
|