😢 Проблема: написанные на Python приложения часто медлительные — некоторые задачи могут выполняться в 60 тысяч раз дольше, чем на других языках программирования.
Чтобы сделать код на Python эффективнее, опытные программисты используют специальные инструменты — профилировщики. Но существующие профилировщики в лучшем случае подсказывают, какая область кода работает медленно, а программисту приходится самому определять, что будет, если оптимизировать код тем или иным образом.
😎 Решение: профилировщик Scalene, который не только выявляет неэффективные области в коде на Python, но и консультирует программиста, как можно улучшить код.
🤔 Как работает: сначала Scalene изучает, на что программа тратит время. При этом он анализирует три ключевых показателя: загрузку центрального процессора, графического процессора и использование памяти. Именно эти показатели могут быть причиной низкой скорости Python.
Выявив, в какой части код на Python поддерживается плохо, профилировщик Scalene разрабатывает методы оптимизации кода с помощью нейросети. Для этого используются такие же технологии, что лежат в основе ChatGPT.
⏬ GitHub: github.com
🤨 И что? С момента публикации открытого кода Scalene скачали уже более 750 тысяч раз. По одному из отзывов, с помощью нового профилировщика удалось сократить время выполнения кода на Python на 92%.
🧑💻 Кто: исследователи Массачусетского университета в Амхерсте, США.
Источники: techxplore.com и usenix.org