【发布时间】:2015-07-15 12:33:12
【问题描述】:
所以我想测量 C++ 中某些函数的时间,我尝试了很多方法。这是我的最终代码:
auto start = chrono::steady_clock::now();
clStart = clock();
for (int o=0; o<100;o++)
{
sin(o);
// Sleep(1);
}
auto end = chrono::steady_clock::now();
clEnd = clock();
auto difTime = end-start;
diff = chrono::duration <double,milli> (difTime).count(); //gives me 0
diffTicks = clEnd-clStart; //0 as well
当我在里面插入例如 Sleep() 函数时它工作正常,但是当使用 math.h 中的 sin 时,我总是得到 0 时间。这是为什么?我知道它可能已经优化,但是 0?我想将其与其他 sin 实现进行比较,但我不确定这里有什么问题。
【问题讨论】:
-
试试
int o=0; o<100000;o++ -
@Thomas ...好吧,这很愚蠢 :D 谢谢,它似乎在起作用,顺便说一句,罪恶真的不需要打勾吗?我以为时钟不会返回滴答数?