Funções de cronômetro em Python

Lakshay Kapoor 30 janeiro 2023
  1. Uso da função time.time() em Python
  2. Uso da função time.Process_time() em Python
  3. Uso da função time.Perf_counter em Python
  4. Uso da função time.monotonic() em Python
Funções de cronômetro em Python

Python é uma linguagem de programação muito vasta, muito utilizada em todo o mundo. Os programadores fazem vários programas que requerem uma quantidade considerável de linhas de código python. Para monitorar e analisar esses códigos com base no tempo de execução, podemos usar as funções de cronômetro do Python.

O módulo time é o mais importante aqui porque contém todas as funções que ajudam a controlar o tempo e a analisá-lo.

Neste tutorial, discutiremos várias funções de cronômetro do Python usando o módulo de tempo.

Uso da função time.time() em Python

Esta função retorna o tempo em segundos. São os segundos que passam após a época - 1º de janeiro de 1970, 00:00:00 (UTC). Esta função usa o tempo definido do sistema de computador para retornar a saída, ou seja, o número de segundos.

Exemplo:

import time

start = time.time()

for r in range(1, 20000):
    pass

end = time.time()
print(format(end - start))

Entre start e end, encontra-se o corpo principal do código. Aqui, um loop for é usado como exemplo.

Resultado:

3.252345085144043

Observe que a saída, ou seja, segundos, é um valor flutuante.

Uso da função time.Process_time() em Python

Esta função retorna o tempo em fracionários de segundos. A referência de tempo de todo o processo também é registrada na função e não apenas o tempo decorrido durante o processo.

Exemplo:

from time import process_time, sleep

start = process_time()

for r in range(20):
    print(r, end=" ")

end = process_time()
print(end, start)
print(end - start)

Resultado:

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 10.756645 10.75523
0.0014150000000014984

O tempo gasto em time.sleep() não é medido por esta função, o que significa que ela mede apenas a diferença de tempo entre duas referências de tempo consecutivas.

Uso da função time.Perf_counter em Python

Também conhecida como Contador de desempenho, essa função ajuda a obter a contagem do tempo entre duas referências de maneira mais precisa. Esta função só deve ser aplicada a processos pequenos, pois é altamente precisa.

Também podemos usar time.sleep() entre esta função. Por esta função, a execução do código pode ser suspensa por vários segundos. A função sleep() leva um valor float como argumento.

Exemplo:

from time import perf_counter, sleep

n = 10
start = perf_counter()

for r in range(n):
    sleep(2)

end = perf_counter()

print(end - start)

Resultado:

20.03540569800043

O valor retornado mostra o tempo total decorrido. Como a função sleep é definida como 2, demorou 20,035 segundos para concluir todo o processo em que o valor de entrada era 10.

Uso da função time.monotonic() em Python

Se o usuário alterar a hora durante a execução de um código Python, isso pode fazer uma grande diferença ao implementar a função de cronômetro em Python. Nesta situação, a função de temporizador monotônico garante que as referências de tempo se adaptem de acordo com as alterações feitas pelo usuário externamente.

Exemplo:

from time import monotonic, sleep

n = 10
start = monotonic()

for r in range(n):
    sleep(2)

end = monotonic()

print(end - start)

Resultado:

20.029595676999634

As referências de início e fim garantem que o programa se adapte a qualquer alteração feita pelo usuário.

Lakshay Kapoor avatar Lakshay Kapoor avatar

Lakshay Kapoor is a final year B.Tech Computer Science student at Amity University Noida. He is familiar with programming languages and their real-world applications (Python/R/C++). Deeply interested in the area of Data Sciences and Machine Learning.

LinkedIn

Artigo relacionado - Python Timer