Esta é uma versão muito simplificada e enfeitada do arquivo time.h

/* //////////////////////////
// Seção 1 -- Medida de tempo
////////////////////////// */

typedef long time_t;

/* Esta função devolve a leitura do relógio, em segundos.
// A função também atribui a leitura do relógio (em segundos)   
// à variável cujo endereço é x (a menos que x seja NULL).
// Uso típico: instante = time (NULL);
*/
time_t time (time_t *x); 


#define CLOCKS_PER_SEC 1000000

typedef long clock_t;

/* A função clock devolve o tempo de CPU (usualmente em
// nanossegundos) decorrido desde o início da execução do
// seu programa. Para converter essa quantidade de tempo
// em segundos, divida pela constante CLOCKS_PER_SEC.
// Exemplo de uso: 
//                                                          
//     double start, finish, elapsed;                       
//     start = (double) clock () / CLOCKS_PER_SEC;          
//     . . . [cálculos] . . .                               
//     finish = (double) clock () / CLOCKS_PER_SEC;         
//     elapsed = finish - start;                            
//                                                          
// Sugestão: repita o bloco [cálculos] muitas vezes,        
// digamos 100, e divida elapsed por esse número.
// (Depois de 35.79 minutos, ocorre overflow.)
*/
clock_t clock (void);

 


http://www.ime.usp.br/~pf/algoritmos/