Pyston 2 in ymplemintaasje fan Python mei in JIT-gearstaller

Nei in trijejierrige ûnderbrekking yn ûntwikkeling, de lansearring fan it Pyston 2-projekt is publisearre, wat haw ik ûntwikkelenei in útfiering fan hege prestaasjes fan 'e Python-taal mei help fan de ûntjouwings fan it LLVM-projekt.

De ymplementaasje opfalt foar it gebrûk fan moderne JIT-kompilaasjetechnologyen en is fan doel hege prestaasjes te berikken lykas tradisjonele systeemtalen lykas C ++.

De koade fan eardere ferzjes troch Pyston waard ferspraat ûnder de Apache-lisinsje, mar de Pyston 2-koade is noch net beskikber en allinich ready-to-use builds wurde frijjûn foar Ubuntu 18.04 en 20.04 (in bestân mei de koade is te downloaden, mar d'r is allinich in stomp mei ynformaasje dat it projekt noch altyd sluten is) ,

De koade publisearje is diel fan 'e plannen fan' e ûntwikkeldersmar dit sil dien wurde neidat formaasje fan saaklike modellen is foltôge fan it nije bedriuw en waard besletten om Pyston te ûntwikkeljen sûnder de finansjele stipe fan Dropbox.

Oer Pyston 2

Oars as eardere ferzjes, Pyston 2 is stabyl markearre en net as proefferzje. In soad wurk is dien om prestaasjes te optimalisearjen en Pyston 2 is no rapper dan de orizjinele Python 3.8 mei sawat 20% by it trochjaan fan 'e test suite python-macrobenchmarks.

De meast opmerklike prestaasjewinst wurde sjoen yn ynherinte workloads foar webapplikaasjes. Yn aparte tests lykas chaos.py en nbody.py presteart Pyston 2 Python 3.8 mei in faktor fan 2. De kosten foar it brûken fan JIT binne in lichte ferheging fan ûnthâldferbrûk.

Wy binne tige optein om Pyston v2 frij te jaan, in rappere en heul kompatibele ymplemintaasje fan 'e Python-programmeartaal. Ferzje 2 is 20% rapper dan de standert Python 3.8 yn ús macrobenchmarks. Wat wichtiger is, is it wierskynlik rapper yn jo koade. Pyston v2 kin serverkosten ferminderje, ferwidering fan brûkers ferminderje en produktiviteit fan ûntwikkelders ferbetterje.

Pyston v2 is maklik te ymplementearjen, dus as jo op syk binne nei bettere Python-prestaasjes, riede wy oan dat jo fiif minuten nimme en Pyston besykje. Dat dwaan is ien fan 'e maklikste manieren om jo projekt rapper te meitsjen.

Yn termen fan kompatibiliteit mei lânseigen Python, it Pyston-projekt wurdt oantsjut as de meast kompatibele alternative ymplemintaasje foar CPython, om't Pyston in foarke is fan 'e haad CPython codebase.

Pyston stipet alle CPython-funksjes, wêrûnder de C API foar it ûntwikkeljen fan ekstensjes C. Pyston waard oarspronklik ûntwikkele troch Dropbox, dy't yn 2017 besleat ynterne ûntwikkeling te stopjen. Begjin 2020 stiften de topûntwikkelders fan Pyston har bedriuw, útfûnen it projekt opnij en begûnen se fulltime te wurkjen by Pyston.

Technyske details oer Pyston 2-padding wurde noch net levere, allinich DynASM JIT, inline caching, en algemiene CPython-optimisaasjes wurde neamd. De foarige ferzje fan Pyston brûkte ien metoade tagelyk, fergelykber mei de JIT yn moderne JavaScript-motoren.

Yn JIT waard de Python-koade analysearre en oerset nei in tuskenfertsjintwurdiging LLVM (IR, tuskenfertsjintwurdiging). Fierder waard de IR-fertsjintwurdiging ferwurke yn 'e LLVM-optimizer en trochjûn oan' e LLVM JIT-motor foar útfiering, dy't de IR-fertsjintwurdiging konvertearde yn masinekoade.

Om ynformaasje te krijen oer de soarten fariabelen foar programma's yn 'e dynamyske Python-taal, waard de technyk fan probabilistyske foarsizzing fan objekttypen brûkt, folge troch de ferdúdliking fan' e juste kar fan it type by útfiering.

Dêrom farieare Pyston de útfiering konstant tusken twa tûken: de snelle, as de foarseine tariven wurde befestige, en de trage, dy't wurdt brûkt yn gefal fan in soarte mismatch.

De taak koe wurde dien yn multithreaded modus, wêrtroch de parallele útfiering fan ferskate koadetriedden yn 'e Python-taal mooglik is en frij fan' e global interpreter lock (GIL).

finalmente as jo der mear oer witte wolle, kinne jo de details kontrolearje yn 'e folgjende link.


De ynhâld fan it artikel hâldt him oan ús prinsipes fan redaksje etyk, Om in flater te melden klikje hjir.

Wês de earste om kommentaar

Lit jo reaksje efter

Jo e-mailadres wurdt net publisearre.

*

*

  1. Ferantwurdlik foar de gegevens: Miguel Ángel Gatón
  2. Doel fan 'e gegevens: Control SPAM, kommentaarbehear.
  3. Legitimaasje: jo tastimming
  4. Kommunikaasje fan 'e gegevens: De gegevens wurde net oan tredden kommunisearre, útsein troch wetlike ferplichting.
  5. Gegevensopslach: Databank hoste troch Occentus Networks (EU)
  6. Rjochten: Op elk momint kinne jo jo ynformaasje beheine, herstelle en wiskje.