Agefouert Pyston-lite, e JIT Compiler fir gebierteg Python

D'Entwéckler vum Pyston-Projet, deen eng High-Performance Implementatioun vun der Python-Sprooch mat modernen JIT-Kompilatiounstechnologien ubitt, hunn d'Pyston-lite Extensioun mat enger Implementatioun vum JIT Compiler fir CPython presentéiert. Wärend Pyston eng Filial vun der CPython Codebase ass a separat entwéckelt gëtt, ass Pyston-lite als universell Extensioun entworf fir mat dem Standard Python Dolmetscher (CPython) ze verbannen.

Pyston-lite erlaabt Iech d'Basis Pyston Technologien ze benotzen ouni den Dolmetscher z'änneren, andeems Dir eng zousätzlech Extensioun mam PIP oder Conda Package Manager installéiert. Pyston-lite ass schonn an de PyPI a Conda Repositories gehost, a fir ze installéieren, fuert just de Kommando "pip install pyston_lite_autoload" oder "conda install pyston_lite_autoload -c pyston". Zwee Packagen ginn proposéiert: pyston_lite (JIT direkt) an pyston_lite_autoload (mécht automatesch JIT Substitutioun wann Dir e Python Prozess start). Et ass och méiglech programmatesch ze kontrolléieren aktivéieren JIT vu bannent der Applikatioun ouni den Autoload-Modul z'installéieren, mat der Funktioun pyston_lite.enable () .

Och wann Pyston-lite net all d'Optimisatiounen, déi am Pyston verfügbar sinn, ofdeckt, kann seng Notzung d'Performance ëm ongeféier 10-25% verbesseren am Verglach zum normale Python 3.8. An Zukunft ass et geplangt fir déi meescht vun den Optimisatiounen, déi am Pyston präsent sinn, op Pyston-lite ze transferéieren, souwéi déi ënnerstëtzte Versioune vum CPython auszebauen (déi éischt Verëffentlechung ënnerstëtzt nëmmen Python 3.8). Méi global Pläng enthalen Zesummenaarbecht mam CPython Team fir nei APIs fir JIT ëmzesetzen, wat méi komplett Kontroll iwwer d'Aarbecht vum Python erlaabt. D'Inklusioun vun de proposéierten Ännerungen an der Python 3.12 Branche gëtt diskutéiert. Ideal ass d'Méiglechkeet fir all d'Funktionalitéit vu Pyston an d'Verlängerung ze plënneren, wat eis erlaabt eis eegen CPython Gabel z'erhalen.

Zousätzlech zu Pyston-lite huet de Projet och en Update fir de vollwäertege Pyston 2.3.4 Package verëffentlecht, deen nei Optimisatiounen ubitt. Am Pyperformance Test ass d'Versioun 2.3.4 méi séier wéi d'Verëffentlechung 2.3.3 ëm ongeféier 6%. De Gesamtleeschtungsgewënn am Verglach zum CPython gëtt op 66% geschat.

Zousätzlech kënne mir d'Optimisatiounen notéieren, déi am CPython 3.11 Entwécklungszyklus am Haaptprojet entwéckelt goufen, wat an e puer Tester et méiglech gemaach huet d'Performance ëm 25% ze erhéijen. Zum Beispill, am CPython 3.11, ass d'Effizienz vum Cache vum Bytecode-Staat vu Basismoduler erhéicht ginn, wat de Start vu Skripte mat 10-15% beschleunegt. Funktiounsruffe si wesentlech beschleunegt a spezialiséiert séier Dolmetscher vu Standardoperatioune goufen derbäigesat. D'Aarbecht ass och amgaang fir e puer Optimisatiounen ze portéieren, virbereet vun de Cinder an HotPy Projeten.

Zousätzlech, am nogil-Projet, gëtt geschafft un engem experimentellen Modus fir CPython ze bauen ouni e globalen Dolmetscherschloss (GIL, Global Interpreter Lock), deen net parallelen Zougang zu gedeelt Objeten aus verschiddene Threads erlaabt, wat d'Parallaliséierung vun Operatiounen op Multi verhënnert. - Kär Systemer. Als eng aner Léisung fir de GIL-Problem gëtt d'Fäegkeet entwéckelt fir eng separat GIL un all Dolmetscher ze binden, deen an engem Prozess leeft (verschidde Dolmetscher kënnen an engem Prozess lafen, awer d'Effizienz vun hirer paralleler Ausféierung hänkt vun der GIL of).

Source: opennet.ru

Setzt e Commentaire