Праект 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

Дадаць каментар