21.12.2022 Views

python_para_desenvolvedores_2ed

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

274 Performance

Performance

O Python provê algumas ferramentas para avaliar performance e localizar

gargalos na aplicação. Entre estas ferramentas estão os módulos cProfile e

timeit.

O módulo cProfile 84 faz uma análise detalhada de performance, incluindo as

chamadas de função, retornos de função e exceções.

Exemplo:

# -*- coding: latin1 -*-

import cProfile

def rgb1():

"""

Função usando range()

"""

rgbs = []

for r in range(256):

for g in range(256):

for b in range(256):

rgbs.append('#%02x%02x%02x' % (r, g, b))

return rgbs

def rgb2():

"""

Função usando xrange()

"""

rgbs = []

for r in xrange(256):

for g in xrange(256):

for b in xrange(256):

rgbs.append('#%02x%02x%02x' % (r, g, b))

return rgbs

def rgb3():

"""

Gerador usando xrange()

"""

84 O módulo cProfile (disponível no Python 2.5 em diante) é uma versão otimizada do

módulo profile, que tem a mesma funcionalidade.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!