PyPy heeft ondersteuning voor JIT-compilatie op 32-bits/64-bits x86- en 32-bits/64-bits ARM-processors. Het wordt ’s nachts getest op Windows, Linux, OpenBSD en Mac OS X. PyPy is in staat om pure Python software te draaien die niet afhankelijk is van implementatie-specifieke features.

Er is een compatibiliteitslaag voor CPython C API extensies genaamd CPyExt, maar deze is onvolledig en experimenteel. De voorkeursmanier van interfacing met C gedeelde bibliotheken is via de ingebouwde C foreign function interface (CFFI) of ctypes bibliotheken.

HistoryEdit

PyPy is een opvolger van het Psyco project, een just-in-time specialiserende compiler voor Python, ontwikkeld door Armin Rigo tussen 2002 en 2010. Het doel van PyPy is om een just-in-time specializing compiler met scope te hebben, wat niet beschikbaar was voor Psyco. Aanvankelijk kon RPython ook worden gecompileerd in Java bytecode, CIL en JavaScript, maar deze backends werden verwijderd wegens gebrek aan belangstelling.

PyPy was aanvankelijk een op onderzoek en ontwikkeling gericht project. Na het bereiken van een volwassen staat van ontwikkeling en een officiële 1.0 release medio 2007, lag de volgende focus op het uitbrengen van een productie-klare versie met meer CPython compatibiliteit. Veel van PyPy’s veranderingen zijn gemaakt tijdens codering sprints.

  • In augustus 2008 was PyPy in staat om een aantal populaire Python bibliotheken zoals Pylons, Pyglet, Nevow en Django te draaien.
  • Op 12 maart 2010 werd PyPy 1.2 uitgebracht, met de nadruk op snelheid. Het bevatte een werkende, hoewel nog niet stabiele, just-in-time compiler.
  • Op 30 april 2011 werd PyPy versie 1.5 uitgebracht, die compatibiliteit bereikte met CPython 2.7.
  • Op 9 mei 2013 werd PyPy 2.0 vrijgegeven, die alfa-kwaliteit ondersteuning voor JIT-compilatie op ARMv6 en ARMv7 JIT introduceerde, en CFFI in de standaardbibliotheek opnam.
  • Op 20 juni 2014 werd PyPy3 stabiel verklaard en introduceerde het compatibiliteit met de modernere Python 3. Het werd uitgebracht naast PyPy 2.3.1 en draagt hetzelfde versienummer.
  • Op 21 maart 2017 bracht het PyPy-project versie 5.7 uit van zowel PyPy als PyPy3, waarbij de laatste bèta-kwaliteit ondersteuning introduceerde voor Python 3.5.
  • Op 26 april 2018 werd versie 6.0 uitgebracht, met ondersteuning voor Python 2.7 en 3.5 (nog steeds van beta-kwaliteit op Windows).
  • Op 11 februari 2019 is versie 7.0 uitgebracht, met ondersteuning voor Python 2.7 en 3.5.
  • Op 14 oktober 2019 is versie 7.2 uitgebracht, met ondersteuning voor Python 3.6.9.
  • Op 24 december 2019 is versie 7.3 uitgebracht, met ondersteuning voor Python 3.6.9.

FinancieringEdit

PyPy werd gefinancierd door de Europese Unie als een Specifiek Gericht Onderzoeksproject tussen december 2004 en maart 2007. In juni 2008 heeft PyPy financiering aangekondigd als onderdeel van de Google Open Source programma’s en is overeengekomen om zich te concentreren op het meer compatibel maken van PyPy met CPython. In 2009 aanvaardde Eurostars, een financieringsagentschap van de Europese Unie dat zich speciaal richt op KMO’s, een voorstel van de leden van het PyPy-project met de titel “PYJIT – een snelle en flexibele toolkit voor dynamische programmeertalen gebaseerd op PyPy”. De financiering van Eurostars duurde tot augustus 2011.Tijdens PyCon US 2011 verstrekte de Python Software Foundation een subsidie van $ 10.000 voor PyPy om verder te werken aan prestaties en compatibiliteit met nieuwere versies van de taal.De port naar ARM-architectuur werd gedeeltelijk gesponsord door de Raspberry Pi Foundation.

Het PyPy-project accepteert ook donaties via zijn statusblogpagina’s. Vanaf 2013, een verscheidenheid van sub-projecten hadden financiering: Python 3-versiecompatibiliteit, ingebouwde geoptimaliseerde NumPy-ondersteuning voor numerieke berekeningen en software-transactiegeheugenondersteuning om beter parallellisme mogelijk te maken.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.