win与Linux中的精确计时

来源:互联网 发布:淘宝图片尺寸和大小 编辑:程序博客网 时间:2024/05/22 15:29


win下精确计时, 有二种方法,精度不同代码如下:

DWORD startTime = GetTickCount();// do somethingDWORD totalTime = GetTickCount() - startTime;根据MSDN,此方法的精确度为10-16ms



// 取得时钟频率LARGE_INTEGER  litmp ;QueryPerformanceFrequency(&litmp);     LARGE_INTEGER  start;QueryPerformanceCounter(&start) ; //do somethingLARGE_INTEGER  end;QueryPerformanceCounter(&end) ; double dTotalTime = (double)(end.QuadPart-start.QuadPart) / (double)litmp.QuadPart;    //秒

Linux下精确计时,代码如下:

//此方法精度可达到微妙级#include <sys/time.h>struct timeval startTime,endTime;  float Timeuse;  gettimeofday(&startTime,NULL); gettimeofday(&endTime,NULL);  Timeuse = 1000000*(endTime.tv_sec - startTime.tv_sec) + (endTime.tv_usec - startTime.tv_usec);  Timeuse /= 1000;//毫秒    printf("Timeuse = %f\n",Timeuse);


0 0
原创粉丝点击