clock - вычисляет процессорное время
clock(3)
вычисляет процессорное время
ОБЗОР
#include <time.h>
clock_t clock(void);
ОПИСАНИЕ
Функция
clock() возвращает приблизительное процессорное время,
использованное программой.
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
Возвращаемое значение — это время, затраченное процессором на выполнение
программы, представленное типом
clock_t. Чтобы узнать количество
затраченных на выполнение секунд, разделите возвращенное значение на
CLOCKS_PER_SEC. Если затраченное процессором время недоступно или если
его значение не может быть определено, то функция возвращает значение
(clock_t) -1.
АТРИБУТЫ
Описание терминов данного раздела смотрите в
attributes(7).
Интерфейс Атрибут Значение
clock()
безвредность в потоках: безвредно (MT-Safe)
СООТВЕТСТВИЕ СТАНДАРТАМ
POSIX.1-2001, POSIX.1-2008, C89, C99. В XSI требуется, чтобы
CLOCKS_PER_SEC было равно 1000000 вне зависимости от действительной
точности.
ЗАМЕЧАНИЯ
Стандарт Си разрешает выдавать произвольные значения времени при старте
программы; поэтому вычтите из возвращенного функцией
clock() значения её
значение при старте и используйте разницу для обеспечения максимальной
переносимости.
Заметим, что время может превысить свое максимальное значение. В 32-битных
системах, где CLOCKS_PER_SEC равно 1000000, функция clock() возвращает
одно и то же значение примерно каждые 72 минуты.
В некоторых других реализациях значение, возвращаемое clock(), также
включает в себя время всех дочерних процессов, чьи состояния были собраны
через wait(2) (или другие системные вызовы типа wait). Linux не включает
время ожидающих потомков в значение, возвращаемое clock(). Возможно,
предпочтительнее использовать функцию times(2), явно возвращающую
(отдельно) информацию о вызвавшем функцию и его дочерних процессах.
В glibc 2.17 и старее, функция clock() работает на основе
times(2). Для повышения точности, начиная с glibc 2.18, она реализуется
через clock_gettime(2) (используются часы CLOCK_PROCESS_CPUTIME_ID).