이C에서 실행 프로그램의 시간을 얻으려면 더 나은 솔루션이 필요합니다.
을 사용하고 있습니다. clock_t start = clock();
QuickSort(0, ItemCount-1,1);
printf("Time elapsed: %f\n", ((double)clock() - start)/CLOCKS_PER_SEC);
시간을 나노 초로하고 싶습니다.
이C에서 실행 프로그램의 시간을 얻으려면 더 나은 솔루션이 필요합니다.
을 사용하고 있습니다. clock_t start = clock();
QuickSort(0, ItemCount-1,1);
printf("Time elapsed: %f\n", ((double)clock() - start)/CLOCKS_PER_SEC);
시간을 나노 초로하고 싶습니다.
유닉스 계열 시스템을 사용하는 경우 clock_gettime()
기능을 사용할 가능성이 큽니다. 리눅스에서는 -lrt
에 있는데, 대부분의 다른 시스템에서는 시스템 C 라이브러리에이 시스템을 가지고 있습니다.
x86에는 매우 정확한 rdtsc
명령이 있습니다.
사용 나노초 정밀도의 코드의 실행 시간을 얻기 위해 다음과 같이 struct timespec
struct timespec start, end;
clock_gettime(CLOCK_REALTIME,&start);
/* Do something */
clock_gettime(CLOCK_REALTIME,&end);
그것은 당신이 얻을이 응답을 더 도움이 될 것입니다 ((((unsigned64)start.tv_sec) * ((unsigned64)(1000000000L))) + ((unsigned64)(start.tv_nsec))))
희망과 같은 값을 반환하여 원하는 실행 시간 (나노초 단위).
그리고 검색 기능을 사용하십시오. 이것은 거의 매일 묻습니다. – Mat