Pyston 2 eng Ëmsetzung vu Python mat engem JIT Compiler

No enger Drei Joer Paus an der Entwécklung, de Start vum Pyston 2 Projet gouf publizéiert, wat hunn ech entwéckeltzu enger performanter Ëmsetzung vun der Python Sprooch mat den Entwécklunge vum LLVM Projet.

D'Ëmsetzung steet fir de Gebrauch vu modernen JIT Kompiléierungstechnologien eraus an zielt fir eng héich Leeschtung z'erreechen ähnlech wéi traditionell System Sprooche wéi C ++.

De Code vu fréiere Versiounen vum Pyston gouf ënner der Apache Lizenz verdeelt, awer de Pyston 2 Code ass nach net verfügbar an nëmme ready-to-use Builds gi fir Ubuntu 18.04 an 20.04 verëffentlecht (eng Datei mam Code ass verfügbar fir ze downloaden awer et gëtt nëmmen e Stomp mat Informatioun datt de Projet nach ëmmer zou ass).

De Code publizéieren ass Deel vun de Pläng vun den Entwécklerawer dëst wäert gemaach ginn no Geschäftsmodellbildung ofgeschloss ass vun der neier Firma an et gouf beschloss weider Pyston z'entwéckelen ouni d'finanziell Ënnerstëtzung vun Dropbox.

Iwwer Pyston 2

Am Géigesaz zu fréiere Versiounen, Pyston 2 ass stabil markéiert an net als Testversioun. Vill Aarbecht gouf gemaach fir d'Performance ze optimiséieren an de Pyston 2 ass elo méi séier wéi den originale Python 3.8 ëm 20% beim Passage vun der Python-Macrobenchmarks Test Suite.

Déi bemierkenswäert Performance Gewënn ginn an inherente Webapplikatiouns Workloads gesinn. A getrennten Tester wéi Chaos.py an nbody.py, iwwerdréit Pyston 2 de Python 3.8 mat engem Faktor 2. D'Käschte fir JIT ze benotzen ass eng liicht Erhéijung vum Gedächtniskonsum.

Mir si ganz opgereegt fir Pyston v2 ze verëffentlechen, eng méi séier an héich kompatibel Ëmsetzung vun der Python Programméierungssprooch. Versioun 2 ass 20% méi séier wéi de Standard Python 3.8 an eise Macrobenchmarks. Méi wichteg ass et méiglecherweis méi séier an Ärem Code. Pyston v2 kann Serverkäschte reduzéieren, Benotzerlatenz reduzéieren an d'Produktivitéit vun den Entwéckler verbesseren.

Pyston v2 ass einfach z'implementéieren, also wann Dir eng besser Python Performance sicht, empfehle mir Iech fënnef Minutten ze huelen a Pyston ze probéieren. Dat maachen ass eng vun den einfachsten Weeër fir Äre Projet ze beschleunegen.

Am Sënn vun der Kompatibilitéit mat gebiertege Python, dem Pyston Projet gëtt als déi kompatibelst Alternativ Implementatioun fir CPython ugeschwat, well Pyston eng Gabel vun der Haapt-CPython Codebase ass.

Pyston ënnerstëtzt all CPython Funktiounen, abegraff d'C API fir d'Entwécklung vun der C. Pyston gouf ursprénglech vun Dropbox entwéckelt, déi am 2017 decidéiert d'intern Entwécklung ze stoppen. Am fréien 2020 hunn d'Top Entwéckler vu Pyston hir Firma gegrënnt, de Projet komplett nei erfonnt an hunn ugefaang Vollzäit bei Pyston ze schaffen.

Technesch Detailer iwwer Pyston 2 Padding ginn nach net geliwwert, nëmmen DynASM JIT, Inline Cache, an allgemeng CPython Optiméierunge ginn erwähnt. Déi fréier Versioun vu Pyston benotzt eng Method JIT gläichzäiteg, ähnlech wéi d'JIT a moderne JavaScript-Motoren.

Am JIT gouf de Python Code analyséiert an iwwersat zu enger Zwëschenvertriedung LLVM (IR, Zwëschenvertriedung). Ausserdeem gouf d'IR Representatioun am LLVM Optimizer veraarbecht an un den LLVM JIT Motor weidergeleet fir d'Ausféierung, déi d'IR Representatioun a Maschinncode ëmgewandelt huet.

Fir Informatioun iwwer d'Typen vu Variabelen fir Programmer an der dynamescher Python Sprooch ze kréien, gouf d'Technik vun der probabilistescher Prognosioun vun Objektypen benotzt, gefollegt vun der Klärung vun der korrekter Wiel vum Typ wärend der Ausféierung.

Dofir huet Pyston stänneg d'Ausféierung tëscht zwou Branchen variéiert: déi séier, wann virausgesote Tariffer bestätegt ginn, an déi lues, déi am Fall vun engem Typ Mismatch benotzt gëtt.

D'Aarbecht kéint am Multithreaded Modus gemaach ginn, déi parallel Ausféierung vu verschiddene Code Threads an der Python Sprooch erlaabt a fräi vun der globaler Dolmetschersperre (GIL).

Endlech wann Dir méi doriwwer wësse wëllt, kënnt Dir d'Detailer an der folgenden Link.


Den Inhalt vum Artikel hält sech un eis Prinzipie vun redaktionnell Ethik. Fir e Feeler ze mellen klickt hei.

Gitt d'éischt fir ze kommentéieren

Gitt Äre Kommentar

Är Email Adress gëtt net publizéiert ginn. Néideg Felder sinn markéiert mat *

*

*

  1. Responsabel fir d'Daten: Miguel Ángel Gatón
  2. Zweck vun den Donnéeën: Kontroll SPAM, Kommentarmanagement.
  3. Legitimatioun: Är Zoustëmmung
  4. Kommunikatioun vun den Donnéeën: D'Donnéeë ginn net un Drëttubidder matgedeelt ausser duerch legal Verpflichtung.
  5. Datenspeicher: Datebank gehost vun Occentus Networks (EU)
  6. Rechter: Zu all Moment kënnt Dir Är Informatioun limitéieren, recuperéieren an läschen.