我使用以下代码片段根据时钟滴答测量我的算法运行时间:
clock_t t;
t = clock();
//run algorithm
t = clock() - t;
printf ("It took me %d clicks (%f seconds).\n",t,((float)t)/CLOCKS_PER_SEC);
但是,当输入尺寸较小时,这将返回 0。这怎么可能?
最佳答案
时钟具有一定的粒度,具体取决于多种因素,例如您的操作系统。
因此,您的算法可能运行得太快以至于时钟没有时间更新。因此测量持续时间为 0。
您可以尝试运行您的算法 n
次并将测量的时间除以 n
以更好地了解小输入所花费的时间。
关于c++ - 根据时钟滴答测量算法运行时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26959961/