QueryPerformanceCounterの使い方。しょっちゅう忘れるのでメモ。
メインへ戻る
#include <stdio.h>
#include <windows.h>
__int64 watch1 = 0;
void start_watch(void)
{
QueryPerformanceCounter((LARGE_INTEGER *)&watch1);
}
void stop_watch(void)
{
__int64 watch2 = 0, freq = 0;
QueryPerformanceCounter((LARGE_INTEGER *)&watch2);
QueryPerformanceFrequency((LARGE_INTEGER *)&freq);
printf("elapsed = %.15f (msec)\n",(watch2-watch1)/(double)freq*1000.0);
}
int main(void)
{
double x;
start_watch();
for(long i=0; i<100000; ++i)
x += i * 0.1;
stop_watch();
return 0;
}
(実行結果)
私の高速 0.8GHzマシンでの実行結果(^^)。
$ a
elapsed = 1.258260477239426 (msec)
ネタはこちら↓
http://support.microsoft.com/kb/815668/ja
Copyright (C) 2007 Nakayama Masahito