Этот сайт использует cookies. Продолжение работы с сайтом означает, что Вы согласны!
Измерение времени выполнения фрагментов кода
В некоторых случаях необходимо измерить время выполнения фрагментов кода, например, с целью оптимизации программы. Измерить время выполнения позволяет функция clock()
. Прототип функции:
#include <ctime> /* или #include <time.h> */
clock_t clock(void);
typedef long clock_t;
Функция возвращает приблизительное время выполнения программы до вызова функции. Если время получить не удалось, функция возвращает значение (clock_t)(–1)
. Чтобы измерить время выполнения фрагмента следует вызвать функцию перед фрагментом кода и сохранить результат. Затем вызвать функцию после фрагмента и вычислить разность между двумя значениями. Чтобы получить значение в секундах необходимо разделить результат на значение макроса CLOCKS_PER_SEC
. Определение макроса выглядит следующим образом:
#define CLOCKS_PER_SEC 1000
Для примера имитируем фрагмент кода с помощью функции Sleep()
из WinAPI и произведем измерение времени выполнения (листинг 11.4).
Листинг 11.4. Измерение времени выполнения
#include <iostream>
#include <ctime>
#include <windows.h>
int main() {
clock_t t1, t2, t3;
t1 = std::clock(); // Метка 1
std::cout << "t1 = " << t1 << std::endl;
Sleep(3000); // Имитация фрагмента кода
t2 = std::clock(); // Метка 2
std::cout << "t2 = " << t2 << std::endl;
t3 = t2 - t1; // Разница между метками
std::cout << "t3 = " << t3 << std::endl;
std::cout << ((double)t3 / CLOCKS_PER_SEC) << " sec."
<< std::endl;
return 0;
}
Помощь сайту
ЮMoney (Yandex-деньги): 410011140483022
ПАО Сбербанк:
Счет: 40817810855006152256
Реквизиты банка:
Наименование: СЕВЕРО-ЗАПАДНЫЙ БАНК ПАО СБЕРБАНК
Корреспондентский счет: 30101810500000000653
БИК: 044030653
КПП: 784243001
ОКПО: 09171401
ОКОНХ: 96130
Скриншот реквизитов