[Previous] [Contents] [Next]

clock()

Return the number of clock ticks used by the program

Synopsis:

#include <time.h>

clock_t clock( void );

Library:

libc

Description:

The clock() function returns the number of clock ticks of processor time used by the program since it started executing. You can convert the number of ticks into seconds by dividing by the value CLOCKS_PER_SEC.


Note: In a multithreaded program, clock() returns the time used by all threads in the application; clock() returns the time since the program started, not the time since a specific thread started.

The clock() function simply returns the difference between the current time and the time the program started, so it gives incorrect results if the system time changes somewhere between.


Returns:

The number of clock ticks.

Examples:

#include <stdio.h>
#include <math.h>
#include <time.h>
#include <stdlib.h>

void compute( void )
{
    int i, j;
    double x;

    x = 0.0;
    for( i = 1; i <= 100; i++ ) {
        for( j = 1; j <= 100; j++ ) {
            x += sqrt( (double) i * j );
        }
    }

    printf( "%16.7f\n", x );
}

int main( void )
{
    clock_t start_time, end_time;

    start_time = clock();
    compute();
    end_time = clock();
    printf( "Execution time was %lu seconds\n",
          (long) ((end_time - start_time) / CLOCKS_PER_SEC) );

    return EXIT_SUCCESS;
}

Classification:

ANSI

Safety:
Cancellation point No
Interrupt handler No
Signal handler Yes
Thread Yes

See also:

asctime(), asctime_r(), ctime(), difftime(), gmtime(), localtime(), localtime_r(), mktime(), strftime(), time(), tzset()


[Previous] [Contents] [Next]