Что было бы хорошим способом измерить истекшее время с точностью до секунды собственного кода C ++ на платформе Windows (я работаю над Windows Vista, Visual Studio 2010)
Я пытался использовать
#include <ctime>
int main()
{
clock_t start = clock();
... some code
clock_t end = clock();
double cpu_time = static_cast<double>(end - start)/CLOCKS_PER_SEC;
}
но cpu_time
всегда 0
,
Спасибо !
Вы можете использовать QueryPerformanceFrequency
а также QueryPerformanceCounter
WinAPI функции. пример
Ваш код действителен и работает. Если вы пытаетесь рассчитать время выполнения определенного фрагмента кода, вы должны запустить его через цикл, как это предлагает Xymostech. Основная причина:
start
держа такое же значение, как end
, вызываяcpu_time
равным нулю.тем не менее, есть еще одно преимущество — возможность рассчитывать среднее время выполнения за многократные итерации.