Python Wiki - отличная страница для профилирования ресурсов:
http://wiki.python.org/moin/PythonSpeed/PerformanceTips#Profiling_Code
как и документы по питону:
http://docs.python.org/library/profile.html
как показывает Крис Лоулор cProfile - отличный инструмент, который можно легко использовать для печати на экране:
python -m cProfile -s time mine.py <args>
или в файл:
python -m cProfile -o output.file mine.py <args>
PS> Если вы используете Ubuntu, обязательно установите профиль python
sudo apt-get install python-profiler
Если вы выводите в файл, вы можете получить хорошую визуализацию, используя следующие инструменты
PyCallGraph: инструмент для создания изображений графа вызовов
установить:
sudo pip install pycallgraph
пробег:
pycallgraph mine.py args
вид:
gimp pycallgraph.png
Вы можете использовать все, что угодно, чтобы просмотреть файл png, я использовал gimp
К сожалению, я часто получаю
точка: график слишком велик для растровых изображений cairo-renderer. Масштабирование по 0,257079, чтобы соответствовать
, что делает мои изображения необычно маленькими. Поэтому я обычно создаю SVG-файлы:
pycallgraph -f svg -o pycallgraph.svg mine.py <args>
PS> не забудьте установить graphviz (который предоставляет программу dot):
sudo pip install graphviz
Альтернативный график с использованием gprof2dot через @maxy / @quodlibetor:
sudo pip install gprof2dot
python -m cProfile -o profile.pstats mine.py
gprof2dot -f pstats profile.pstats | dot -Tsvg -o mine.svg