Tamanho de fonte
Alto contraste
Altura de linha

Como Medir o Tempo de Execução de um Programa Python

Avatar de Ana Maria Gomes Ana Maria Gomes
4 minutos de leitura 5 meses atrás

Ao trabalhar com Python, especialmente em projetos maiores ou tarefas intensivas de dados, é frequentemente útil saber quanto tempo seu programa leva para executar. Isso pode ajudar na otimização do código, na depuração e no entendimento do desempenho. Veja como você pode medir o tempo de execução do seu programa Python inteiro.

Usando o Módulo time

O método mais direto para cronometrar seu programa Python é usando o módulo time incorporado. Aqui está um exemplo simples:

import time

start_time = time.time()
# Coloque o código principal do seu programa aqui
main()
execution_time = time.time() - start_time
print("--- %s segundos ---" % execution_time)

Esse trecho de código imprimirá o tempo que levou para o seu programa ser executado em segundos. É importante notar que este método é adequado se o tempo de execução do seu programa for mais de um décimo de segundo, pois pode não ser preciso o suficiente para durações muito curtas.

Usando Ferramentas de Linha de Comando

Se você está executando seu programa Python a partir de uma interface de linha de comando (CLI), existem ferramentas incorporadas que podem ajudá-lo a medir o tempo de execução.

Em sistemas Linux ou Unix:

Você pode usar o comando time:

$ time python yourprogram.py

Isso mostrará o tempo real que levou para executar seu programa, junto com o tempo do usuário e do sistema.

Para um relatório mais detalhado, você pode usar a opção verbose:

$ time -v python yourprogram.py

Isso lhe dará um detalhamento abrangente do tempo de execução e outros recursos do sistema utilizados durante a execução.

Em sistemas Windows:

Usuários do Windows podem consultar a seguinte pergunta no StackOverflow para métodos de medir o tempo de execução: Como eu meço o tempo de execução de um comando na linha de comando do Windows?

Criando um Módulo de Cronometragem

Para aqueles que precisam medir o tempo de execução regularmente, criar um módulo de cronometragem reutilizável pode ser muito benéfico. Aqui está um exemplo de como tal módulo pode parecer:

import atexit
from time import clock

def secondsToStr(t):
    # Esta função converte segundos em uma string formatada
    return "%d:%02d:%02d.%03d" % \
        reduce(lambda ll,b : divmod(ll[0],b) + ll[1:],
            [(t*1000,),1000,60,60])

def log(s, elapsed=None):
    # Esta função registra o tempo atual e o tempo decorrido, se fornecido
    print("="*40)
    print(secondsToStr(clock()), '-', s)
    if elapsed:
        print("Tempo decorrido:", elapsed)
    print("="*40)

def endlog():
    # Esta função registra o tempo final e o tempo total decorrido
    end = clock()
    elapsed = end - start
    log("Fim do Programa", secondsToStr(elapsed))

start = clock()
atexit.register(endlog)
log("Início do Programa")

Ao incluir import timing no topo do seu script Python, você pode registrar automaticamente os horários de início e término, bem como o tempo total decorrido. Você também pode chamar timing.log de dentro do seu programa para marcar etapas significativas.

Resumo

Medir o tempo de execução do seu programa Python pode ser feito de várias maneiras. Para uma cronometragem rápida e simples, use o módulo time. Para execuções de linha de comando, use o comando time em Unix/Linux ou procure alternativas para Windows. Para uma abordagem mais estruturada, especialmente para projetos maiores, considere criar um módulo de cronometragem que você possa reutilizar em seus programas. Entendendo quanto tempo seu programa leva para executar, você pode tomar decisões informadas sobre otimizações e melhorias.

Imagem de um notebook

Cursos de programação gratuitos com certificado

Aprenda a programar e desenvolva soluções para o seu trabalho com Python para alcançar novas oportunidades profissionais. Aqui na Asimov você encontra:

  • Conteúdos gratuitos
  • Projetos práticos
  • Certificados
  • +20 mil alunos e comunidade exclusiva
  • Materiais didáticos e download de código
Inicie agora

Comentários

Comentar
Faça parte da discussão Crie sua conta gratuita e compartilhe
sua opinião nos comentários
Entre para a Asimov