The clock() function shall return the implementation's best approximation
to the processor time used by the process since the beginning of an
implementation-defined era related only to the process invocation.
To determine the time in seconds, the value returned by clock() should be
divided by the value of the macro CLOCKS_PER_SEC. CLOCKS_PER_SEC is
defined to be one million in <time.h>. If the processor time used
is not available or its value cannot be represented, the function shall return
the value ( clock_t)-1.
In order to measure the time spent in a program, clock() should be called
at the start of the program and its return value subtracted from the value
returned by subsequent calls. The value returned by clock() is defined
for compatibility across systems that have clocks with different resolutions.
The resolution on any particular system need not be to microsecond accuracy.
The value returned by clock() may wrap around on some implementations.
For example, on a machine with 32-bit values for clock_t, it wraps
after 2147 seconds or 36 minutes.
Portions of this text are reprinted and reproduced in electronic form from IEEE
Std 1003.1, 2003 Edition, Standard for Information Technology -- Portable
Operating System Interface (POSIX), The Open Group Base Specifications Issue
6, Copyright (C) 2001-2003 by the Institute of Electrical and Electronics
Engineers, Inc and The Open Group. In the event of any discrepancy between
this version and the original IEEE and The Open Group Standard, the original
IEEE and The Open Group Standard is the referee document. The original
Standard can be obtained online at http://www.opengroup.org/unix/online.html