我正在使用此
clock_t start = clock();
QuickSort(0, ItemCount-1,1);
printf("Time elapsed: %f\n", ((double)clock() - start) / CLOCKS_PER_SEC);
我想在纳秒内得到时间。
答案 0 :(得分:0)
如果您使用的是类Unix系统,则很可能使用clock_gettime()
功能。在Linux中,它可以在-lrt
中找到,我尝试过的大多数其他系统都在系统C库中使用它。
应该注意的是x86的rdtsc
指令非常精确。
答案 1 :(得分:0)
使用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))))
希望这个答案对您在纳秒内获得所需的执行时间更有帮助。