【发布时间】:2014-11-16 17:35:04
【问题描述】:
我正在使用以下代码 sn-p 来衡量我的算法在时钟滴答声方面的运行时间:
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。这怎么可能?
【问题讨论】:
-
请标记您的编程语言
-
因为一般情况下,POSIX 将
CLOCKS_PER_SEC定义为 100 万,这意味着花费 clock()返回的值不一定每次都加1;粒度可能是每次更新10个tick左右,每10us更新一次+10。 -
您是否尝试提高
printf的精度并使用double?
标签: c++ performance algorithm