Use o botão abaixo para reportar erros ou dar sugestões.

Computação Científica - Um Livro Colaborativo

12.4 time


Uma forma de calcular o tempo de execução do programa é usar time na linha de comando:

time ./a.out

No entanto, se estamos interessados em estimar o tempo de processamento de um pedaço do código, podemos usar as funções da biblioteca time.h. A bilioteca possui os tipos específicos de variáveis para trabalhar com tempo, a saber, time_t e clock_t. Descrevemos duas das função aqui:

  • clock_t clock(void) retorna o tempo de processamento desde o início do programa em uma unidade de processamento. Basta dividir por CLOCKS_PER_SEC para obter o valor em segundos.
  • time_t time(time_t *timer) salva a hora atual no formato time_t.
  • double difftime(time_t time1, time_t time2) retorna em segundos a diferença entre time1 e time2.

Exemplo 12.4.1. Implemente um código que imprime o tempo para calcular cem mil vezes logarítmo de um número.

#include <stdio.h>  
#include <math.h>  
#include <time.h>  
 
void main(void)  
{  
  time_t tempo;  
  tempo=time(NULL);  
  double x;  
  int i;  
  for (i=0;i<100000;i++)  
  {  
    x=log(i+1);  
    printf("%f\n",x);  
  }  
  printf("%d s\n",(int) (time(NULL)-tempo));  
}

Alternativamente,

#include <stdio.h>  
#include <time.h>  
#include <math.h>  
 
int main(void)  
{  
  int i;  
  double x;  
  time_t inicio_t, fim_t;  
 
  time(&inicio_t);  
  for (i=0;i<100000;i++)  
  {  
    x=log(i+1);  
    printf("%f\n",x);  
  }  
  time(&fim_t);  
  printf("Passaram-se %.0lf segundos\n", (double)difftime(fim_t, inicio_t));  
  return 0;  
}

Creative Commons License Este texto é disponibilizado nos termos da licença Creative Commons Atribuição-CompartilhaIgual 3.0 Não Adaptada (CC-BY-SA 3.0). Página gerada em 19/8/2020 às 17:33:17.

Informe erros ou edite você mesmo!