제프리 릭터의 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();
반응형
'as 소프트웨어엔지니어 > C++ and Beyond' 카테고리의 다른 글
C++에서의 몇 가지 의문 사항에 대한 정리 (3) RTTI (0) | 2004.11.02 |
---|---|
C++에서의 몇 가지 의문 사항에 대한 정리 (2) cast 연산자 (0) | 2004.11.01 |
C++에서의 몇 가지 의문 사항에 대한 정리 (1) virtual 키워드 (0) | 2004.10.31 |
STL(Standard Template Library) 기본 서적.. (0) | 2004.10.28 |
C 기초 플러스 개정 4판 (0) | 2004.10.20 |
댓글을 달아 주세요