Проект Pyston, який пропонує Python з JIT-компілятором, повернувся до відкритої моделі розробки

Розробники проекту Pyston, що пропонує високопродуктивну реалізацію мови Python, що використовує сучасні технології JIT-компіляції, представили новий випуск Pyston 2.2 та оголосили про повернення проекту до числа відкритих. Реалізація націлена на досягнення високої продуктивності, близька до продуктивності традиційних системних мов, таких як C++. Код гілки Pyston 2 опубліковано на GitHub під ліцензією PSFL (Python Software Foundation License), аналогічною до ліцензії на CPython.

Нагадаємо, що раніше проект Pyston курирувала компанія Dropbox, яка у 2017 році припинила фінансування розробки. Розробники Pyston заснували свою компанію і випустили суттєво перероблену гілку Pyston 2, яка була оголошена стабільною та готовою для широкого використання. При цьому розробники припинили публікацію вихідних текстів та перейшли до надання лише бінарних збірок. Тепер Pyston вирішено знову зробити відкритим проектом, а компанію перевести на бізнес-модель, пов'язану із розробкою відкритого ПЗ. Більше того, розглядається можливість перенесення оптимізації з Pyston до штатного CPython.

Зазначається, що Pyston 2.2 у тестах продуктивності, що оцінюють навантаження властиві додаткам для web-сервера, швидше за штатний Python на 30%. Також відзначається значне збільшення продуктивності Pyston 2.2 в порівнянні з минулими випусками, чого вдалося досягти в основному за рахунок додавання оптимізації для нових областей, а також удосконалення JIT та механізмів кешування.

Крім оптимізації продуктивності новий випуск також цікавий перенесенням змін із гілки CPython 3.8.8. З точки зору сумісності зі штатним Python проект Pyston подається як найбільш сумісна з CPython альтернативна реалізація, оскільки Pyston є відгалуженням від основної кодової бази CPython. У Pyston підтримуються всі можливості CPython, у тому числі C API для розробки розширень мовою Сі. Серед основних відмінностей Pyston від CPython виділяється використання DynASM JIT, inline-кешування та загальних оптимізацій.

Зі змін у Pyston 2.2 також згадується проведення чищення кодової бази від багатьох налагоджувальних можливостей CPython, які негативно впливають на продуктивність, але при цьому майже не потрібні розробникам. Наводиться статистика, відповідно до якої видалення налагоджувальних засобів призводить до прискорення роботи на 2%, при тому що лише приблизно 2% розробників використовують дані функції.

Джерело: opennet.ru

Додати коментар або відгук