[ CnUnix ] in KIDS 글 쓴 이(By): sang (Grid) 날 짜 (Date): 2005년 8월 4일 목요일 오후 02시 14분 21초 제 목(Title): Re: 계산시간 측정? 100만번이라는건 예를 들다보니 그냥 쓰신거 같고.. 또, cache나 branch prediction 영향은 무시(^^)할수 있을만큼 작다고 가정할 수 있기 때문에 아래 나열한 것들만 신경쓰면 큰 문제가 없지 않을까 싶네요. 1. page fault는 무조건 막아야 함. 따라서, warm-up 시켜주는 단계가 선행되어야 함. 2. 적당히 큰 loop counter를 잡아서 context switching이 발생하지 않도록 해야 함. 측정하고자 하는 routine에 따라 다르겠지만 1천번 정도면 무난? 3. 시간 측정 함수의 overhead를 무시할 수 있느냐 없느냐에 대한 판단이 필요함. my_routine(); // warm-up phase o1 = measure_time(); g = measure_time(); o2 = measure_time(); overhead = o2 - o1; t1 = measure_time(); loop k, my_routine(); t2 = measure_time(); time = (t2 - t1 - overhead)/k; |