Pyston projekti arendajad, kes pakuvad kõrge jõudlusega Python'i keele teostust kaasaegsete JIT-kompilaatoritehnoloogiate abil, esitlesid Pyston-lite'i laiendust, mis sisaldab JIT-kompilaatori teostust CPython'i jaoks. Kui Pyston on CPython'i koodibaasi haru ja areneb iseseisvalt, siis Pyston-lite on kujundatud üldiseks laienduseks, mis on mõeldud ühendamiseks tavalise Python'i tõlgiga (CPython).
Pyston-lite võimaldab kasutada Pystoni põhitöötlustehnoloogiaid tõlkijat asendamata, paigaldades täiendava laienduse paketihalduri PIP või Conda abil. Pyston-lite on juba saadaval PyPI ja Conda ladudes ning paigaldamiseks piisab käsu "pip install pyston_lite_autoload" või "conda install pyston_lite_autoload -c pyston" täitmisest. Pakutakse kahte paketti: pyston_lite (otseselt JIT) ja pyston_lite_autoload (töötab JIT automaatse lisamisega Python protsessi käivitamisel). Samuti on võimalik JIT sisse lülitamine rakendusest ilma autoload mooduli paigaldamiseta, kasutades funktsiooni pyston_lite.enable().
Kuigi Pyston-lite ei kata kõiki Pystonis saadaval olevaid optimeerimisi, võimaldab selle kasutamine parandada jõudlust umbkaudu 10-25% võrreldes tavalise Python 3.8-ga. Tulevikus on plaanis Pyston-lite'i üle kanda enamik Pystonis olemasolevaid optimeerimisi, samuti laiendada toetatud CPython'i versioone (esimene väljaanne toetab ainult Python 3.8). Suuremate plaanide hulgas on koostöö CPythoni meeskonnaga uute JIT API-de rakendamiseks, mis võimaldavad Python'i käitumist paremini hallata. Arutatakse ettepanekute kaasamist Python 3.12 harusse. Ideaalis kaalutakse kogu funktsionaalsuse üleviimist Pystonist laiendusse, mis välistaks oma CPython'i fork'iga tegelemise.
Lisaks Pyston-lite'ile on projekt välja andnud ka täispaketi Pyston 2.3.4 uuenduse, kus on pakutud uusi optimeerimisi. Testis pyperformance on versioon 2.3.4 umbes 6% kiirem kui väljaanne 2.3.3. Üldine jõudluse tõus võrreldes CPython'iga on hinnanguliselt 66%.
Lisaks tuleb märkida CPython 3.11 arendustes tehtud optimeerimisi, mis on suurendanud jõudlust mõnedes testides kuni 25%. Näiteks on CPython 3.11 parandanud põhimoodulite aluse bytecode'i oleku vahemälu tõhusust, mis kiirendab skriptide käivitamist 10-15%. Funktsioonide väljakutsumine on oluliselt kiirenenud ning on lisatud spetsialiseeritud kiired tõlgendajad tüüpiliste operatsioonide jaoks. Samuti jätkatakse tööde tegemist mõnede optimeerimiste üleviimise kallal, mis on valmistatud projektide Cinder ja HotPy raames.
Lisaks töötatakse projekti nogil raames katse režiimi nimel, mis võimaldab CPython'i koostamist ilma globaalse tõlkija lukust (GIL, Global Interpreter Lock), mis ei luba erinevatest lõimudest jagatud objektide samaaegset kasutamist, takistades tehingute paralleelset tegemist mitme tuumalise süsteemi puhul. Teiseks lahenduseks GILi probleemile arendatakse võimalust siduda iga tõlkija omaette GIL-iga, mis töötab protsessi sees (samas protsessis võib tegutseda mitu tõlkijat, kuid nende paralleelse täitmise tõhusus sõltub GIL-ist).
Allikas: opennet.ru
