Manpages - clock.3

Table of Contents

NAME

clock - determine processor time

SYNOPSIS

  #include <time.h>

  clock_t clock(void);

DESCRIPTION

The *clock*() function returns an approximation of processor time used by the program.

RETURN VALUE

The value returned is the CPU time used so far as a clock_t; to get the number of seconds used, divide by CLOCKS_PER_SEC. If the processor time used is not available or its value cannot be represented, the function returns the value (clock_t) -1.

ATTRIBUTES

For an explanation of the terms used in this section, see *attributes*(7).

Interface Attribute Value
*clock*() Thread safety MT-Safe

CONFORMING TO

POSIX.1-2001, POSIX.1-2008, C89, C99. XSI requires that CLOCKS_PER_SEC equals 1000000 independent of the actual resolution.

NOTES

The C standard allows for arbitrary values at the start of the program; subtract the value returned from a call to *clock*() at the start of the program to get maximum portability.

Note that the time can wrap around. On a 32-bit system where CLOCKS_PER_SEC equals 1000000 this function will return the same value approximately every 72 minutes.

On several other implementations, the value returned by *clock*() also includes the times of any children whose status has been collected via *wait*(2) (or another wait-type call). Linux does not include the times of waited-for children in the value returned by *clock*(). The *times*(2) function, which explicitly returns (separate) information about the caller and its children, may be preferable.

In glibc 2.17 and earlier, clock*() was implemented on top of *times*(2). For improved accuracy, since glibc 2.18, it is implemented on top of *clock_gettime*(2) (using the *CLOCK_PROCESS_CPUTIME_ID clock).

SEE ALSO

*clock_gettime*(2), *getrusage*(2), *times*(2)

COLOPHON

This page is part of release 5.13 of the Linux man-pages project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at https://www.kernel.org/doc/man-pages/.

Author: dt

Created: 2022-02-20 Sun 14:58