Python Timeit() com exemplos
O que é Python Timeit()?
Python timeit() é um método na biblioteca Python para medir o tempo de execução do trecho 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 de um determinado conjunto de trechos 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
- stm :Isso levará o código para o qual você deseja medir o tempo de execução. O valor padrão é "passar".
- configuração :Isso terá detalhes de configuração que precisam ser executados antes do stmt. O valor padrão é "passar".
- temporizador :Isso terá o valor do timer, timeit() já tem um valor padrão definido e podemos ignorá-lo.
- número :O stmt será executado conforme o número fornecido aqui. O valor padrão é 1.000.000.
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 instrução de código simples output =10*5, e o tempo gasto para executá-lo é 0,06127880399999999.
Tempo de várias linhas no código python
Há duas 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 uma string com aspas triplas.
Aqui estão exemplos que mostram o funcionamento do mesmo.
Exemplo 1:usando ponto e vírgula
import timeit print("The time taken is ",timeit.timeit(stmt='a=10;b=10;sum=a+b'))
Resultado:
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))
Resultado:
C:\pythontest>python testtimeit.py The time taken is 0.182619178
timeit – Métodos:
Aqui estão 2 métodos importantes de timeit
timeit.default_timer() :Isso retornará a hora padrão quando executado.
timeit.repeat(stmt, setup, timer, repeat, number) :o 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))
Resultado:
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)
Resultado:
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))
Resultado:
[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 de receber o argumento repeat e retornar o tempo de execução em formato 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 do 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 usar time.time()
- -c:para isso, você pode usar time.clock()
- -h:para ajuda
- instrução de 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 é como mostrado abaixo:
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 algumas razões pelas 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, 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 toda vez pela função time().
- timeit() internamente leva o tempo exato de acordo com o seu sistema operacional que está sendo usado. Por exemplo, ele usará time.clock() para 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
- setup:terá detalhes de configuração que precisam ser executados antes do stmt
- timer:terá o valor do timer, timeit() já tem um valor padrão definido e podemos ignorá-lo.
- number:O stmt será executado conforme o número fornecido aqui.
python
- Python Obter hora atual
- Módulo de tempo Python
- Python String count() com EXEMPLOS
- Python String format() Explique com EXEMPLOS
- Método Python String find() com exemplos
- Funções do Python Lambda com EXEMPLOS
- Função Python round() com EXEMPLOS
- Função Python map() com EXEMPLOS
- Contador Python em coleções com exemplo
- type() e isinstance() em Python com exemplos