> 백엔드 개발 > C++ > C 코드 조각의 실행 시간을 어떻게 정확하게 측정할 수 있습니까?

C 코드 조각의 실행 시간을 어떻게 정확하게 측정할 수 있습니까?

Linda Hamilton
풀어 주다: 2024-11-28 15:00:16
원래의
198명이 탐색했습니다.

How Can I Accurately Measure the Execution Time of a C   Code Snippet?

C에서 코드 조각의 실행 시간을 정확하게 계산하는 방법

코드 성능을 최적화하려면 코드 조각의 실행 시간을 측정하는 것이 중요합니다. 이 기사에서는 C 코드 조각의 실행 시간을 효과적으로 계산하여 짧은 명령문이나 작은 입력에도 정확성을 보장하는 방법을 살펴봅니다.

시계의 한계:

시계 () 함수는 널리 사용됨에도 불구하고 짧은 기간을 측정하는 데 한계가 있습니다. 프로세스에서 소비한 CPU 시간을 반환합니다. 이는 대략적이고 간단한 작업의 경우 "0초" 결과를 생성할 수 있습니다.

해결책: GetTimeMs64() 함수 사용:

이러한 제한을 극복하기 위해 GetTimeMs64() 함수는 경과 시간을 보다 정확하게 측정하는 기능을 제공합니다. Windows와 Linux 모두에서 시스템 시계를 활용하여 몇 분 동안에도 정확한 결과를 제공합니다.

구현 세부 정보:

GetTimeMs64() 함수는 밀리초 수를 가져옵니다. UNIX 시대부터. 작동 방식:

  • Windows:

    • 시스템 시간을 FILETIME으로 검색하여 LARGE_INTEGER 구조로 변환합니다.
    • UNIX epoch 시간과 일치하도록 결과를 조정합니다. 밀리초.
  • Linux:

    • gettimeofday()를 사용하여 현재 시간을 가져옵니다.
    • 변환합니다. 마이크로초 값 밀리초.
    • 또한 밀리초로 변환된 초 값을 추가합니다.

사용:

GetTimeMs64()를 사용하는 코드 조각의 실행 시간 함수:

  1. GetTimeMs64.h 헤더 파일을 포함합니다.
  2. 코드 조각을 실행하기 전에 GetTimeMs64()를 호출합니다.
  3. 코드 조각 후에 GetTimeMs64()를 다시 호출합니다. 실행을 완료합니다.
  4. 경과 시간을 계산합니다. 마지막 시간에서 초기 시간을 뺍니다.

GetTimeMs64() 함수의 장점:

  • 정밀도: 특히 짧은 경우 더욱 정확한 결과를 제공합니다.
  • 크로스 플랫폼: Windows 및 Linux 시스템 모두에서 효과적으로 작동합니다.
  • 스레드 안전성: 멀티스레드 내에서 사용하기에 안전합니다.

고려 사항:

  • GetTimeMs64()의 시간 단위는 일반적으로 Windows에서 15ms이고 Linux에서는 다를 수 있습니다.
  • 이 기능은 경과된 벽시계 시간을 측정하며 여기에는 시스템 관련 시간이 포함될 수 있습니다. 지연됩니다.

위 내용은 C 코드 조각의 실행 시간을 어떻게 정확하게 측정할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿