Pyston-projekti, joka tarjoaa Pythonin JIT-kääntäjällä, on palannut avoimeen kehitysmalliin

Pyston-projektin, joka tarjoaa Python-kielen tehokkaan toteutuksen nykyaikaisilla JIT-kääntämistekniikoilla, kehittäjät esittelivät Pyston 2.2:n uuden julkaisun ja ilmoittivat projektin palaamisesta avoimeen lähdekoodiin. Toteutuksen tavoitteena on saavuttaa korkea suorituskyky, joka on lähellä perinteisiä järjestelmäkieliä, kuten C++. Pyston 2 -haaran koodi on julkaistu GitHubissa PSFL:n (Python Software Foundation License) alaisuudessa, joka on samanlainen kuin CPython-lisenssi.

Muistakaamme, että Pyston-projektia ohjasi aiemmin Dropbox, joka lopetti rahoituksen kehittämisen vuonna 2017. Pyston-kehittäjät perustivat yrityksensä ja julkaisivat merkittävästi uudistetun Pyston 2 -haaran, joka julistettiin vakaaksi ja valmiiksi laajaan käyttöön. Samaan aikaan kehittäjät lopettivat lähdekoodin julkaisemisen ja siirtyivät tarjoamaan vain binäärikokoonpanoja. Nyt Pyston on päätetty tehdä uudelleen avoimen lähdekoodin projektiksi ja siirtää yritys avoimen lähdekoodin ohjelmistojen kehittämiseen liittyvään liiketoimintamalliin. Lisäksi harkitaan mahdollisuutta siirtää optimoinnit Pystonista tavalliseen CPythoniin.

On huomattava, että Pyston 2.2 on 30 % nopeampi kuin tavallinen Python suorituskykytesteissä, jotka arvioivat verkkopalvelinsovelluksille ominaisia ​​kuormituksia. Pyston 2.2:n suorituskyky on myös merkittävästi parantunut aikaisempiin julkaisuihin verrattuna, mikä saavutettiin pääasiassa uusien alueiden optimointien lisäämisellä sekä JIT- ja välimuistimekanismeihin tehdyillä parannuksilla.

Suorituskyvyn optimoinnin lisäksi uusi julkaisu on mielenkiintoinen myös siksi, että se sisältää muutoksia CPython 3.8.8 -haaraan. Yhteensopivuuden suhteen natiivi Pythonin kanssa Pyston-projektia mainostetaan CPython-yhteensopivimpana vaihtoehtoisena toteutuksena, koska Pyston on haarukka CPython-pääkoodikannasta. Pyston tukee kaikkia CPythonin ominaisuuksia, mukaan lukien C-sovellusliittymä C-kielen laajennusten kehittämiseen. Yksi tärkeimmistä eroista Pystonin ja CPythonin välillä on DynASM JIT:n käyttö, välimuisti ja yleiset optimoinnit.

Pyston 2.2:n muutoksissa mainitaan myös koodikannan puhdistaminen monista CPythonin virheenkorjausominaisuuksista, jotka vaikuttavat negatiivisesti suorituskykyyn, mutta joilla ei ole juuri kysyntää kehittäjien keskuudessa. Tilastot esitetään, joiden mukaan virheenkorjaustyökalujen poistaminen johtaa 2 %:n nopeuttamiseen huolimatta siitä, että vain noin 2 % kehittäjistä käyttää näitä toimintoja.

Lähde: opennet.ru

Lisää kommentti