PyPy:ssä on JIT-käännöstuki 32-bittisille/64-bittisille x86- ja 32-bittisille/64-bittisille ARM-prosessoreille. Sitä testataan öisin Windowsissa, Linuxissa, OpenBSD:ssä ja Mac OS X:ssä. PyPy pystyy ajamaan puhtaita Python-ohjelmistoja, jotka eivät luota toteutuskohtaisiin ominaisuuksiin.

PyPyPy:llä on yhteensopivuuskerros CPyPy:n C API-laajennuksille nimeltään CPyExt, mutta se on epätäydellinen ja kokeellinen. Suositeltava tapa liittyä jaettuihin C-kirjastoihin on sisäänrakennettu C:n vierasfunktiorajapinta (CFFI) tai ctypes-kirjastot.

HistoriaEdit

PyPy on jatkoa Psyco-projektille, joka on Armin Rigon vuosina 2002-2010 kehittämä just-in-time-erikoiskääntäjä Pythonille. PyPy:n tavoitteena on saada just-in-time-erikoistuva kääntäjä, jolla on laajuus, jota Psyco ei ollut saatavilla. Aluksi RPython voitiin kääntää myös Java-bytekoodiksi, CIL:ksi ja JavaScriptiksi, mutta nämä backendit poistettiin kiinnostuksen puutteen vuoksi.

PyPy oli aluksi tutkimus- ja kehityspainotteinen projekti. Saavutettuaan kypsän kehitystason ja virallisen 1.0-julkaisun vuoden 2007 puolivälissä se keskittyi seuraavaksi julkaisemaan tuotantokelpoisen version, jossa oli enemmän CPython-yhteensopivuutta. Monet PyPyn muutoksista on tehty koodaussprinttien aikana.

  • Elokuussa 2008 PyPy pystyi ajamaan joitakin suosittuja Python-kirjastoja, kuten Pylons, Pyglet, Nevow ja Django.
  • 12.3.2010 julkaistiin PyPy 1.2, joka keskittyi nopeuteen. Se sisälsi toimivan, joskaan ei vielä vakaan, just-in-time-kääntäjän.
  • 30. huhtikuuta 2011 julkaistiin PyPyn versio 1.5, joka saavutti yhteensopivuuden CPython 2.7:n kanssa.
  • 9.5.2013 julkaistiin PyPy 2.0, joka toi alpha-laadun tuen JIT-kääntämiselle ARMv6:lla ja ARMv7 JIT:llä ja sisällytti CFFI:n standardikirjastoon.
  • 20.6.2014 PyPy3 julistettiin vakaaksi ja se toi yhteensopivuuden nykyaikaisemman Python 3:n kanssa. Se julkaistiin PyPy 2.3.1:n rinnalla ja kantaa samaa versionumeroa.
  • 21. maaliskuuta 2017 PyPy-projekti julkaisi version 5.7 sekä PyPy:stä että PyPy3:sta, joista jälkimmäinen toi mukanaan beta-tason tuen Python 3.5:lle.
  • 26.4.2018 julkaistiin versio 6.0, jossa on tuki Python 2.7:lle ja 3.5:lle (edelleen beta-laatuinen Windowsissa).
  • 11. helmikuuta 2019 julkaistiin versio 7.0, jossa on tuki Python 2.7:lle ja 3.5:lle.
  • 14. lokakuuta 2019 julkaistiin versio 7.2, jossa on tuki Python 3.6.9:lle.
  • 24.12.2019 julkaistiin versio 7.3, jossa on tuki Python 3.6.9:lle.

RahoitusEdit

PyPy:tä rahoitti Euroopan unioni erityisenä kohdennettuna tutkimushankkeena joulukuun 2004 ja maaliskuun 2007 välillä. Kesäkuussa 2008 PyPy ilmoitti rahoituksestaan osana Googlen avoimen lähdekoodin ohjelmia ja on suostunut keskittymään PyPyn tekemiseen yhteensopivammaksi CPythonin kanssa. Vuonna 2009 Eurostars, erityisesti pk-yrityksiin keskittyvä Euroopan unionin rahoituslaitos, hyväksyi PyPy-hankkeen jäsenten ehdotuksen ”PYJIT – PyPyyn perustuva nopea ja joustava työkalupakki dynaamisille ohjelmointikielille”. Eurostars-rahoitus kesti elokuuhun 2011.PyCon US 2011 -tapahtumassa Python Software Foundation myönsi 10 000 dollarin apurahan PyPy:lle, jotta se voi jatkaa työtä suorituskyvyn ja yhteensopivuuden parantamiseksi kielen uudempien versioiden kanssa.

Py-projektin siirtoa ARM-arkkitehtuurille sponsoroi osittain Raspberry Pi Foundation.

Py-projekti ottaa vastaan myös lahjoituksia statusblogin sivujensa kautta. Vuoteen 2013 mennessä useilla eri osaprojekteilla oli rahoitusta: Python 3 -version yhteensopivuus, sisäänrakennettu optimoitu NumPy-tuki numeerisia laskutoimituksia varten ja ohjelmiston transaktiomuistituki paremman rinnakkaisuuden mahdollistamiseksi.

Vastaa

Sähköpostiosoitettasi ei julkaista.