2012-02-21 5 views
1

안녕 얘들 아 나는 마이크로 초 단위로 쓴 몇 가지 검색 기능을 시간을 잰다. 2 자리 숫자를 표시하려면 시간이 오래 걸릴 필요가있다. 내 검색 기능을 시간이 코드를 썼다지만 너무 빨리 보인다. 검색을 5 번 실행하지 않으면 항상 0 마이크로 초가되고 결국 1,000,000 마이크로 초가됩니다. 나는 마이크로 초에 시간을 얻으려고 수학을 잘못했는지 또는 두 개의 시그마 무화과를 표시하도록 강제 할 수있는 형식화 함수가 있는지 궁금합니다. 나는 double 또는 float 유형을 사용하는 것이 좋습니다타이밍 마이크로 초 단위의 기능

int time = (stop - start)/CLOCKS_PER_SEC; 

, 당신은 가능성이 부문의 구성 요소를 캐스팅해야합니다 :

clock_t start = clock(); 
index = sequentialSearch.Sequential(TO_SEARCH); 
index = sequentialSearch.Sequential(TO_SEARCH); 
clock_t stop = clock(); 
cout << "number found at index " << index << endl; 
int time = (stop - start)/CLOCKS_PER_SEC; 
time = time * SEC_TO_MICRO; 
cout << "time to search = " << time<< endl; 
+0

에 대한 링크에 가정 일반적으로 당신은 훨씬 더 전화를 걸고 평균을 취할 것입니다. –

+0

예, 나중에 추가 할 계획입니다. 지금 당장은 작동 시키려고합니다. – Jonathan

+0

보통'clock()'해상도는 10ms와 비슷하지만 충분하지 않을 수도 있습니다. 정밀도가 더 필요하다면''의 고해상도 클럭을 확인하십시오. –

답변

3

이 줄에 정수 나누기를 사용하고 있습니다.

+0

예, 그것을 해결했습니다. 나는 그것을 보았어 야했다. 그것을 지적 주셔서 감사합니다. – Jonathan

관련 문제