Об этом проекте

Scalene — это высокоточный профилировщик для Python, предназначенный для выявления узких мест в производительности по использованию CPU, GPU и памяти. В отличие от многих других профилировщиков, он использует сэмплирование для поддержания низкой нагрузки (обычно 10–20%) и предоставляет детализированный посрочный отчёт. Ключевые возможности включают: - Профилирование CPU: разделяет время выполнения кода на Python, нативного кода (библиотек) и системного времени (I/O). - Профилирование памяти: отслеживает рост памяти по строкам, выявляет потенциальные утечки памяти и контролирует объём копирования между границами Python и нативного кода. - Профилирование GPU: отчёты о времени работы GPU на системах с NVIDIA. - Асинхронное профилирование: атрибуция реального времени ожидания к конкретным строкам и отслеживание количества одновременных корутин. - Оптимизации на основе ИИ: интеграция с ИИ-провайдерами (OpenAI, Amazon Bedrock, Azure и Ollama) для предложения оптимизаций кода на основе выявленных неэффективностей. - Расширенная визуализация: веб-GUI со стеками вызовов, огненными диаграммами с учётом памяти и временной шкалой реального времени, отображающей активность GC, I/O и GIL. Scalene поддерживает различные способы интеграции, включая командную строку, расширение Visual Studio Code и команды Jupyter notebook magic. Также поддерживается free-threaded Python (3.13t / 3.14t).