PyPy 7.2:n julkaisu, Pythonilla kirjoitettu Python-toteutus

Muodostettu projektin julkaisu PyPy 7.2, jossa kehitetään Pythonilla kirjoitetun Python-kielen toteutus (käyttämällä staattisesti kirjoitettua osajoukkoa RPython, Rajoitettu Python). Julkaisu valmistellaan samanaikaisesti PyPy2.7- ja PyPy3.6-haaroihin, mikä tukee Python 2.7- ja Python 3.6 -syntaksia. Julkaisu on saatavilla Linuxille (x86, x86_64, PPC64, s390x, Aarch64, ARMv6 tai ARMv7 ja VFPv3), macOS:lle (x86_64), OpenBSD:lle, FreeBSD:lle ja Windowsille (x86).

PyPyn erityispiirre on JIT-kääntäjän käyttö, joka kääntää jotkin elementit konekoodiksi lennossa, jolloin voit tarjota pitkä suorituskykytaso - suoritettaessa joitain toimintoja PyPy on useita kertoja nopeampi kuin klassinen Python-toteutus C-kielellä (CPython). Korkean suorituskyvyn ja JIT-käännöksen käytön hinta on korkeampi muistinkulutus - kokonaismuistinkulutus monimutkaisissa ja pitkissä prosesseissa (esimerkiksi PyPy:tä käännettäessä itse PyPyllä) ylittää CPythonin kulutuksen puolitoista tai kahdella. ajat.

Uusi julkaisu on huomattava entisestään beta-tilassa olleen Python 3.6:n tuen vakauttamisesta ja JIT:n toteuttamisesta Aarch64 (ARM64) -arkkitehtuurille. Lisäksi on lisätty uusi JSON-dekooderi, joka on huomattavasti nopeampi, käyttää vähemmän muistia ja on optimoitu JIT:lle. CFFI 1.13 (C Foreign Function Interface) -moduuli on päivitetty toteuttamalla rajapinta C- ja C++-kielellä kirjoitettujen funktioiden kutsumiseen. CFFI:tä suositellaan yhteistoimintaan C-koodin kanssa, kun taas cppyytä suositellaan yhteistoimintaan C++-koodin kanssa. CFFI-pohjainen _ssl-moduuli on siirretty takaisin PyPy2.7-haaraan. Moduulit _hashlib ja _crypt on muunnettu käyttämään CFFI:tä.

Lähde: opennet.ru

Lisää kommentti