CLOCK(3) Manual do Programador do Linux CLOCK(3)

clock - retorna o tempo de CPU

#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)

Esta página faz parte da versão 5.13 do projeto Linux man-pages. Uma descrição do projeto, informações sobre relatórios de bugs e a versão mais recente desta página podem ser encontradas em https://www.kernel.org/doc/man-pages/.

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.

22 março 2021 GNU