Найти - Пользователи
Полная версия: runsnakerun
Начало » Python для экспертов » runsnakerun
1
Андрей Светлов
Хочу презентовать чудную штуку от Флетчера (который помимо всего прочего известен как автор PyOpenGL).

runsnakerun - визуализатор для собранной профайлером информации.
Установка тривиальная - easy_install runsnakerun
Затем запустить runsnake.

Если не получается и у вас не стоит setuptools - очень странно… Но поиск по PyPI поможет и в этом трудном случае.

Зачем нужен?

Я использую cProfile чтобы понять, где моя чудесная программа тормозит. profile тоже подойдет, но он гораздо медленней.
Сохраняю результат в какой-то output34.profile.

Дальше возникает вопрос - как его смотреть. Есть pstats - библиотека для просмотра. Довольно неплохая, но неочевидная. Отлично расширяемая и т.д. Но не очень подходящая для “первого взгляда”.
runsnakerun отлично все показывает - клацайте мышкой и смотрите на подсказки. Callers/Callee тоже присутствуют.
В общем - настоятельно рекомендую посмотреть. Очень удобная вещь.


В завершение хочу устроить маленький опрос: кто из читателей форума использует профайлер в своей работе? И как? Очень интересно.


P.S.
pstats - хорошее решение. Честно. Я наследуюсь от стандартного Stats и настраиваю вывод, фильтруя неинтересный мне мусор. Когда понял основной затык, он же bottle-neck. Позволяет быстро наблюдать за последствиями изменений в коде, направленными на оптимизацию.
j2a
Это который рисует treemap?

Я профайлер почти не использую.
Андрей Светлов
squaremap, если быть точным.
j2a, почему не пользуешься?
В web разработке не помогает и главное - оптимизировать SQL запросы?

P.S. Жду отзывов от других участников форума.
PooH
Стыдно признаться, но я тоже не использую профайлер. А SQL оптимизирую глядя на план запроса.
j2a
Андрей Светлов
j2a, почему не пользуешься?
В web разработке не помогает и главное - оптимизировать SQL запросы?
Сейчас на Питоне две legacy GUI-штуковины, (профайлер там не нужен), и обвязка для экспорта/импорта данных/печати отчетов. По загрузке ЦПУ я вижу, что производительность Питона сейчас не узкое место, а узкое – запросы к СУБД, эффективнее их оптимизировать/кэшировать и пр. Как увижу, что загрузка ЦПУ подползает к пределу – буду профайлить Питон код для оптимизации.
ZAN
Андрей Светлов
В завершение хочу устроить маленький опрос: кто из читателей форума использует профайлер в своей работе? И как? Очень интересно.
Использую hotshot профайлер при запуске с nosetests.
Эти же данные, кстати, использую при генерации документации - строит callgraph, но, правда, пришлось пропатчить epydoc для этого, т.к. он понимает pstat только в формате profile.
ZZZ
Андрей Светлов
В завершение хочу устроить маленький опрос: кто из читателей форума использует профайлер в своей работе? И как? Очень интересно.
Когда-то использовал стандартный profile… Но это было давно и не правда.
Ну и вот сейчас прихожу к тому, что оно скоро понадобиться и runsnakerun окажется в тему.
slav0nic
обхожусь pstats/hotshot но использую очень редко, тк последнее время 85% пишу под веб
Андрей Светлов
Опрос можно считать оконченым - достаточно времени прошло.
Занятно. Получается, что производительность Питона как языка никого не интересует - поскольку мало кто ее на самом деле мерял.
Впредь если опять начнется перебрасывание плюшками и выяснение, у кого быстрее - можно отсылать прямо сюда.
crchemist
Андрей Светлов
Получается, что производительность Питона как языка никого не интересует
цікавить. просто більшість на цьому форумі пишуть під веб, тому і не потрібно профайлера. я час від часу використовую сProfile для того шоб подивитись які ф-ції найчастіше викликаються і скільки часу займають. Для маленьких функцій використовую timeit.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB