CLOCK(3) Library Functions Manual CLOCK(3)

clock - retorna o tempo de CPU

Standard C library (libc, -lc)

#include <time.h>
clock_t clock(void);

A função clock() retorna uma aproximação do tempo de processamento usado pelo programa.

O valor retornado é o tempo de CPU usado até o momento como um clock_t. Para obter o número de segundos, divida por CLOCKS_PER_SEC. Se o tempo de processador não estiver disponível ou o valor não puder ser representado, a função retorna (clock_t) -1.

Para uma explicação dos termos usados nesta seção, consulte attributes(7).

Interface Atributo Valor
clock() Thread safety MT-Safe

POSIX.1-2001, POSIX.1-2008, C89, C99. XSI exige que CLOCKS_PER_SEC seja 1000000 independente da resolução verdadeira.

O padrão C permite valores arbitrários no início do programa. Use a diferença entre uma chamada a clock() no início e outra no final do programa para obter portabilidade máxima.

O tempo pode sofrer 'overflow'. Num sistema de 32 bits com CLOCKS_PER_SEC igual a 1000000, esta função retornará um valor idêntico aproximadamente a cada 72 minutos.

Em várias outras implementações, o valor retornado por clock() também inclui os horários de todos os filhos cujo status foi coletado por wait(2) (ou outra chamada do tipo espera). O Linux não inclui os tempos de filhos esperados no valor retornado por clock(). A função times(2), que retorna explicitamente informações (separadas) sobre o chamador e seus filhos, pode ser preferível.

No glibc 2.17 e versões anteriores, clock() estava implementado usando times(2). Para maior precisão, desde o glibc 2.18, ele é implementado sobre clock_gettime(2) (usando o relógio CLOCK_PROCESS_CPUTIME_ID).

clock_gettime(2), getrusage(2), times(2)

A tradução para português brasileiro desta página man foi criada por Paulo César Mendes <drpc@ism.com.br>, André Luiz Fassone <lonely_wolf@ig.com.br> e Rafael Fontenelle <rafaelff@gnome.org>.

Esta tradução é uma documentação livre; leia a Licença Pública Geral GNU Versão 3 ou posterior para as condições de direitos autorais. Nenhuma responsabilidade é aceita.

Se você encontrar algum erro na tradução desta página de manual, envie um e-mail para a lista de discussão de tradutores.

9 outubro 2022 Linux man-pages 6.01