Измерение выполнения кода в C++
Здесь будет описана небольшая фича про измерение времени. Для чего необходима? Она измеряет время выполнения кода во время работы программы.
Работа с clock()
Измерение времени использует специальный тип данных clock_t
. Чтобы получить значение выполнения программы используется функция clock()
из библиотеки <time.h>
.
Немного о clock()
Данная функция возвращает приблизительное процессорное время, потребляемое программой, которое представляет собой количество тактов, использованных программой с момента запуска программы. Время clock()
зависит от того, как операционная система распределяет ресурсы процессу, поэтому оно может быть медленнее или быстрее фактических часов.
Работа с константой CLOCKS_PER_SEC
Константа CLOCKS_PER_SEC
определяет количество тактов системных часов в секунду. Используется для пересчета величины, возвращаемой функцией clock()
, в секунды. Вместо количества тиков в секунду подставим количество секунд и используется макрос clock()/CLOCKS_PER_SEC
.
Пример использования
Сделаем пример использования измерения времени:
#include <time.h>
#include <stdio.h>
int main(void)
{
clock_t tStart = clock();
/* Кодовая составляющая */
printf("Time taken: %.2fs\n", (double)(clock() - tStart)/CLOCKS_PER_SEC);
return 0;
}
Измерение времени зависит от кодовой составляющей программы.