[ CnUnix ] in KIDS 글 쓴 이(By): swhan (Nameless1) 날 짜 (Date): 2005년 8월 3일 수요일 오전 12시 29분 38초 제 목(Title): Re: 계산시간 측정? timer resolution이 10ms이상인겁니다. 중간에 sleep을 하거나 scheduling이 일어나지 않는 이상은 그렇게 근 값은 나오지 않을겁니다. 1ms인 경우도 있습니다. gettimeofday는 resolution이 micro sec이고, clock_gettime은 nano sec입니다만, 그것은 값을 반환해주는 구조체가 그렇게 생긴 것이고, 실제 얻을 수 있는 시간은 간격은 그거보다는 많이 큰게 현실입니다. 미래에 컴퓨터 성능이 많이 좋아질 경우에 대비해서 ns단위로 만들었다는 커더라 통신이 있습니다. 단순히 gettimeofday나 clock_gettime을 연속으로 2번 이상(루프가 아닌 순차수행으로) 실행해보고 그 사이에 단순한 loop를 백, 천, 만, 십만번정도(컴파일 최적화 없이) 돌려보면 감을 잡을 수 있으실겁니다. 적당한 loop횟수를 찾으셨으면 테스트할 알고리즘을 루프 속에 넣어보시면 되겠군요. 아주 단순한 함수나 알고리즘의 경우, 시간을 loop횟수로 나누어도 1번 실행에 걸린 시간보다 아주 큰 시간이 나올 수 있습니다. |