제프리 릭터의 Programming Applications for Microsoft Windows에 담긴 내용입니다.
**주의 사항**
실행 쓰래드는 비선점이라고 가정함. (허나..대부분의 고 정밀도의 실행 시간을 원하는 코드는 수명이 짧도록 작성된다.)
**주의 사항**
실행 쓰래드는 비선점이라고 가정함. (허나..대부분의 고 정밀도의 실행 시간을 원하는 코드는 수명이 짧도록 작성된다.)
class CStopwatch {
private:
LARGE_INTEGER m_liPerfFreq;
LARGE_INTEGER m_liPerfStart;
public:
CStopwatch() {
QueryPerformanceFrequency(&m_liPerfFreq);
Start();
}
void Start() {
QueryPerformanceCounter(&m_liPerfStart);
}
__int64 Now() const {
LARGE_INTEGER liPerfNow;
QueryPerformanceCounter(&liPerfNow);
return (
((liPerfNow.QuadPart - m_liPerfStart.QuadPart)
* 1000) / m_liPerfFreq.QuadPart);
}
};
**사용법**
//스탑워치 타이머를 생성한다.(기본값으로 현재 시간이 맞추어짐)
CStopwatch stopwatch;
/////////////////////////
//시간 잴 코드는 이곳에
/////////////////////////
//현재까지 얼마만큼의 시간이 흘렀는지를 얻는다.
//qwElapsedTime은 코드가 실행에 소비한 시간. 단위는 milliseconds.
__int64 qwElapsedTime = stopwatch.Now();
'of 프로그래머 > plfm.Microsoft' 카테고리의 다른 글
| 커널 객체를 이용한 쓰래드 동기화(5) - 뮤텍스 (0) | 2004/10/27 |
|---|---|
| 커널 객체를 이용한 쓰래드 동기화(4) - 세마포어 (0) | 2004/10/26 |
| 커널 객체를 이용한 쓰래드 동기화(3) - 대기가능 타이머 (0) | 2004/10/26 |
| 커널 객체를 이용한 쓰래드 동기화(2) - 이벤트 (0) | 2004/10/26 |
| 커널 객체를 이용한 쓰래드 동기화(1) - 기본 사항 (0) | 2004/10/25 |
| 고 정밀도(high-resolution)로 코드 실행 시간 재기 (0) | 2004/10/21 |



