A fost prezentat Pyston-lite, un compilator JIT pentru Python standard.

Dezvoltatorii proiectului Pyston, care oferă o implementare de înaltă performanță a limbajului Python folosind tehnologii moderne de compilare JIT, au lansat extensia Pyston-lite cu implementarea compilatorului JIT pentru CPython. În timp ce Pyston este o ramificare a codului sursă CPython și se dezvoltă separat, Pyston-lite este conceput ca o extensie universală destinată să se conecteze la interpretatorul standard Python (CPython).

Pyston-lite permite utilizarea tehnologiilor de bază ale Pyston fără a înlocui interpretatorul, prin instalarea unei extensii suplimentare cu ajutorul managerului de pachete PIP sau Conda. Pyston-lite este deja disponibil în repositoarele PyPI și Conda și pentru instalare este suficient să executați comanda „pip install pyston_lite_autoload” sau „conda install pyston_lite_autoload -c pyston”. Sunt oferite două pachete: pyston_lite (compilarea JIT propriu-zisă) și pyston_lite_autoload (care realizează substituția automată JIT la pornirea procesului Python). Este posibilă și gestionarea programatică a activării JIT din aplicație fără a instala modulul autoload, folosind funcția pyston_lite.enable().

În ciuda faptului că Pyston-lite nu acoperă toate optimizările disponibile în Pyston, utilizarea sa permite o creștere a performanței de aproximativ 10-25% comparativ cu Python 3.8 standard. În viitor, se preconizează transferul în Pyston-lite a majorității optimizărilor prezente în Pyston, precum și extinderea versiunilor CPython suportate (prima lansare suportă doar Python 3.8). Printre planurile mai globale se numără colaborarea cu echipa CPython pentru implementarea de noi API-uri pentru JIT, care să permită un control mai complet asupra funcționării Python. Se discută includerea modificărilor propuse în ramura Python 3.12. În mod ideal, se evaluează posibilitatea transferării întregii funcționalități din Pyston în extensie, ceea ce va permite abandonarea întreținerii unei bifurcații proprii CPython.

Pe lângă Pyston-lite, proiectul a lansat și o actualizare a pachetului complet Pyston 2.3.4, care oferă noi optimizări. În testul pyperformance, versiunea 2.3.4 este cu aproximativ 6% mai rapidă decât versiunea 2.3.3. Câștigul total de performanță comparativ cu CPython este estimat la 66%.

De asemenea, se remarcă optimizările dezvoltate în cadrul ciclului de dezvoltare CPython 3.11 în proiectul principal, care în unele teste au permis creșterea performanței cu 25%. De exemplu, în CPython 3.11 a fost îmbunătățită eficiența memorizării stării bytecode-ului modulelor de bază, ceea ce va accelera pornirea scripturilor cu 10-15%. Apelurile funcțiilor au fost semnificativ accelerate, iar interpretoare rapide specializate pentru operațiuni tipice au fost adăugate. Se lucrează, de asemenea, la transferarea unor optimizări pregătite de proiectele Cinder și HotPy.

De asemenea, în cadrul proiectului nogil se lucrează la un mod experimental de construire a CPython fără blocarea globală a interpretatorului (GIL, Global Interpreter Lock), care împiedică accesul paralel la obiectele partajate din diferite fire, restricționând paralelizarea operațiunilor pe sistemele multicore. Ca o altă variantă de soluționare a problemei GIL, se dezvoltă posibilitatea de a lega un GIL separat fiecărui interpretator ce rulează în interiorul unui proces (într-un singur proces pot rula mai multe interpretoare, dar eficiența execuției lor paralele este limitată de GIL).

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster