문제

그래서 나는 clock ()가 시계 사이클을 측정하므로 시간을 측정하는 데별로 좋지 않다는 것을 알고 있으며, 벽 시간을 얻는 omp_get_wtime ()과 같은 기능이 있다는 것을 알고 있지만 벽 시간이 다양하다는 것은 좌절감이 있습니다. 많이, 그리고 뚜렷한 클럭 사이클을 측정 할 수있는 방법이 있는지 궁금했습니다 (하나 이상의 스레드가 실행 되더라도 한 번만 사이클 만). 그것은 비교적 단순한/기본이어야합니다. 감사

도움이 되었습니까?

해결책

Freememory의 답변을 참조하십시오 이 질문 RDTSC의 경우 테스트 한 X86을 사용하는 경우 내 시스템 (MAC)에서 잘 작동하는 것처럼 보이지만 내 답변을 참조하십시오. 이 질문. 또한 RDTSC의 비판을 참조하십시오 여기.

비록 너무 낮은 수준의 디테일로 내려갈 가치가 없지만 컴퓨터가해야 할 다른 비트와 작품이 클록 사이클을 사용하면 부하에 따라 다릅니다. 나는 찾았다 omp_get_wtime() 충분하지만, 내 코드를 추가 루프에 넣어야하지만 실행 중 일관된 결과를 보장하는 데 약 1 초가 걸리도록해야합니다.

다른 팁

시간 측정이 당신에게 효과가 없을 것이라고 확신합니까? OS에 따라 많은 밀리 초로 만 측정 할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top