Итак, я хочу измерить время некоторых функций на 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 я всегда получаю 0 раз. Почему это? Я знаю, что это, вероятно, оптимизировано, но 0? Я хочу сравнить это с другими реализациями sin, но я не уверен, что здесь неправильно.
Попробуйте с 'Int о = 0; o <100000; o ++ ' –
@ Томас ... ладно, это было немым: D спасибо, похоже, что он работает btw sin действительно не занимает даже одного тика? Я думал, что часы возвращают количество тиков? – Hitokage