A Pyston projekt, amely a Pythont JIT fordítóval kínálja, visszatért a nyílt fejlesztési modellhez

A Python nyelv nagy teljesítményű megvalósítását kínáló Pyston projekt fejlesztői a modern JIT fordítási technológiák segítségével bemutatták a Pyston 2.2 új kiadását, és bejelentették, hogy a projekt visszatér a nyílt forráskódhoz. A megvalósítás célja a hagyományos rendszernyelvekhez, például a C++-hoz hasonló nagy teljesítmény elérése. A Pyston 2 ág kódja a GitHubon a PSFL (Python Software Foundation License) alatt jelenik meg, hasonlóan a CPython licenchez.

Emlékezzünk arra, hogy a Pyston projektet korábban a Dropbox felügyelte, amely 2017-ben leállította a fejlesztés finanszírozását. A Pyston fejlesztői megalapították cégüket, és kiadtak egy jelentősen átalakított Pyston 2 ágat, amelyet stabilnak és széleskörű használatra késznek nyilvánítottak. Ezzel egy időben a fejlesztők leállították a forráskód közzétételét, és áttértek a kizárólag bináris összeállítások biztosítására. Most az a döntés született, hogy a Pystont ismét nyílt forráskódú projektté teszik, és a céget egy nyílt forráskódú szoftverek fejlesztéséhez kapcsolódó üzleti modellre helyezik át. Ezenkívül fontolóra veszi annak lehetőségét, hogy az optimalizációkat a Pystonról a szabványos CPythonra vigyék át.

Meg kell jegyezni, hogy a Pyston 2.2 30%-kal gyorsabb, mint a szabvány Python a teljesítménytesztekben, amelyek értékelik a webszerver-alkalmazásokban rejlő terheléseket. A Pyston 2.2 teljesítménye is jelentős növekedést mutat a korábbi kiadásokhoz képest, amit főként az új területekre vonatkozó optimalizálások hozzáadásával, valamint a JIT és a gyorsítótárazási mechanizmusok fejlesztésével értek el.

A teljesítményoptimalizálás mellett az új kiadás azért is érdekes, mert átveszi a CPython 3.8.8 ág változásait. A natív Pythonnal való kompatibilitás szempontjából a Pyston projektet a leginkább CPython-kompatibilis alternatív megvalósításként tartják számon, mivel a Pyston a fő CPython kódbázis elágazása. A Pyston támogatja a CPython összes funkcióját, beleértve a C nyelvű bővítmények fejlesztésére szolgáló C API-t is. A Pyston és a CPython közötti fő különbségek közé tartozik a DynASM JIT, a beépített gyorsítótár és az általános optimalizálás használata.

A Pyston 2.2-ben végrehajtott változtatások között megemlítik a kódbázis megtisztítását a CPython számos hibakereső funkciójától, amelyek negatívan befolyásolják a teljesítményt, de a fejlesztők körében szinte nincs is rá igény. A statisztikák szerint a hibakereső eszközök eltávolítása 2%-os gyorsulást eredményez, annak ellenére, hogy a fejlesztők mindössze 2%-a használja ezeket a funkciókat.

Forrás: opennet.ru

Hozzászólás