Python: Aferir performance

A performance de códigos é uma necessidade que alguns desenvolvedores não se atentam, mas é um requisito necessário aos profissionais que mantêm a aplicação em produção e também garantirá a longevidade da aplicação.

def ispar(x):
    return False if x % 2 else True

par_impar = lambda x: "impar" if x % 2 else "par"
import timeit
from functools import partial
print('ispar: ', timeit.timeit(partial(ispar, 23), number=10000000))
print('par_impar: ', timeit.timeit(partial(par_impar, 23), number=10000000))
ispar: 1.4209432290008408 par_impar: 1.3665744079989963
No IPython, há a função builtin %timeit:
%timeit ispar(11)
109 ns ± 1.13 ns per loop (mean ± std. dev. of 7 runs, 10000000 loops each)
%timeit par_impar(11)
112 ns ± 0.277 ns per loop (mean ± std. dev. of 7 runs, 10000000 loops each)
Outros exemplos podem ser encontrados em geeksforgeeks.org

Comentários