Python Timeit () com exemplos

O que é Python Timeit ()?

Python timeit () é um método na biblioteca Python para medir o tempo de execução gasto pelo fragmento de código fornecido. A biblioteca Python executa a instrução de código 1 milhão de vezes e fornece o tempo mínimo obtido a partir de um determinado conjunto de fragmentos de código. Python timeit () é um método útil que ajuda a verificar o desempenho do código.

Sintaxe:

 timeit.timeit(stmt, setup,timer, number) 

Parâmetros

  • stmt : Isso levará o código para o qual você deseja medir o tempo de execução. O valor padrão é 'pass'.
  • configurar : Isso terá detalhes de configuração que precisam ser executados antes do início do processo. O valor padrão é 'pass'.
  • cronômetro : Este terá o valor do temporizador, timeit () já tem um valor padrão definido e podemos ignorá-lo.
  • número : O stmt será executado de acordo com o número fornecido aqui. O valor padrão é 1000000.

Para trabalhar com timeit (), precisamos importar o módulo, conforme mostrado abaixo:

 import timeit 

Primeiro exemplo

Aqui está um exemplo simples da função timeit ()

Exemplo de código 1:

 # testing timeit() import timeit print(timeit.timeit('output = 10*5')) 

Saída:

 0.06127880399999999 

Vimos um exemplo simples que nos dá o tempo de execução da saída da instrução de código simples = 10 * 5, e o tempo necessário para executá-lo é 0,06127880399999999.

Cronometragem de várias linhas no código python

Existem dois em que você pode executar várias linhas de código em timeit.timeit (), usando um ponto e vírgula ou salvando o código entre aspas triplas.

Aqui estão alguns exemplos que mostram o funcionamento disso.

Exemplo 1: usando ponto-e-vírgula

 import timeit print('The time taken is ',timeit.timeit(stmt='a=10;b=10;sum=a+b')) 

Saída:

 The time taken is 0.137031482 

Exemplo 2: usando aspas triplas

 import timeit import_module = 'import random' testcode = ''' def test(): return random.randint(10, 100) ''' print(timeit.repeat(stmt=testcode, setup=import_module)) 

Saída:

 C:pythontest>python testtimeit.py The time taken is 0.182619178 

timeit - Métodos:

Aqui estão 2 métodos importantes de tempo

timeit.default_timer () : Isso retornará o tempo padrão quando executado.

timeit.repeat (stmt, setup, timer, repeat, number) : mesmo que timeit (), mas com repeat o timeit () é chamado o número de vezes que repeat é dado.

Exemplo de programa 1:

 # testing timeit() import timeit import_module = 'import random' testcode = ''' def test(): return random.randint(10, 100) ''' print(timeit.timeit(stmt=testcode, setup=import_module)) 

Saída:

 0.46715912400000004 

Exemplo 2:

default_timer () Exemplo

 # testing timeit() import timeit import random def test(): return random.randint(10, 100) starttime = timeit.default_timer() print('The start time is :',starttime) test() print('The time difference is :', timeit.default_timer() - starttime) 

Saída:

 The start time is : 0.220261875 The time difference is : 0.0004737320000000045 

Exemplo 3: timeit.repeat ()

 # testing timeit() import timeit import_module = 'import random' testcode = ''' def test(): return random.randint(10, 100) ''' print(timeit.repeat(stmt=testcode, setup=import_module, repeat=5)) 

Saída:

 [0.43638873, 0.5040939680000001, 0.5069179909999999, 0.3943449330000002, 0.3546886979999999] 

timeit.repeat () funciona de forma semelhante à função timeit.timeit (), com a única diferença que leva no argumento de repetição e retorna o tempo de execução no formato de array com valores conforme o número de repetição.

Executando a função de temporização timeit.timeit () dentro da interface de linha de comando

A sintaxe para executar sua função dentro de timeit () na linha de comando é a seguinte:

 python -m timeit [-n N] [-r N] [-s S] [-t] [-c] [-h] [code statement ...] 

Parâmetros da linha de comando:

  • -n N: o número de vezes que você deseja que o código seja executado.
  • -r N: o número de vezes que você deseja que a função timeit () se repita
  • -s S: terá detalhes de configuração que serão executados antes da execução do código.
  • -t: para isso, você pode fazer uso de time.time ()
  • -c: para isso, você pode usar time.clock ()
  • -h: para obter ajuda
  • declaração do código: os detalhes do código.

Exemplo:

 C:pythontest>python -m timeit -s 'text='hello world'' 20000000 loops, best of 5: 13.1 nsec per loop 

Outra maneira de executar dentro da linha de comando é a seguinte:

Exemplo :

 >>> import timeit >>> print('The time taken is ',timeit.timeit(stmt='a=10;b=10;sum=a+b')) The time taken is 0.15048536300000137 >>> 

Por que timeit () é a melhor maneira de medir o tempo de execução do código Python?

Aqui estão alguns motivos pelos quais consideramos timeit () a melhor maneira de medir o tempo de execução.

  • Ele executa a instrução de código 1 milhão de vezes que é o valor padrão e, a partir disso, ele retornará o tempo mínimo necessário. Você também pode aumentar / diminuir 1 milhão definindo o número do argumento na função time ().
  • Durante a execução do teste, a coleta de lixo é desabilitada todas as vezes pela função time ().
  • timeit () internamente leva o tempo preciso de acordo com o sistema operacional que está sendo usado. Por exemplo, ele usará time.clock () para o sistema operacional Windows e time.time () para mac e Linux.

Resumo

Timeit () é usado para obter o tempo de execução do pequeno código fornecido

Parâmetros usados ​​com timeit ()

  • stmt: Isso levará o código que você deseja para medir o tempo de execução
  • configuração: isso terá detalhes de configuração que precisam ser executados antes do início
  • timer: Este terá o valor do timer, timeit () já tem um valor padrão definido, e podemos ignorá-lo.
  • número: o stmt será executado de acordo com o número fornecido aqui.