250x250
꾸준희
Enough is not enough
꾸준희
전체 방문자
2,319,204
오늘
138
어제
774

공지사항

  • 꾸준희 블로그
  • 분류 전체보기 (580)
    • 생각 (14)
    • Book Review (38)
    • Paper Review (18)
    • Research Topic (126)
      • Deep Learning (24)
      • Pose Estimation (29)
      • Object Detection (22)
      • Object Segmentation (3)
      • Object Tracking (11)
      • Video Surveillance (4)
      • Action Recognition (6)
      • Stereo Vision (6)
      • 3D Reconstruction (4)
      • Machine Vision (2)
      • Image Processing (11)
      • Dataset (4)
    • Development (76)
      • NVIDIA DeepStream (3)
      • NVIDIA TensorRT (30)
      • NVIDIA TAO Toolkit (2)
      • ONNX (8)
      • PyTorch (5)
      • TensorFlow (15)
      • TensorFlow Lite (1)
      • GPU | CUDA | PyCUDA (12)
    • Programming (147)
      • GStreamer | FFmpeg (6)
      • Python (27)
      • C | C++ (15)
      • OpenCV (34)
      • Linux (36)
      • Embedded linux (7)
      • Etc. (22)
    • Computer Science (62)
      • 학부 및 대학원 과목 (22)
      • 선형대수학 및 기타 수학 (7)
      • SQL-D (33)
    • 삽질 기록 (49)
    • 기타 (50)
      • 참고자료 (30)
      • 좋은 글 (5)
      • 티스토리 (2)
      • 논문 작성 관련 참고 (10)
      • 메모 (0)

블로그 메뉴

  • 👀 CV
  • 🌸 GitHub
  • 💌 LinkedIn
  • 📚 방명록

최근 댓글

  • python으로 만든 코드를 이제 a⋯
    android 초보
  • cannot resolve symbol 'type'⋯
    android 초보
  • 정확히 뭐라고 뜨나요?
    꾸준희
  • 앗 ㅠ 제가 오랜만에 스킨을 바⋯
    꾸준희
  • 선생님 ㅜㅠ 각도 계산하는 부⋯
    android 초보
07-04 07:57

티스토리

hELLO · Designed By 정상우.
꾸준희

Enough is not enough

Programming/C | C++

[C, C++] 프로그램 수행시간 측정

2018. 9. 3. 13:40
반응형






프로그램 수행시간 또는 실행시간 측정하는 법






프로그래밍 중 특정 구간에서 코드 실행 시간을 알아내야 하는 경우에 쓰이는 방법이다.



C 또는 C++ 에서 프로그램 실행시간을 측정하는 방법은 크게 두 가지로 나뉘어 사용된다. 





1. time 함수 이용하기


#include <time.h> 헤더파일을 포함시키고 아래와 같이 사용한다. 


이와 같은 방법은 ms 단위가 아닌 초(s) 단위로 측정된다. 


#include <stdio.h>
#include <time.h>
 
int main() {
    time_t start, end;
    double result;
 
    start = time(NULL); // 수행 시간 측정 시작

    /* 수행시간 측정하고자 하는 코드 */

    end = time(NULL); // 시간 측정 끝
    result = (double)(end - start);

    // 결과 출력
    printf("%f", result); 

    return 0;
}





2. clock 함수 이용하기


ms 단위로 시간을 측정 할 수 있다. 마찬가지로 #include <time.h> 헤더 파일을 포함시켜야 한다.



마이크로 초(ms) 단위를 초(s)로 나타내려면 CLOCKS_PER_SEC 으로 나누어 나타내면 된다. 


CLOCKS_PER_SEC는 매크로인데 

clock_t 의 값을 CLOCK_PER_SEC 으로 나누면 소모한 시간 (clock ticks per second)가 나온다. 
#include <stdio.h>
#include <time.h>
 
int main() {    
    clock_t start, end;
    double result;
 
    start = clock(); // 수행 시간 측정 시작
    
    /* 수행시간 측정하고자 하는 코드 */

    end = clock(); //시간 측정 끝
    result = (double)(end - start);

    // 결과 출력
    cout << "result : " << ((result) / CLOCKS_PER_SEC) << " seconds" << endl;
    printf("%f", result / CLOCKS_PER_SEC);
    // 또는 cout << "result : " << result << " microseconds" << endl;
    // 또는 printf("%f", result);

    return 0;
}






참고자료 1 : http://blockdmask.tistory.com/187

참고자료 2 : http://hijuworld.tistory.com/1






반응형
저작자표시비영리
  • 카카오스토리
  • 트위터
  • 페이스북

'Programming > C | C++' 카테고리의 다른 글

[C++] 반복자 (Iterator)  (0) 2018.09.04
[C++] 자료형의 종류와 범위 그리고 WORD 와 DWORD  (2) 2018.09.03
[C, C++] 프로그램 수행시간 측정  (0) 2018.09.03
[C] printf 출력형식 %d %i %u %X %x %o %p %s %c %C %f %e %E %g %G  (0) 2018.08.29
[C] 포인터  (0) 2018.08.21
[C] 파일 목록 가져오기  (2) 2018.08.16
    'Programming/C | C++' 카테고리의 다른 글
    • [C++] 반복자 (Iterator)
    • [C++] 자료형의 종류와 범위 그리고 WORD 와 DWORD
    • [C] printf 출력형식 %d %i %u %X %x %o %p %s %c %C %f %e %E %g %G
    • [C] 포인터
    꾸준희
    꾸준희
    생각과 기록 그리고 발전
    댓글쓰기
    다음 글
    [C++] 자료형의 종류와 범위 그리고 WORD 와 DWORD
    이전 글
    [C] printf 출력형식 %d %i %u %X %x %o %p %s %c %C %f %e %E %g %G
    • 이전
    • 1
    • ···
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • ···
    • 15
    • 다음

    티스토리툴바