Zhvilluesit e projektit Pyston, që ofron një implementim me performancë të lartë të gjuhës Python duke përdorur teknologjitë moderne të JIT-kompilimit, prezantuan një zgjerim Pyston-lite me implementimin e kompilatorit JIT për CPython. Nëse Pyston është një degë e kodit burimor të CPython dhe zhvillohet autonomisht, Pyston-lite është një zgjerim universal, që është dizenjuar për tu lidhur me interpreterin standard të Python (CPython).
Pyston-lite lejon pĂ«rdorimin e teknologjive thelbĂ«sore tĂ« Pyston pa zĂ«vendĂ«simin e interpreterit, pĂ«rmes instalimit tĂ« njĂ« zgjerimi shtesĂ« pĂ«rmes menaxhuesit tĂ« paketave PIP ose Conda. Pyston-lite tashmĂ« Ă«shtĂ« vendosur nĂ« repo-t e PyPI dhe Conda, dhe pĂ«r ta instaluar mjafton tĂ« ekzekutoni komandĂ«n "pip install pyston_lite_autoload" ose "conda install pyston_lite_autoload -c pyston". Dy paketa janĂ« ofruar: pyston_lite (vetĂ«m JIT) dhe pyston_lite_autoload (bĂ«n futjen automatike tĂ« JIT gjatĂ« nisjes sĂ« procesit Python). ĂshtĂ« e mundur gjithashtu menaxhimi programatik i aktivizimit tĂ« JIT nga aplikacioni pa instaluar modulin autoload, duke pĂ«rdorur funksionin pyston_lite.enable().
Megjithëse Pyston-lite nuk mbulon të gjitha optimizimet e disponueshme në Pyston, përdorimi i tij lejon një rritje të performancës prej rreth 10-25% krahasuar me Python 3.8. Në të ardhmen, planifikohet transferimi në Pyston-lite i shumicës së optimizimeve të pranishme në Pyston, si dhe zgjerimi i versioneve të mbështetura të CPython (edhe pse publikimi i parë mbështet vetëm Python 3.8). Nga planet më globale, theksohet bashkëpunimi me ekipin e CPython për implementimin e API-ve të reja për JIT, të cilat lejojnë një kontroll më të plotë mbi funksionimin e Python. Diskutohet përfshirja e ndryshimeve të propozuara në degen e Python 3.12. Në mënyrë ideale, shqyrtohet mundësia e transferimit të gjithë funksionalitetit nga Pyston në zgjerim, gjë që do të lejonte shmangien nga mbajtja e një forks CPython.
Përveç Pyston-lite, projekti gjithashtu ka lëshuar një përditësim të paketës së plotë Pyston 2.3.4, në të cilin janë propozuar optimizime të reja. Në testin pyperformance, versioni 2.3.4 është më i shpejtë se 2.3.3 me rreth 6%. Përfitimi i përgjithshëm i performancës krahasuar me CPython vlerësohet në 66%.
Po çdo gjë tjetër, mund të theksojmë optimizimet e zhvilluara në kuadër të ciklit të zhvillimit të CPython 3.11 në projektin kryesor, të cilat në disa prova lejuan rritjen e performancës me 25%. Për shembull, në CPython 3.11 është përmirësuar eficienca e caching-ut të gjendjes së bajtkodit të moduleve bazë, e cila do të përshpejtojë ekzekutimin e skripteve me 10-15%. Thirrja e funksioneve është ndjeshëm përshpejtuar dhe janë shtuar interpretime të shpejta të operacioneve tipike. Po ashtu, po zhvillohet puna për të transferuar disa optimizime, të përgatitura nga projektet Cinder dhe HotPy.
Po ashtu, në kuadër të projektit nogil, po zhvillohet një mod experimental i ndërtimit të CPython pa bllokimin global të interpretorit (GIL, Global Interpreter Lock), i cili nuk lejon qasje paralel në objekte të ndara nga thrillat e ndryshëm, gjë që pengon shumëzimin e operacioneve në sisteme me shumë bërthama. Si një zgjidhje tjetër për problemin me GIL, po zhvillohet mundësia e lidhjes së një GIL të veçantë me çdo interpretor që ekzekutohet brenda procesit (në një proces mund të ekzekutohen disa interpretorë, por efekti i ekzekutimit të tyre paralel është i kufizuar nga GIL).
Burimi: opennet.ru
