clock(3) | Library Functions Manual | clock(3) |
ИМЯ
clock - вычисляет процессорное время
LIBRARY
Standard C library (libc, -lc)
СИНТАКСИС
#include <time.h>
clock_t clock(void);
ОПИСАНИЕ
Функция clock() возвращает приблизительное процессорное время, использованное программой.
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
Возвращаемое значение — это время, затраченное процессором на выполнение программы, представленное типом clock_t. Чтобы узнать количество затраченных на выполнение секунд, разделите возвращенное значение на CLOCKS_PER_SEC. Если затраченное процессором время недоступно или если его значение не может быть определено, то функция возвращает значение (clock_t) -1.
АТРИБУТЫ
Описание терминов данного раздела смотрите в attributes(7).
Интерфейс | Атрибут | Значение |
clock() | Безвредность в нитях | MT-Safe |
ВЕРСИИ
XSI requires that CLOCKS_PER_SEC equals 1000000 independent of the actual resolution.
В некоторых других реализациях значение, возвращаемое clock(), также включает в себя время всех дочерних процессов, чьи состояния были собраны через wait(2) (или другие системные вызовы типа wait). Linux не включает время ожидающих потомков в значение, возвращаемое clock(). Возможно, предпочтительнее использовать функцию times(2), явно возвращающую (отдельно) информацию о вызвавшем функцию и его дочерних процессах.
СТАНДАРТЫ
C11, POSIX.1-2008.
ИСТОРИЯ
POSIX.1-2001, C89.
В glibc 2.17 и старее, функция clock() работает на основе times(2). Для повышения точности, начиная с glibc 2.18, она реализуется через clock_gettime(2) (используются часы CLOCK_PROCESS_CPUTIME_ID).
ПРИМЕЧАНИЯ
Стандарт Си разрешает выдавать произвольные значения времени при старте программы; поэтому вычтите из возвращенного функцией clock() значения её значение при старте и используйте разницу для обеспечения максимальной переносимости.
Заметим, что время может превысить свое максимальное значение. В 32-битных системах, где CLOCKS_PER_SEC равно 1000000, функция clock() возвращает одно и то же значение примерно каждые 72 минуты.
СМОТРИТЕ ТАКЖЕ
ПЕРЕВОД
Русский перевод этой страницы руководства разработал Azamat Hackimov <azamat.hackimov@gmail.com>, Dmitriy S. Seregin <dseregin@59.ru>, Dmitry Bolkhovskikh <d20052005@yandex.ru>, Katrin Kutepova <blackkatelv@gmail.com>, Yuri Kozlov <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>
Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.
Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику по его адресу электронной почты или по адресу списка рассылки русских переводчиков.
2 мая 2024 г. | Linux man-pages 6.8 |