TGViewer
.рубик .рубик @dotrubic · 864 subscribers
Post #219 1.89K
Питонячьи радости: pyinstrument.

tldr: лучший существующий CPU-профайлер для питона.

В мире питона с профайлерами всё не очень просто.
Есть суровый дедовский способ профилирования через import time.
Есть встроенный cProfile.
Есть какой-нибудь scalene.
Есть yappi, Austin, py-spy, line_profiler, pprofile - десятки их.

Достаточно приличная табличка-сравнение разных профайлеров есть в репе scalene.

Оставим тему профилирования памяти пока что (там всё ещё хуже), и остановимся на CPU-профайлерах.

Раньше я пользовался line_profiler и немножечко страдал, потому что в процентах 80% моих питоновских проектов есть асинки, а работа асинков достаточно сильно насилует стек, в результате чего результаты профилирования асинхронщины были абсолютно нечитаемы.

Узнал про scalene - но тогда, когда я пытался его применить, он дичайше глючил и не выдавал ничего полезного.
Хотя описание и задумка там хорошая, но что-то не пошло.

И вот pyinstrument. Простой, как топор, и удобный, как дедов гамак.

Надо профилировать скрипт или модуль? Пожалуйста.
Или тесты? Без проблем.
Произвольный кусок кода? Вперед.
Интеграция в Ipython? Да.
Нативный middleware для django? Не знаю, кому он может понадобиться, но есть.
Готовые сниппеты для Flask/FastAPI (безумно удобный)/Falcon? Прямо в доке лежат.

Вывести результат в консоль? Есть.
HTML-ка? Есть. Удобная, кстати!
speedscope.app? В наличии.

Человеческая обработка асинков? Без проблем, всё работает само и из коробки.

В общем, для 95-98% всех задач, где мне надо что-либо профилировать, его хватает с головой.
5% на случаи, когда очень нужно смотреть перф построчно, а не по функциям.
  • 🔥 9
More from @dotrubic
  1. Aug 26, 2026Поучаствовал в этом году в составлении хак-квеста для проходки на ZeroNights) Залетайте по…
  2. Jul 14, 2026Your friendly telegram changelog here! Дуров опять придумал всратую херню! Повод выйти из…
  3. Nov 27, 2024У меня тут произошел инцидент: какой-то хмырь скопировал мой профиль и стучался к людям в…
  4. Oct 18, 2024В конце августа мы сделали силами нашей команды CTF для Островка!, а потом вместе с @greg0…
  5. Jul 9, 2024Тут на гитхабе разворачивается очередная дРаМа. Если вкратце: есть в экосистеме питона так…
  6. Jul 7, 2024Сидел я сегодня такой, развлекался с Nix'ом и внезапно обнаружил, что конструкции вида nix…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →