Библиотека .NET для превращения методов C# в воспроизводимые бенчмарки с автоматическим прогревом, статистикой и отчетами о результатах.
pyutils/line_profiler
Построчный профилировщик Python, который показывает, сколько времени занимает выполнение каждой строки декорированной функции.
- Звёзды
- 3,252
- Форки
- 143
- Открытые issues
- 59
- Последний коммит
- 20 дней назад
Что это?
line_profiler измеряет время выполнения каждой строки внутри функций Python. Он пригодится, когда профилирование на уровне функций уже выявило медленную функцию и нужно понять, на какие именно строки уходит время. Функции помечаются декоратором @profile, а по завершении скрипта выводится сводка по каждой строке: число выполнений, затраченное время и доля от общего времени.
Рекомендуемый порядок работы: импортировать profile из line_profiler, декорировать нужные функции и перед запуском скрипта задать переменную окружения LINE_PROFILE=1. В пакет также входит kernprof — вспомогательная утилита командной строки, поддерживающая прежний сценарий работы kernprof -lv. Пакет устанавливается через pip и требует Python версии 3.10 или новее.
Этот репозиторий — поддерживаемый форк, на который теперь указывает пакет line_profiler в PyPI; он продолжает работу над исходным проектом rkern. В документации описаны основы использования, приведены примеры и ответы на часто задаваемые вопросы.
Ключевые возможности
- 01Показывает число выполнений, затраченное время и его долю для каждой строки декорированной функции.
- 02Позволяет включить профилирование с помощью декоратора @profile и переменной окружения LINE_PROFILE.
- 03Включает утилиту командной строки kernprof.
- 04Устанавливается из PyPI через pip; доступны wheel-пакеты для распространённых платформ.
- 05Опциональная интеграция с IPython через extra ipython.
Сценарии использования
- Поиск строк внутри медленной функции Python, на выполнение которых уходит больше всего времени.
- Профилирование скриптов для обработки данных или численных расчётов перед оптимизацией.
- Проверка влияния изменений кода на конкретные строки ресурсоёмкой функции.
Быстрый старт
- 1
Установите line_profiler с помощью pip
pip install line_profiler - 2
Импортируйте profile и добавьте декоратор к функции, которую хотите профилировать
- 3
Установите LINE_PROFILE=1 и запустите скрипт как обычно
Что важно знать
- Требуется Python 3.10 или новее; для более старых версий Python нужны более старые релизы.
- Для установки из исходного кода может потребоваться компилятор C, а для git checkout также нужен Cython.
Темы
Частые вопросы
- Что такое line_profiler?
- Построчный профилировщик Python, который показывает, сколько времени занимает выполнение каждой строки декорированной функции. line_profiler измеряет время выполнения каждой строки внутри функций Python. Он пригодится, когда профилирование на уровне функций уже выявило медленную функцию и нужно понять, на какие именно строки уходит время. Функции помечаются декоратором @profile, а по завершении скрипта выводится сводка по каждой строке: число выполнений, затраченное время и доля от общего времени.
- line_profiler можно использовать бесплатно? Какая у него лицензия?
- line_profiler распространяется с открытым исходным кодом под лицензией Other. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- line_profiler всё ещё поддерживается?
- Активно поддерживается. Последний коммит в line_profiler — 18 окт. 2026 г..
- Для чего можно использовать line_profiler?
- Поиск строк внутри медленной функции Python, на выполнение которых уходит больше всего времени. Профилирование скриптов для обработки данных или численных расчётов перед оптимизацией. Проверка влияния изменений кода на конкретные строки ресурсоёмкой функции.
- Как установить line_profiler?
- Установите line_profiler с помощью pip: pip install line_profiler Импортируйте profile и добавьте декоратор к функции, которую хотите профилировать Установите LINE_PROFILE=1 и запустите скрипт как обычно
- Где скачать line_profiler?
- Исходный код и инструкции по установке — на GitHub: https://github.com/pyutils/line_profiler
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Инструмент для разработки на PHP, который показывает в браузере данные запросов, SQL-запросы, логи, временные шкалы и многое другое, главным образом для приложений Laravel.
Один файл SKILL.md с советами по оптимизации производительности .NET 10–11 для AI-агентов, в первую очередь для бенчмарков.
Профилировщик памяти для Python: отслеживает выделения памяти в Python-коде, нативных расширениях и интерпретаторе и формирует отчёты нескольких типов.
Низконакладной трассировщик Python, который записывает вызовы функций и показывает выполнение кода на интерактивной временной шкале.
Низконагрузочный семплер стеков вызовов для CPython на C, не требующий инструментирования и предназначенный для профилирования запущенных Python-процессов.