Calcule o tempo decorrido em Python
-
Calcule o tempo decorrido de uma função com a função
time()
do módulotime
em Python -
Calcule o tempo decorrido de uma função com a função
perf_counter()
do módulotime
em Python -
Calcule o tempo decorrido de uma função com a função
process_time()
do módulotime
em Python
Neste tutorial, discutiremos métodos para calcular o tempo de execução de um programa em Python.
O módulo time
é um módulo embutido que contém muitas funções relacionadas ao tempo. Vários métodos dentro do módulo de tempo podem ser usados para calcular o tempo de execução de um programa em Python. Esses métodos são discutidos abaixo.
Calcule o tempo decorrido de uma função com a função time()
do módulo time
em Python
A função time()
nos dá a hora atual em segundos. Ele retorna um valor flutuante que contém a hora atual em segundos. O exemplo de código a seguir nos mostra como podemos calcular o tempo de execução de uma função com a função time()
em Python.
import time
start = time.time()
print("The time used to execute this is given below")
end = time.time()
print(end - start)
Resultado:
The time used to execute this is given below
0.00011444091796875
No código acima, primeiro inicializamos a variável start
que contém a hora de início usando a função time()
e, em seguida, inicializamos a variável end
após a instrução print()
usando a função time()
. Em seguida, calculamos o tempo total de execução subtraindo o start
do end
.
Calcule o tempo decorrido de uma função com a função perf_counter()
do módulo time
em Python
A função perf_counter()
fornece a medida mais precisa do tempo do sistema. A função perf_counter()
retorna o tempo de todo o sistema e leva em consideração o tempo de suspensão. A função perf_counter()
também pode ser usada para calcular o tempo de execução de uma função. O exemplo de código a seguir nos mostra como podemos calcular o tempo de execução de uma função com a função perf_counter()
em Python.
import time
start = time.perf_counter()
print("This time is being calculated")
end = time.perf_counter()
print(end - start)
Resultado:
This time is being calculated
0.00013678300001629395
No código acima, primeiro inicializamos a variável start
que contém a hora de início usando a função perf_counter()
e, em seguida, inicializamos a variável end
após a instrução print()
usando a função perf_counter()
. Em seguida, calculamos o tempo total de execução subtraindo o start
do end
.
Calcule o tempo decorrido de uma função com a função process_time()
do módulo time
em Python
A função perf_counter()
é afetada por outros programas executados em segundo plano na máquina. Também conta o tempo de sono. Portanto, não é ideal para medir o tempo de execução de um programa.
A melhor prática para usar a função perf_counter()
é executá-la várias vezes, e então o tempo médio forneceria uma estimativa razoavelmente precisa do tempo de execução.
Outra abordagem seria usar a função process_time()
. A função process_time()
é projetada especificamente para estimar o tempo de execução de um programa. Ele não é afetado por outros programas em execução em segundo plano na máquina. Também não conta o tempo de sono.
A função process_time()
retorna um valor flutuante que contém a soma do sistema e o tempo de CPU do usuário do programa. O exemplo de código a seguir nos mostra como podemos calcular o tempo de execução de uma função com a função process_time()
em Python.
import time
start = time.process_time()
print("This time is being calculated")
end = time.process_time()
print(end - start)
Resultado:
This time is being calculated
0.000991254000000108
No código acima, primeiro inicializamos a variável start
que contém a hora de início usando a função process_time()
e, em seguida, inicializamos a variável end
após a instrução print()
usando a função process_time()
. Em seguida, calculamos o tempo total de execução subtraindo o start
do end
.
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn