본문 바로가기
My/works

[MFC] STOPWATCH(스톱워치) 시간 측정하기 예제소스

by matt131 2012. 12. 27.
반응형

시간을 측정할 수 있는 StopWatch 함수에 대해 알아보자.

StopWatch는 함수 등 작업의 소요시간이 얼마나 걸리는 지 측정하는 데 용이하다.

사용법은 간단하다.

 

1. 다음 예제를 입력하여 헤더 파일을 생성한다.

 

[StopWatch.h]

 

 

#ifndef __STOPWATCH_H__
#define __STOPWATCH_H__
#include <sys/timeb.h>


class STOPWATCH
{
private:
struct _timeb m_Stb;
struct _timeb m_Etb;
__int64 m_stime;
__int64 m_etime;
public:
void Start()
{
_ftime(&m_Stb);
}
void End()
{
_ftime(&m_Etb);
}
__int64 TimeCheck()
{
m_stime = (__int64)m_Stb.time * (1000) + (__int64)m_Stb.millitm;
m_etime = (__int64)m_Etb.time * (1000) + (__int64)m_Etb.millitm;
return (m_etime - m_stime);
}
};

#endif

 

 

2. 시간측정이 필요한 소스에 위에 작성한 헤더파일을 include 하고 소스를 작성한다.

 

[xxx.cpp]

 

 

#include "StopWatch.h"

STOPWATCH CWatch;
CWatch.Start(); //시간측정 시작
/*시간측정할 작업입력*/
CWatch.End(); //시간측정 끝
CString str;
str.Format(L"%I64dms", CWatch.TimeCheck());
AfxMessageBox(str);

 

결과를 확인해보자.

 

 

다음과 같이 메세지박스 형태로 결과가 나타나도록 설정해두었다.

ms단위이므로 1/1000초, 나의 작업은 약 3.3초 걸린것을 확인할 수 있다.

 

 

반응형