«Точные» измерения времени требует, чтобы использовать специфические функции операционной системы.
В Windows, вы proably хотите использовать следующую функцию: (MSDN)
BOOL WINAPI QueryPerformanceCounter(_Out_ LARGE_INTEGER *lpPerformanceCount);
Эта функция дает вам высокого разрешения счетчик тиков, так как приложение запускается. Интервал между двумя клещами, зависит от вашего процессора и может быть получен с помощью следующей функции: (MSDN)
BOOL WINAPI QueryPerformanceFrequency(_Out_ LARGE_INTEGER *lpFrequency);
Так вот фрагмент кода, чтобы получить точное значение текущего времени в секундах:
double GetCurTime()
{
LARGE_INTEGER CounterFreq;
QueryPerformanceFrequency(&CounterFreq);
LARGE_INTEGER Counter;
QueryPerformanceCounter(&Counter);
return (double)Counter.QuadPart/(double)CounterFreq.QuadPart;
}
Чтобы сделать измерение времени, позвоните в GetCurTime()
в начале и снова вызовите его в конце и воспользуйтесь разницей между двумя значениями.
Предположительно, кто установить задание дал вам эту информацию ... –
Дублированный: http://stackoverflow.com/questions/5248915/execution-time-of-c-program Кроме того, Google и StackOverflow являются вашими друзьями. ;) – jrd1