Como Medir o Tempo Decorrido em Python?

Ana Maria Gomes
4 minutos de leitura

Conteúdos do tutorial

Ao trabalhar com Python, você pode se deparar com a necessidade de medir o tempo que leva para executar uma função específica ou um bloco de código. Isso é um requisito comum para otimizar o código e garantir que seus programas rodem de maneira eficiente. Neste post, vamos explorar vários métodos para medir o tempo decorrido em Python.

Usando time.time() para Tempo de Relógio Real

A maneira mais simples de medir o tempo decorrido é usar a função time.time(), que fornece o tempo de relógio real entre dois pontos no seu código. Veja como você pode usá-la:

import time

inicio = time.time()
print("olá")
fim = time.time()
print(fim - inicio)
Testar

Esse código mostrará o tempo de execução em segundos. É um método direto que funciona bem para a maioria das necessidades.

Cronometragem Precisa com time.perf_counter() e time.process_time()

Para uma cronometragem mais precisa, especialmente no Python 3.3 e acima, você pode usar time.perf_counter() ou time.process_time(). Essas funções fornecem cronômetros de alta resolução e são a maneira recomendada de medir o tempo em Python devido à sua natureza independente de plataforma.

Cronometragem Abrangente com time.perf_counter()

Se você precisa medir o tempo decorrido levando em conta o desempenho de todo o sistema, incluindo o tempo gasto esperando por operações de E/S, time.perf_counter() é a função a ser usada:

import time

inicio = time.perf_counter()
# Seu código aqui
fim = time.perf_counter()
print(fim - inicio)
Testar

Cronometragem Específica do Processo com time.process_time()

Por outro lado, se você está interessado no tempo gasto pelo CPU processando seu código, excluindo qualquer tempo de inatividade, então time.process_time() é a escolha apropriada:

import time

inicio = time.process_time()
# Seu código aqui
fim = time.process_time()
print(fim - inicio)
Testar

Essa função é particularmente útil quando você quer medir o tempo de CPU sem fatores externos afetando a cronometragem.

Usando timeit.default_timer para Melhor Seleção de Relógio

Outra excelente opção é usar timeit.default_timer, que seleciona automaticamente a melhor função de cronometragem disponível para sua plataforma e versão do Python:

from timeit import default_timer as cronometro

inicio = cronometro()
# Seu código aqui
fim = cronometro()
print(fim - inicio)
Testar

Este método é particularmente útil porque ele abstrai os detalhes específicos da plataforma e fornece uma interface simples para cronometragem.

Resumo

Neste post, cobrimos como medir o tempo decorrido em Python usando time.time(), time.perf_counter(), time.process_time() e timeit.default_timer. Seja você precisando do tempo de relógio real ou de medições de tempo de CPU mais precisas, o Python oferece funções robustas para obter as informações de tempo que você precisa. Lembre-se de escolher a função que melhor se adequa às suas necessidades de precisão e ao tipo de cronometragem que você está interessado.

Inscreva-se gratuitamente e fique atualizado

Receba toda semana um resumo dos principais conteúdos da Asimov direto no seu e-mail. 100% livre de spam.

Áreas de interesse: