Zhvilluesit e projektit Pyston, që ofron një implementim me performancë të lartë të gjuhës Python, duke përdorur teknologji moderne të kompilimit JIT, prezantuan shtesën Pyston-lite me implementimin e kompiluesit JIT për CPython. Ndryshe nga Pyston, që është një dege e kodit burimor CPython dhe zhvillohet ndarazi, Pyston-lite është krijuar si një shtesë universale, e destinuar për t'u lidhur me interpretuesin standard Python (CPython).
Pyston-lite lejon pĂ«rdorimin e teknologjive bazĂ« tĂ« Pyston pa zĂ«vendĂ«suar interpretuesin, pĂ«rmes instalimit tĂ« njĂ« shtese shtesĂ« me menaxherin e paketave PIP ose Conda. Pyston-lite tashmĂ« Ă«shtĂ« vendosur nĂ« depot 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». Ofrohen dy paketa: pyston_lite (JIT vetĂ«) dhe pyston_lite_autoload (bĂ«n automatikisht nĂ«nvendosjen e JIT gjatĂ« fillimit tĂ« procesit Python). ĂshtĂ« e mundur gjithashtu menaxhimi programor i aktivizimit tĂ« JIT nga aplikacioni pa instaluar modul 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 mundëson rritjen e performancës përreth 10-25% në krahasim me Python 3.8. Në të ardhmen, planifikohet transferimi i shumicës së optimizimeve të pranishme në Pyston në Pyston-lite, si dhe zgjerimi i versioneve të mbështetur CPython (lëshimi i parë mbështet vetëm Python 3.8). Ndër planet më të gjera, përmendet bashkëpunimi me ekipin e CPython për implementimin e API-ve të reja për JIT, që do të lejojë një kontroll më të plotë mbi funksionimin e Python. Diskutohet përfshirja e ndryshimeve të propozuara në degën Python 3.12. Idealisht, shqyrtohet mundësia e transferimit të gjithë funksionalitetit nga Pyston në shtesë, që do të lejojë largimin nga mbështetje e forks vetjake 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ë cilën janë ofruar optimizime të reja. Në testin pyperformance, versioni 2.3.4 është më i shpejtë se lëshimi 2.3.3 me rreth 6%. Përmirësimi i përgjithshëm i performancës në krahasim me CPython është vlerësuar në 66%.
ShtesĂ« mund tĂ« pĂ«rmendet optimizimet nĂ« zhvillim brenda ciklit tĂ« zhvillimit tĂ« CPython 3.11 nĂ« projektin kryesor, tĂ« cilat nĂ« disa teste arritĂ«n tĂ« rrisin performancĂ«n me 25%. PĂ«r shembull, nĂ« CPython 3.11 Ă«shtĂ« rritur efikasiteti i keqmenaxhimit tĂ« gjendjes sĂ« bytecode tĂ« moduleve tĂ« bazĂ«s, qĂ« do tĂ« pĂ«rshpejtojĂ« pĂ«r mĂ« shumĂ« 10-15% nisjen e skenarĂ«ve. ĂshtĂ« pĂ«rshpejtuar ndjeshĂ«m thirrja e funksioneve dhe janĂ« shtuar interpreterĂ« tĂ« shpejtĂ« tĂ« specializuar pĂ«r veprat tipike. Po ashtu, po zhvillohet puna pĂ«r tĂ« transferuar disa optimizime, tĂ« pĂ«rgatitura nga projektet Cinder dhe HotPy.
Njëkohësisht, brenda projektit nogil po zhvillohet një modalitet eksperimental i ndërtimit të CPython pa bllokimin global të interpretuesit (GIL, Global Interpreter Lock), që nuk lejon qasje të paralele në objektet e ndara nga thread të ndryshme, çka pengon paralelimin e operacioneve në sisteme me shumë bërthamë. Si një zgjidhje alternative ndaj problemit me GIL, po zhvillohet mundësia e lidhjes së një GIL të veçantë me çdo interpretues që ekzekutohet brenda procesit (në një proces mund të ekzekutohen disa interpretues, por efikasiteti i përbashkët në ekzekutimin e tyre paralel përballjet me GIL).
Burimi: opennet.ru
