2008년 09월 20일
윈도우 환경에서 C/C++ 프로그램 실행 시간 측정 하기
출처 : http://209.85.175.104/search?q=cache:Yqh_TxBLaTQJ:grmanet.sogang.ac.kr/zbxe/algorithm08/141361+시간+측정&hl=ko&ct=clnk&cd=3&gl=kr
필요한 헤더
#include < windows.h >
디파인
#define CHECK_TIME_START QueryPerformanceFrequency ((_LARGE_INTEGER*)&freq); QueryPerformanceCounter((_LARGE_INTEGER*)&start)
#define CHECK_TIME_END(a) QueryPerformanceCounter((_LARGE_INTEGER*)&end); a=(float)((float) (end - start)/freq)
필요한 함수 선언
__int64 start, freq, end;
float resultTime=0;
// 시간측정 시작
CHECK_TIME_START;
////// 측정할 부분
// 측정 종료
CHECK_TIME_END(resultTime);
// 출력 (초단위)
printf("%f(s).. \n", resultTime);
예제
#include < stdio.h >
#include < windows.h >
#define CHECK_TIME_START QueryPerformanceFrequency ((_LARGE_INTEGER*)&freq); QueryPerformanceCounter((_LARGE_INTEGER*)&start)
#define CHECK_TIME_END(a) QueryPerformanceCounter((_LARGE_INTEGER*)&end); a=(float)((float) (end - start)/freq)
int main()
{
__int64 start, freq, end;
float resultTime=0;
CHECK_TIME_START;
printf("helloworld");
CHECK_TIME_END(resultTime);
printf("%f(s).. \n", resultTime);
return 0;
}
안돌려 봤는데 될꺼다. 헬로월드를 찍는데 얼마나 걸릴것인가!
자바는.... System.nanotime(); 쓰면 될것이다.. 음.. System쪽이 아니었나 하하;
체크하고자 하는 구간 앞뒤에서 나노타임으로 시간 찍고 빼주면 실행시간.
필요한 헤더
#include < windows.h >
디파인
#define CHECK_TIME_START QueryPerformanceFrequency ((_LARGE_INTEGER*)&freq); QueryPerformanceCounter((_LARGE_INTEGER*)&start)
#define CHECK_TIME_END(a) QueryPerformanceCounter((_LARGE_INTEGER*)&end); a=(float)((float) (end - start)/freq)
필요한 함수 선언
__int64 start, freq, end;
float resultTime=0;
// 시간측정 시작
CHECK_TIME_START;
////// 측정할 부분
// 측정 종료
CHECK_TIME_END(resultTime);
// 출력 (초단위)
printf("%f(s).. \n", resultTime);
예제
#include < stdio.h >
#include < windows.h >
#define CHECK_TIME_START QueryPerformanceFrequency ((_LARGE_INTEGER*)&freq); QueryPerformanceCounter((_LARGE_INTEGER*)&start)
#define CHECK_TIME_END(a) QueryPerformanceCounter((_LARGE_INTEGER*)&end); a=(float)((float) (end - start)/freq)
int main()
{
__int64 start, freq, end;
float resultTime=0;
CHECK_TIME_START;
printf("helloworld");
CHECK_TIME_END(resultTime);
printf("%f(s).. \n", resultTime);
return 0;
}
안돌려 봤는데 될꺼다. 헬로월드를 찍는데 얼마나 걸릴것인가!
자바는.... System.nanotime(); 쓰면 될것이다.. 음.. System쪽이 아니었나 하하;
체크하고자 하는 구간 앞뒤에서 나노타임으로 시간 찍고 빼주면 실행시간.
# by | 2008/09/20 00:57 | 공부 | 트랙백 | 덧글(0)




☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]