Skip to content

Измерение выполнения кода в C++

Здесь будет описана небольшая фича про измерение времени. Для чего необходима? Она измеряет время выполнения кода во время работы программы.

Работа с clock()

Измерение времени использует специальный тип данных clock_t. Чтобы получить значение выполнения программы используется функция clock() из библиотеки <time.h>.

Немного о clock()

Данная функция возвращает приблизительное процессорное время, потребляемое программой, которое представляет собой количество тактов, использованных программой с момента запуска программы. Время clock() зависит от того, как операционная система распределяет ресурсы процессу, поэтому оно может быть медленнее или быстрее фактических часов.

Работа с константой CLOCKS_PER_SEC

Константа CLOCKS_PER_SEC определяет количество тактов системных часов в секунду. Используется для пересчета величины, возвращаемой функцией clock(), в секунды. Вместо количества тиков в секунду подставим количество секунд и используется макрос clock()/CLOCKS_PER_SEC.

Пример использования

Сделаем пример использования измерения времени:

cpp
#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;
}

Измерение времени зависит от кодовой составляющей программы.

Содержание доступно по лицензии MIT