Proiectul Pyston, care oferă Python cu un compilator JIT, a revenit la un model de dezvoltare deschis

Dezvoltatorii proiectului Pyston, care oferă o implementare de înaltă performanță a limbajului Python folosind tehnologii moderne de compilare JIT, au prezentat o nouă lansare a Pyston 2.2 și au anunțat revenirea proiectului la sursa deschisă. Implementarea își propune să atingă performanțe înalte apropiate de cea a limbajelor de sistem tradiționale, cum ar fi C++. Codul pentru ramura Pyston 2 este publicat pe GitHub sub PSFL (Python Software Foundation License), similar cu licența CPython.

Să ne amintim că proiectul Pyston a fost anterior supravegheat de Dropbox, care a oprit finanțarea dezvoltării în 2017. Dezvoltatorii Pyston și-au fondat compania și au lansat o sucursală Pyston 2 reproiectată semnificativ, care a fost declarată stabilă și gata pentru utilizare pe scară largă. În același timp, dezvoltatorii au încetat să mai publice codul sursă și au trecut la furnizarea doar de ansambluri binare. Acum s-a decis ca Pyston să fie din nou un proiect open source și transferul companiei la un model de afaceri legat de dezvoltarea de software open source. Mai mult, se ia în considerare posibilitatea de a transfera optimizări de la Pyston la CPython standard.

Se remarcă faptul că Pyston 2.2 este cu 30% mai rapid decât Python standard în testele de performanță care evaluează încărcările inerente aplicațiilor de server web. Există, de asemenea, o creștere semnificativă a performanței în Pyston 2.2 comparativ cu versiunile anterioare, care a fost realizată în principal prin adăugarea de optimizări pentru noi zone, precum și îmbunătățiri ale mecanismelor JIT și de cache.

Pe lângă optimizările de performanță, noua versiune este, de asemenea, interesantă pentru că aduce modificări din ramura CPython 3.8.8. În ceea ce privește compatibilitatea cu Python nativ, proiectul Pyston este prezentat ca fiind cea mai compatibilă implementare alternativă cu CPython, deoarece Pyston este o furcă din baza de cod CPython principală. Pyston acceptă toate caracteristicile CPython, inclusiv API-ul C pentru dezvoltarea extensiilor în limbajul C. Printre principalele diferențe dintre Pyston și CPython se numără utilizarea DynASM JIT, caching-ul inline și optimizările generale.

Printre modificările din Pyston 2.2, se menționează și curățarea bazei de cod de multe caracteristici de depanare ale CPython, care afectează negativ performanța, dar aproape că nu sunt solicitate în rândul dezvoltatorilor. Sunt date statistici conform cărora eliminarea instrumentelor de depanare duce la o accelerare cu 2%, în ciuda faptului că doar aproximativ 2% dintre dezvoltatori folosesc aceste funcții.

Sursa: opennet.ru

Adauga un comentariu