Projekt Pyston, ktorý ponúka Python s JIT kompilátorom, sa vrátil k modelu otvoreného vývoja

Vývojári projektu Pyston, ktorý ponúka vysokovýkonnú implementáciu jazyka Python pomocou moderných kompilačných technológií JIT, predstavili nové vydanie Pyston 2.2 a oznámili návrat projektu k open source. Cieľom implementácie je dosiahnuť vysoký výkon blízky výkonu tradičných systémových jazykov, ako je C++. Kód pre pobočku Pyston 2 je zverejnený na GitHub pod PSFL (Python Software Foundation License), podobne ako licencia CPython.

Pripomeňme si, že na projekt Pyston predtým dohliadal Dropbox, ktorý v roku 2017 zastavil financovanie vývoja. Vývojári Pystonu založili svoju spoločnosť a vydali výrazne prepracovanú vetvu Pyston 2, ktorá bola vyhlásená za stabilnú a pripravenú na široké použitie. Vývojári zároveň prestali zverejňovať zdrojový kód a prešli na poskytovanie iba binárnych zostáv. Teraz bolo rozhodnuté urobiť z Pystonu opäť open source projekt a previesť spoločnosť na obchodný model súvisiaci s vývojom open source softvéru. Okrem toho sa zvažuje možnosť prenosu optimalizácií z Pystonu na štandardný CPython.

Je potrebné poznamenať, že Pyston 2.2 je o 30% rýchlejší ako štandardný Python vo výkonnostných testoch, ktoré hodnotia zaťaženie vlastné aplikáciám webového servera. V Pystone 2.2 došlo tiež k výraznému zvýšeniu výkonu v porovnaní s predchádzajúcimi vydaniami, čo bolo dosiahnuté najmä pridaním optimalizácií pre nové oblasti, ako aj vylepšením JIT a mechanizmov ukladania do vyrovnávacej pamäte.

Okrem optimalizácie výkonu je nové vydanie zaujímavé aj tým, že prenáša zmeny z vetvy CPython 3.8.8. Pokiaľ ide o kompatibilitu s natívnym Pythonom, projekt Pyston je ponúkaný ako alternatívna implementácia najviac kompatibilná s CPythonom, pretože Pyston je vidlica z hlavnej kódovej základne CPythonu. Pyston podporuje všetky funkcie CPythonu, vrátane C API pre vývoj rozšírení v jazyku C. Medzi hlavné rozdiely medzi Pystonom a CPythonom patrí použitie DynASM JIT, inline cachovanie a všeobecné optimalizácie.

Medzi zmenami v Pystone 2.2 sa spomína aj vyčistenie kódovej základne od mnohých ladiacich funkcií CPythonu, ktoré negatívne ovplyvňujú výkon, no medzi vývojármi nie sú takmer žiadané. Uvádza sa štatistika, podľa ktorej odstránenie ladiacich nástrojov vedie k 2% zrýchleniu, napriek tomu, že tieto funkcie využíva len asi 2% vývojárov.

Zdroj: opennet.ru

Pridať komentár