타이밍 기능 중, time, clock getrusage, clock_gettime, gettimeofday그리고 timespec_get, 나는 그들이 구현하는 방법을 명확하게 이해하고 싶은 어떤 상황에서 내가 그들을 사용해야 알기 위해 자신의 반환 값 것입니다.
먼저 wall-clock 값 을 반환하는 함수를 프로세스 또는 스레드 값을 반환하는 함수와 비교 하여 분류해야 합니다 . 전달 된 매개 변수 에 따라 gettimeofday벽시계 값, clock_gettime벽시계 값 또는 프로세스 또는 스레드 값을 리턴 Clock합니다. getrusage및 clock공정 값을 반환합니다.
그런 다음 두 번째 질문은 이러한 기능의 구현과 결과적으로 정확성에 관한 것입니다. 이러한 기능을 사용하는 하드웨어 또는 소프트웨어 메커니즘
것으로 보인다 getrusage용도에만 커널 틱 (보통 긴 1MS)과 결과적으로는 MS보다 더 정확하지 않을 수 있습니다. 맞아? 그런 다음이 getimeofday기능은 사용 가능한 가장 정확한 기본 하드웨어를 사용하는 것 같습니다. 결과적으로 정확도는 최신 하드웨어에서 일반적으로 마이크로 초 (API 때문에 더 이상 될 수 없음)입니다. 에 대해 무엇을 clock, "근사"에 대한 매뉴얼 페이지가 말하는, 그것은 무엇을 의미합니까? 무엇에 대해 clock_gettime, API는, 나노초에 그것이 하드웨어를 기본 것은 허용하는 경우 그렇게 정확하게 할 수 있다는 의미는 무엇입니까? 단 조성은 어떻습니까?
다른 기능이 있습니까?
clock_gettime,의 따라서 사용gettimeofday()보다 더 다양한 조금 인clock_gettime()