소개
시간 간격을 정확하게 측정하는 것은 다양한 애플리케이션에서 매우 중요합니다. 특히 고속 프로세스를 다룰 때. 이 문서에서는 결과를 초 단위로 제공하므로 C에서 clock_t를 사용하여 시간을 측정할 때 발생하는 일반적인 문제를 해결합니다. 나노초 정밀도로 시간 측정값을 얻기 위해 Linux용 clock_gettime() 및 Windows용 QueryPerformanceCounter를 사용하는 대체 방법을 살펴보겠습니다.
Linux용 clock_gettime()
Linux 시스템의 경우, clock_gettime() 함수는 보다 정확한 타이머를 제공합니다. 다음 코드 조각은 그 사용법을 보여줍니다.
#include <sys/time.h> #include <iostream> int main() { timespec ts; clock_gettime(CLOCK_MONOTONIC, &ts); // CLOCK_REALTIME for real-world time std::cout << "Nanoseconds: " << ts.tv_nsec << "\n"; return 0; }
Windows용 QueryPerformanceCounter
Windows에서는 고정밀 타이밍을 위해 QueryPerformanceCounter 함수를 사용할 수 있습니다.
#include <Windows.h> #include <iostream> int main() { LARGE_INTEGER start, end, frequency; QueryPerformanceFrequency(&frequency); QueryPerformanceCounter(&start); // Run some code you want to time QueryPerformanceCounter(&end); double timeInNanos = (double)(end.QuadPart - start.QuadPart) * 1000000000.0 / frequency.QuadPart; std::cout << "Nanoseconds: " << timeInNanos << "\n"; return 0; }
추가 고려 사항
이러한 방법을 활용하면 개발자는 C에서 나노초 정밀도로 정확한 시간 측정값을 얻을 수 있으므로 정밀한 벤치마킹 및 타이밍에 민감한 애플리케이션이 가능해집니다.
위 내용은 C에서 나노초 정밀도 타이밍을 달성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!