非常精确的测试运行时间(比clock()更精确些)
生活随笔
收集整理的這篇文章主要介紹了
非常精确的测试运行时间(比clock()更精确些)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
// timerTest.cpp : 定義控制臺應用程序的入口點。
//
#include "stdafx.h"
#include <Windows.h>
int _tmain(int argc, _TCHAR* argv[])
{
?? ?/*
?? ?QueryPerformanceCounter來查詢定時器的計數值,如果硬件里有定時器,它就會啟動這個定時器,并且不斷獲取定時器的值,這樣的定時器精度,就跟硬件時鐘的晶振一樣精確的。
?? ?*/
?? ?LARGE_INTEGER qpc1;
?? ?QueryPerformanceCounter(&qpc1);//是返回定時器當前計數值。
?? ?LARGE_INTEGER qpf;
?? ?QueryPerformanceFrequency(&qpf);//是返回定時器的頻率。
?? ?Sleep(1000);
?? ?LARGE_INTEGER qpc2;
?? ?QueryPerformanceCounter(&qpc2);
?? ?LONGLONG ll = qpc2.QuadPart-qpc1.QuadPart;
?? ?double d =ll/(double)(qpf.QuadPart);
?? ?printf("中間時間是:%f\n",d);
?? ?return 0;
}
//
#include "stdafx.h"
#include <Windows.h>
int _tmain(int argc, _TCHAR* argv[])
{
?? ?/*
?? ?QueryPerformanceCounter來查詢定時器的計數值,如果硬件里有定時器,它就會啟動這個定時器,并且不斷獲取定時器的值,這樣的定時器精度,就跟硬件時鐘的晶振一樣精確的。
?? ?*/
?? ?LARGE_INTEGER qpc1;
?? ?QueryPerformanceCounter(&qpc1);//是返回定時器當前計數值。
?? ?LARGE_INTEGER qpf;
?? ?QueryPerformanceFrequency(&qpf);//是返回定時器的頻率。
?? ?Sleep(1000);
?? ?LARGE_INTEGER qpc2;
?? ?QueryPerformanceCounter(&qpc2);
?? ?LONGLONG ll = qpc2.QuadPart-qpc1.QuadPart;
?? ?double d =ll/(double)(qpf.QuadPart);
?? ?printf("中間時間是:%f\n",d);
?? ?return 0;
}
總結
以上是生活随笔為你收集整理的非常精确的测试运行时间(比clock()更精确些)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 防外挂和防木马的通用解决方案
- 下一篇: VC检测环境的宏