Форум сайта python.su
Хочу презентовать чудную штуку от Флетчера (который помимо всего прочего известен как автор PyOpenGL).
runsnakerun - визуализатор для собранной профайлером информации.
Установка тривиальная - easy_install runsnakerun
Затем запустить runsnake.
Если не получается и у вас не стоит setuptools - очень странно… Но поиск по PyPI поможет и в этом трудном случае.
Зачем нужен?
Я использую cProfile чтобы понять, где моя чудесная программа тормозит. profile тоже подойдет, но он гораздо медленней.
Сохраняю результат в какой-то output34.profile.
Дальше возникает вопрос - как его смотреть. Есть pstats - библиотека для просмотра. Довольно неплохая, но неочевидная. Отлично расширяемая и т.д. Но не очень подходящая для “первого взгляда”.
runsnakerun отлично все показывает - клацайте мышкой и смотрите на подсказки. Callers/Callee тоже присутствуют.
В общем - настоятельно рекомендую посмотреть. Очень удобная вещь.
В завершение хочу устроить маленький опрос: кто из читателей форума использует профайлер в своей работе? И как? Очень интересно.
P.S.
pstats - хорошее решение. Честно. Я наследуюсь от стандартного Stats и настраиваю вывод, фильтруя неинтересный мне мусор. Когда понял основной затык, он же bottle-neck. Позволяет быстро наблюдать за последствиями изменений в коде, направленными на оптимизацию.
Офлайн
Это который рисует treemap?
Я профайлер почти не использую.
Офлайн
squaremap, если быть точным.
j2a, почему не пользуешься?
В web разработке не помогает и главное - оптимизировать SQL запросы?
P.S. Жду отзывов от других участников форума.
Офлайн
Стыдно признаться, но я тоже не использую профайлер. А SQL оптимизирую глядя на план запроса.
Офлайн
Андрей СветловСейчас на Питоне две legacy GUI-штуковины, (профайлер там не нужен), и обвязка для экспорта/импорта данных/печати отчетов. По загрузке ЦПУ я вижу, что производительность Питона сейчас не узкое место, а узкое – запросы к СУБД, эффективнее их оптимизировать/кэшировать и пр. Как увижу, что загрузка ЦПУ подползает к пределу – буду профайлить Питон код для оптимизации.
j2a, почему не пользуешься?
В web разработке не помогает и главное - оптимизировать SQL запросы?
Офлайн
Андрей СветловИспользую hotshot профайлер при запуске с nosetests.
В завершение хочу устроить маленький опрос: кто из читателей форума использует профайлер в своей работе? И как? Очень интересно.
Офлайн
Андрей СветловКогда-то использовал стандартный profile… Но это было давно и не правда.
В завершение хочу устроить маленький опрос: кто из читателей форума использует профайлер в своей работе? И как? Очень интересно.
Офлайн
обхожусь pstats/hotshot но использую очень редко, тк последнее время 85% пишу под веб
Офлайн
Опрос можно считать оконченым - достаточно времени прошло.
Занятно. Получается, что производительность Питона как языка никого не интересует - поскольку мало кто ее на самом деле мерял.
Впредь если опять начнется перебрасывание плюшками и выяснение, у кого быстрее - можно отсылать прямо сюда.
Офлайн
Андрей Светловцікавить. просто більшість на цьому форумі пишуть під веб, тому і не потрібно профайлера. я час від часу використовую сProfile для того шоб подивитись які ф-ції найчастіше викликаються і скільки часу займають. Для маленьких функцій використовую timeit.
Получается, что производительность Питона как языка никого не интересует
Отредактировано (Май 15, 2009 13:23:32)
Офлайн