Я пытаюсь измерить время выполнения многопоточной программы. Я использовать этот кусок кода в основной программе для расчета времени:время выполнения в многопоточной среде
clock_t startTime = clock();
//do stuff
clock_t stopTime = clock();
float secsElapsed = (float)(stopTime - startTime)/CLOCKS_PER_SEC;
Теперь проблема у меня есть: , например, я запускаю свою программу с 4 нити (каждый поток работает на одном ядре), в время выполнения - 21.39. Я проверяю свой системный монитор во время выполнения, когда время выполнения составляет около 5,3.
Похоже, что фактическое время выполнения умножается на количество НИТЕЙ.
В чем проблема?
Можете ли вы попробовать создать [Minimal, Complete, и Проверяемость Пример] (http://stackoverflow.com/help/mcve) и показать нам? Потому что только с кодом, который вы нам показываете, невозможно сказать что-то наверняка. –