Pyston 2 një implementim i Python me një përpilues JIT

Pas një pauze tre-vjeçare në zhvillim, është publikuar fillimi i projektit Pyston 2, cfare zhvillovapër një zbatim me performancë të lartë të gjuhës Python duke përdorur zhvillimet e projektit LLVM.

Implementimi shquhet për përdorimin e teknologjive moderne të përpilimit të JIT dhe synon të arrijë performancë të lartë të ngjashme me gjuhët tradicionale të sistemit si C ++.

Kodi nga versionet e mëparshme nga Pyston u shpërnda nën licencën Apache, por kodi Pyston 2 nuk është ende i disponueshëm dhe vetëm ndërtimet e gatshme për përdorim lëshohen për Ubuntu 18.04 dhe 20.04 (një skedar me kodin është i disponueshëm për shkarkim, por ekziston vetëm një cung me informacione që projekti është ende i mbyllur) .

Publikimi i kodit është pjesë e planeve të zhvilluesvepor kjo do të bëhet pasi të ketë përfunduar formimi i modelit të biznesit të kompanisë së re dhe u vendos që të vazhdojë zhvillimin e Pyston pa mbështetjen financiare të Dropbox.

Rreth Pyston 2

Ndryshe nga versionet e mëparshme, Pyston 2 është shënuar e qëndrueshme dhe jo si një version prove. Workshtë bërë shumë punë për të optimizuar performancën dhe Pyston 2 tani është më i shpejtë se Python origjinal 3.8 me rreth 20% kur kalon paketën e provës python-macrobenchmarks.

Fitimet më të dukshme të performancës janë parë në ngarkesat e qenësishme të aplikacioneve në internet. Në teste të veçanta si kaos.py dhe nbody.py, Pyston 2 e tejkalon Python 3.8 me një faktor prej 2. Kostoja e përdorimit të JIT është një rritje e lehtë në konsumin e kujtesës.

Ne jemi shumë të ngazëllyer për të lëshuar Pyston v2, një zbatim më i shpejtë dhe shumë i pajtueshëm i gjuhës programuese Python. Versioni 2 është 20% më i shpejtë sesa Python standard 3.8 në markat tona makrobentike. Më e rëndësishmja, ka të ngjarë të jetë më e shpejtë në kodin tuaj. Pyston v2 mund të zvogëlojë kostot e serverit, të zvogëlojë vonesat e përdoruesve dhe të përmirësojë produktivitetin e zhvilluesit.

Pyston v2 është i lehtë për t’u zbatuar, kështu që nëse po kërkoni një performancë më të mirë të Python, ju rekomandojmë që të merrni pesë minuta dhe ta provoni Pyston. Bërja e kësaj është një nga mënyrat më të lehta për të shpejtuar projektin tuaj.

Për sa i përket pajtueshmërisë me Python vendas, projekti Pyston vlerësohet si implementimi alternativ më i pajtueshëm për CPython, pasi Pyston është një pirun i bazës kryesore të kodit CPython.

Piston mbështet të gjitha funksionet e CPython, përfshirë C API për zhvillimin e zgjerimeve C. Pyston u krijua fillimisht nga Dropbox, i cili në 2017 vendosi të ndërpresë zhvillimin e brendshëm. Në fillim të vitit 2020, zhvilluesit kryesorë të Pyston themeluan kompaninë e tyre, rishpikën plotësisht projektin dhe filluan të punojnë në Pyston me kohë të plotë.

Detajet teknike mbi mbushjen Pyston 2 nuk janë dhënë akoma, përmenden vetëm DynASM JIT, cache inline dhe optimizime të përgjithshme të Cython. Versioni i mëparshëm i Pyston përdori një metodë JIT në të njëjtën kohë, të ngjashme me JIT në motorët modernë JavaScript.

Në JIT, kodi Python u analizua dhe u përkthye në një përfaqësim të ndërmjetëm LLVM (IR, përfaqësim i ndërmjetëm). Për më tepër, përfaqësimi IR u përpunua në optimizuesin LLVM dhe iu kalua motorit LLVM JIT për ekzekutim, i cili shndërroi përfaqësimin IR në kodin e makinës.

Për të marrë informacion mbi llojet e variablave për programet në gjuhën dinamike Python, u përdor teknika e parashikimit probabilistik të llojeve të objekteve, e ndjekur nga sqarimi i zgjedhjes së saktë të llojit gjatë ekzekutimit.

Prandaj, Pyston ndryshonte vazhdimisht ekzekutimin midis dy degëve: e shpejtë, kur konfirmohen normat e parashikuara dhe e ngadaltë, e cila përdoret në rast të një mospërputhje të llojit.

Puna mund të bëhet në modalitetin me shumë fije, lejimi i ekzekutimit paralel të disa fijeve të kodit në gjuhën Python dhe i lirë nga bllokimi global i interpretuesit (GIL).

Më në fund nëse doni të dini më shumë rreth saj, ju mund të kontrolloni detajet në lidhja vijuese.


Përmbajtja e artikullit i përmbahet parimeve tona të etika editoriale. Për të raportuar një gabim klikoni këtu.

Bëhu i pari që komenton

Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: Miguel Ángel Gatón
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.