clock

CLOCK(3)                 Руководство программиста Linux                 CLOCK(3)



ИМЯ
       clock - вычисляет процессорное время

ОБЗОР
       #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).

СМОТРИТЕ ТАКЖЕ
       clock_gettime(2), getrusage(2), times(2)



GNU                                2015-08-08                           CLOCK(3)