Módulo Timeit Python

Módulo Timeit Python

A programação não é apenas realizar uma tarefa e obter uma saída que pretendemos obter. É também sobre a rapidez com que um programa é executado e executado para que a saída desejada seja alcançada. Com a maioria das linguagens de programação, não é fácil comparar o quão rápido o programa foi executado e nunca é fácil cronometrar uma peça específica de código para entender qual parte do nosso código está demorando mais tempo para executar. Esta é a questão que é resolvida pelo Python Timeit módulo.

Módulo Timeit Python

Pitão Timeit O módulo nos permite cronometrar o tempo de execução de um código sem levar em consideração os processos de fundo que são executados para fazer um código executável. Se você precisar de medições um pouco precisas de como seu código está executando Timeit é o módulo para procurar.

Exemplo simples de tempo

Começaremos usando o módulo Timeit diretamente do prompt de comando. O módulo Timeit pode ser usado diretamente da CLI, onde podemos inserir uma instrução simples de loop e cronometrar -a usando o comando mostrado:

$ python -versão
$ python -m timeit '"&".Junte -se (str (n) para n no intervalo (1000)) '
$ python -m timeit '"&".Junte -se ([str (n) para n no intervalo (1000)]) '
$ python -m timeit '"&".Junte -se (mapa (str, alcance (1000)) ''

Aqui está o que recebemos com este comando:

Tempo de execução da CLI usando Timeit

Em uma das seções posteriores, aprenderemos como podemos gerenciar o número de loops executados para encontrar o número ideal para a execução de uma determinada expressão.

Cronometrando um pedaço de código

Se você tem um script básico do Python para o qual deseja medir o tempo, o Timeit Module é o caminho a seguir:

importar timeit
# O código de configuração é executado apenas uma vez
setup_code = "De Math Import Sqrt"
# Snippet de código principal para verificação de desempenho
code_to_measure = "'
def exemplo ():
mylist = []
para x no intervalo (100):
minha lista.Anexar (SQRT (X))
'"
# declaração timeit
Imprimir (Timeit.timeit (setup = setup_code,
stmt = code_to_measure,
número = 10000))

Vamos ver a saída para este comando:

Tempo um loop

Neste código, também vimos como podemos controlar o número de repetitios que o módulo Timeit será executado para encontrar o melhor momento de execução para o programa.

Meça o tempo para o código de várias linhas da CLI

Também podemos medir o tempo para o código que se estende por várias linhas no Python CLI. Vejamos um programa de amostra para ver isso:

$ python -m timeit -s \
> "Linuxhint = " \
> "Para n em alcance (1000):" \
> "Linuxhint [str (n)] = n"

Aqui está o que recebemos com este comando:

Código multi-linha de tempo na CLI

Geralmente comparando dois blocos de código

Se você não quer entrar em um aborrecimento de usar a CLI e apenas deseja comparar dois programas Python para que você saiba qual é mais rápido, há uma maneira bastante simples de alcançar isso:

importar timeit
start = timeit.default_timer ()
funcone ()
Imprimir (Timeit.default_timer () - Start)
start = timeit.default_timer ()
functwo ()
Imprimir (Timeit.default_timer () - Start)

Ao usar a função default_timer (), começamos os horários repetidamente para encontrar a diferença para o mesmo quando foi iniciado pela última vez. Isso só pode ser usado quando você tem um bom estilo modular de escrever código para que cada pieve de código possa ser medido separadamente.

Conclusão

Nesta lição, estudamos como podemos cronometrar nosso código em python e ver sua complexidade e eficiência de tempo e trabalhar sobre ele se o código for muito lento.