Інструмент від Університету Массачусетса в Амхерсті під назвою Scalene – профайлер-«налагоджувач проблем із продуктивністю» з використанням ШІ. Він був завантажений на GitHub вже понад 900 тисяч разів, повідомляє IT Brew.
«Це чудово загалом і дивовижно для академічного проєкту», – говорить професор UMass Емері Бергер, який працював із докторантами Семом Стерном і Хуаном Альтмаєром Піццорно над інструментом з відкритим кодом.
За словами Бергера, Scalene є першим профайлером, який використовує ШІ.
Профайлери дозволяють програмістам зрозуміти проблеми продуктивності їхньої роботи та визначити, які частини коду потребують найдовшого часу для виконання.
Scalene вимірює, скільки часу та пам’яті витрачається на кожен рядок коду – як у середньому, так і на піку.
Такі мови, як C і C++ часто вважаються більш швидкими й ефективнішими, оскільки компілятор перекладає програму у машинні інструкції, які безпосередньо виконує комп’ютер.
Стандартна, популярна реалізація Python, відома як CPython, є інтерпретатором, який повинен неодноразово декодувати інструкції. Построкові зчитування збільшують час виконання та суттєве зниження продуктивності. Наприклад, уповільнення у 20, 50, 100 разів.
За словами Бергера, однією з головних задач Scalene є не лише пошук проблем рядок за рядком, але й визначення того, скільки часу витрачається на ефективні бібліотеки, а скільки – на Python.
Завдяки графікам інструмент відстежує використання пам’яті та час виконання для кожного рядка. Також він перетворює код на підказку, яка ініціює рекомендовані зміни.
Сучасні профайлери, які можуть точно визначити проблеми та навіть надати докладну інформацію про неефективність, мають «проблему останньої милі», вважає Бергер.
За словами експерта, завдяки Scalene користувач може «використовувати механізм, який підтримує ChatGPT, щоб отримати пропозицію щодо оптимізації».
За роботу над Scalene команда UMass отримала нагороду на 17-му симпозіумі USENIX із проєктування та впровадження операційних систем (OSDI) у липні 2023 року.
«Якщо ваш код Python уже працює досить швидко, вам не потрібен профайлер. Але якщо він працює повільно, я вважаю, що це дуже зручний профайлер», – вважає Бергер.
Звіт про найкращі мови програмування у 2023 році ви можете почитати тут.