A função clock () em C ++ retorna o tempo aproximado do processador que é consumido pelo programa.
Para calcular o tempo do processador, é usada a diferença entre os valores retornados por duas chamadas diferentes a clock (), uma no início e outra no final do programa. Para converter o valor em segundos, ele precisa ser dividido por uma macro CLOCKS_PER_SEC .
A hora do relógio () pode avançar mais rápido ou mais devagar do que o relógio de parede real. Depende de como o sistema operacional aloca os recursos para o processo.
Se o processador for compartilhado por outros processos, a hora do relógio () pode avançar mais lentamente do que o relógio de parede. Embora se o processo atual for executado em um sistema multithread, o relógio () pode avançar mais rápido do que o relógio de parede.
protótipo clock ()
clock_t clock ();
É definido no arquivo de cabeçalho.
Parâmetros clock ()
- Nenhum
clock () Valor de retorno
- Em caso de sucesso, a função clock () retorna o tempo do processador usado pelo programa até agora.
- Em caso de falha, ele retorna -1 que é convertido para o tipo
clock_t
.
Exemplo: como funciona a função clock ()
#include #include #include using namespace std; int main () ( float x,y; clock_t time_req; // Using pow function time_req = clock(); for(int i=0; i<100000; i++) ( y = log(pow(i,5)); ) time_req = clock() - time_req; cout << "Using pow function, it took " << (float)time_req/CLOCKS_PER_SEC << " seconds" << endl; // Without pow function time_req = clock(); for(int i=0; i<100000; i++) ( y = log(i*i*i*i*i); ) time_req = clock()- time_req; cout << "Without using pow function, it took " << (float)time_req/CLOCKS_PER_SEC << " seconds" << endl; return 0; )
Quando você executa o programa, a saída será:
Usando a função pow, levou 0,014743 segundos Sem usar a função pow, levou 0,001357 segundos