determine processor time used

You're viewing an older version of this page (#3586). View the current version.

View versions (4)

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.