Ir para o conteúdo
PyPro PyPro
Artigos Cursos Projetos Missão Sobre nós Contato

Dicas Pythônicas

Como Calcular o Tempo de Execução de um Trecho de Código em Python

Tempo de Execução de um Trecho de Código em Python

Por Dilermando Piva Jr. · 30/01/2025

Olá, caro leitor! Seja muito bem-vindo a mais uma edição da "Dicas Pythonicas".

No pyPRO, queremos que você desenvolva programas mais eficientes e compreenda o desempenho dos seus códigos.

Hoje, vamos mostrar como calcular o tempo de execução de um trecho de código em Python. Medir o tempo que seu código leva para ser executado é essencial para otimização e diagnóstico de desempenho. Podemos fazer isso de forma simples usando a função time() do módulo time ou, para medições mais precisas, com o módulo timeit.

Veja como fazer isso com time():

from time import time

 

def fun():

    for x in range(1000000):

        pass # Retirando qualquer comando adicional para não afetar o tempo de execução

 

inicio = time()

fun()

fim = time()

 

print(f"Execução levou: {fim - inicio} segundos!")

 

Como Funciona?

  • Importação da Função time(): time() retorna o número de segundos desde a "Época" (um ponto de referência fixo, geralmente 1 de janeiro de 1970). Podemos usá-la para registrar os instantes antes e depois da execução do código.
  • Medindo o Tempo: Antes de executar a função fun(), capturamos o tempo inicial usando inicio = time(). Após a execução, capturamos o tempo final com fim = time(). A diferença entre fim e inicio fornece o tempo total de execução em segundos.

Agora, veja como fazer isso usando o módulo timeit:

import timeit

 

# Definindo a função a ser medida

def fun():

    for x in range(1000000):

        pass

 

# Medindo o tempo de execução com timeit

tempo = timeit.timeit("fun()", globals=globals(), number=10)

print(f"Tempo médio de execução: {tempo / 10} segundos por execução")

 

Como Funciona?

  • Módulo timeit: O módulo timeit é projetado para medir o tempo de execução de pequenos trechos de código de forma mais precisa, executando o código várias vezes para obter uma média.
  • timeit.timeit(): Executa o código fornecido (neste caso, fun()) um número especificado de vezes (number=10), e a média do tempo é calculada dividindo pelo número de execuções.
  • globals=globals(): Isso permite que timeit acesse a função fun() definida no escopo global.

 

Para escolher utilizar timeit ou time(), siga o seguinte conselho:

  • Quando usar timeit: timeit é mais preciso e recomendado para benchmarks, especialmente quando o código a ser medido tem tempos de execução muito curtos.
  • Praticidade: Use time() para medições rápidas e timeit para análises detalhadas de desempenho.

Espero que esta dica te ajude a analisar e otimizar seus programas em Python de forma eficiente. Fique atento à próxima edição, onde exploraremos mais técnicas para ajudar no desenvolvimento de código de alta performance!

Um forte abraço,

 

Prof. Dr. Dilermando Piva Jr.
Idealizador do pyPRO
Visite: https://pypro.com.br para mais informações sobre Python, Ciência de Dados e Git/GitHub.

← Voltar para artigos

pyPRO - Python para todos.

Instagram YouTube LinkedIn X (Twitter)