TGViewer
Zen of Python Zen of Python @zen_of_python · 18.8K subscribers
Post #5002 576
Как точечно сравнивать скорость функций Python с tprof

Профилировщик помогает найти медленную функцию. Но после каждой правки снова измерять всю программу неудобно: отчёт приходится фильтровать, а профилировщик добавляет накладные расходы. tprof для Python 3.12+ следит только за выбранными функциями.

В режиме сравнения одна функция становится базовой, а столбец delta показывает разницу. В примере sum(range(...)) выполнялся примерно на 62% быстрее цикла с накоплением. Запустить замер можно из командной строки, через контекстный менеджер или декоратор.

В разборе Адам Джонсон показывает команды и Python API. tprof работает через sys.monitoring: регистрирует обработчики только для целевых функций, а время измеряет в C. Остальная программа не получает накладных расходов профилировщика.
  • 👀 1
More from @zen_of_python
  1. Sep 21, 2026Как писать Python-скрипты, которые удобно запускать в пайплайнах В разборе Bite code! собр…
  2. Sep 21, 2026Как упаковать Go-бинарник в wheel и подключить к Python PyPI может раздавать не только Pyt…
  3. Sep 20, 2026Как collections.deque хранит элементы блоками У deque два конца, поэтому легко представить…
  4. Sep 20, 2026Что ускоряет django-msgspec в Django и где он расходится с json django-msgspec заменяет ко…
  5. Sep 20, 2026Почему миллион чисел в Python занимает 35 МБ Список из миллиона целых, которые помещаются…
  6. Sep 19, 2026Как перевести Python-сервер MCP с FastMCP на SDK 2.x Свежая установка зависимостей сломала…
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 →