msより細かいよ 高分解能パフォーマンスカウンタ QueryPerformanceCounter

LARGE_INTEGER nFreq, nBefore, nAfter;
DWORD dwTime;

//変数の初期化
memset(&nFreq,   0x00, sizeof nFreq);
memset(&nBefore, 0x00, sizeof nBefore);
memset(&nAfter,  0x00, sizeof nAfter);
dwTime = 0;

QueryPerformanceFrequency(&nFreq);
QueryPerformanceCounter(&nBefore);	
Sleep(100);//計算したい処理
QueryPerformanceCounter(&nAfter);

dwTime = (DWORD)((nAfter.QuadPart - nBefore.QuadPart) * 1000 / nFreq.QuadPart);
printf("%d ミリ秒\n", dwTime);

※ハードウェアがパフォーマンスカウンタをサポートしていないときは、QueryPerformace〜関数は0を返します。 

ネタ元