> 백엔드 개발 > C++ > 내 코드에서 경과 시간을 어떻게 정확하게 측정할 수 있나요?

내 코드에서 경과 시간을 어떻게 정확하게 측정할 수 있나요?

DDD
풀어 주다: 2024-12-30 20:50:11
원래의
637명이 탐색했습니다.

How Can I Accurately Measure Elapsed Time in My Code?

정확한 기술로 경과 시간을 쉽게 측정

time()은 경과 시간 값을 제공할 수 있지만, 더 짧은 시간 범위에서 정확한 측정을 위해서는 그 세분성이 충분하지 않을 수 있습니다. 이 문제를 해결하려면 더 높은 정밀도를 제공하는 대체 방법을 사용하는 것이 좋습니다.

이러한 방법 중 하나는 gettimeofday() 함수를 활용하는 것입니다. 관심 있는 작업 전후의 시간을 캡처하면 두 값의 차이를 통해 보다 정확한 추정을 제공할 수 있습니다. 그러나 결과를 읽으려면 약간의 해석이 필요할 수 있습니다.

  • 0 26339: 26.339밀리초의 경과 시간을 나타냅니다.
  • 4 45025: 4초의 경과 시간을 나타내며 45.025 밀리초.

또는 C 11 이상에서는 를 사용하여 편리한 접근 방식을 제공합니다. std::chrono::steady_clock은 매우 작은 시간 간격을 정밀하게 측정할 수 있는 고해상도 시계를 제공합니다.

#include <chrono>

// Measure time using `<chrono>`
std::chrono::steady_clock::time_point begin = std::chrono::steady_clock::now();
// Execute time-consuming operations
std::chrono::steady_clock::time_point end = std::chrono::steady_clock::now();

// Calculate and display elapsed time
std::chrono::duration<double, std::micro> duration_microseconds = end - begin;
std::chrono::duration<double, std::nano> duration_nanoseconds = end - begin;
std::cout << "Elapsed time in microseconds: " << duration_microseconds.count() << "\n";
std::cout << "Elapsed time in nanoseconds: " << duration_nanoseconds.count() << "\n";
로그인 후 복사

이러한 향상된 기술을 채택함으로써 이제 프로그램에서 경과 시간을 정확하게 측정할 수 있습니다. 더욱 정확한 프로파일링과 성능 최적화가 가능합니다.

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

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