타이밍 루틴 성능 테스트

kama4001의 이미지

알고리즘의 성능 테스트를 위해서 타이밍 루틴의 오버헤드를 측정해 보았습니다. (소스 참조)

혹시나 다른 분들은 어떻게 했는가 해서 찾아보니 웹사이트(IBM의 developerworks)에서 유사한 것을 찾았습니다.(본 소스가 그 것입니다)

하지만 테스트 결과 커널의 버전은 동일하지만 결과치는 너무나 달라서

그 어떤 오류나 아니면 버전의 문제가 있는 것인지.. 혹은

제가 모르는 부분이 있는것인지 궁금해서 이렇게 글을 씁니다.

님들의 조언 부탁드립니다.

웹사이트 처리 결과
Linux 2.2.16 : 0.740 usec (IBM 600X 366MHz P2)
Linux 2.4.2 : 0.729 usec (IBM 600X 366MHz P2)

수행 결과(본인)
Linux 2.4.20-30.9 : 1.140 usec (인텔펜4 1.7Ghz)
Linux 2.4.18 : 1.126 usec (Au1100 400Hz)

컴파일 옵션(동일)
gcc -O2 time-timer.cpp -o time-timer

결국 정밀도 비교를 해보면 제가 테스트할 컴퓨터는 타이밍 루틴의

오버헤드가 2마이크로초이고 웹사이트 결과는 1마이크로초보다

크다는 것이 됩니다. 이 원인이 무엇일까요?

p.s gcc 버전은 2.3.2 입니다.

File attachments: 
첨부파일 크기
파일 time-timers.cpp2.91 KB