clock
determine processor time used
You're viewing an older version of this page (#3508). View the current version.
NAME
clock
INTERFACE
#include <time.h> clock_t clock ( void ) </time.h>
DESCRIPTION
The clock function determines the amount of processor time used since the invocation of the calling process, measured in <span class="Dv">CLOCKS_PER_SEC</span>s of a second.
The code below counts the number of seconds that passed while running some for loop.
Example 1
#include <stdio.h>
#include <time.h>
#include <math.h>
int main()
{
clock_t start = clock();
for (long i = 0; i < 100000000; ++i)
exp(log((double)i));
clock_t finish = clock();
printf("It took %d seconds to execute the for loop.\n",
(finish - start) / CLOCKS_PER_SEC);
return 0;
}Output:
It took 23 seconds to execute the for loop.RETURN VALUES
The clock function returns the amount of time used unless an error occurs, in which case the return value is -1.
STANDARDS
The clock function conforms to ISO/IEC 9899:1990 ("ISO C90"). However, version 2 of the Single UNIX Specification ('SUSv2') <span class="Dv">CLOCKS_PER_SEC</span> to be defined as one million. FreeBSD does not conform to this requirement; changing the value would introduce binary incompatibility and one million is still inadequate on modern processors.