PyPy
PyPy | ||||
---|---|---|---|---|
![]() | ||||
Uitgebracht | 2002 | |||
Recentste versie | 7.3.16 (23 april 2024)[1] ![]() | |||
Status | Actief | |||
Besturingssysteem | Multiplatform | |||
Geschreven in | Python, RPython | |||
Categorie | Interpreter | |||
Licentie(s) | MIT-licentie | |||
Versiebeheer | Officiële broncode | |||
Website | (en) Projectpagina | |||
|
PyPy is een alternatieve implementatie van de programmeertaal Python. In tegenstelling tot de standaardimplementatie van Python, CPython, die gebruik maakt van een interpreter, gebruikt PyPy just-in-time-compilatie. In veel gevallen zorgt dit voor een snellere uitvoering. Net zoals Python zelf, is PyPy een opensourceproject.
Kenmerken
Een van de doelen van het project is om vanuit PyPy een geoptimaliseerde implementatie van Python te ontwikkelen die sneller draait dan de standaardimplementatie van Python, CPython. Cpython is geschreven in C en is een interpreter, die tijdens de uitvoering regel voor regel door de programmacode loopt. PyPy beschikt daarentegen over een JIT-compiler, en is geschreven in RPython (Restricted Python), een ingeperkte versie van Python. Door Pythonontwikkelaars de mogelijkheid te geven bezig te zijn met de implementatie van Python in Python zelf, in plaats van de referentie-implementatie van de interpreter die is geschreven in de programmeertaal C, maakt PyPy het eenvoudig om bepaalde gebieden te vinden waarin de implementatie van Python verbeterd kan worden. Het is ook flexibeler en eenvoudiger om mee te experimenteren dan de C-implementatie, zodat ontwikkelaars kunnen experimenteren met meerdere implementaties voor specifieke doeleinden.
Onderdelen
PyPy bestaat uit drie grote onderdelen:
- De standaardinterpreter; wat een implementatie is van een Pythoninterpreter binnen een beperkte deelverzameling van Python.
- Een toolchain die de hierboven genoemde deelverzameling van Python kan analyseren en kan vertalen naar een andere programmeertaal, zoals C, LLVM, CLI, JavaScript en Java.
- JIT-compiler-generator; welke een in Python geschreven interpreter analyseert en omzet in een JIT-compiler. Dit is een snellere versie van de PyPy-interpreter.
Ontwikkeling
Een van de belangrijkste ontwikkelaars van PyPy is Armin Rigo, die Psyco heeft ontwikkeld; een JIT-compiler voor Python die de Pythoncode, met vrijwel geen inmenging van de gebruiker, vier tot honderd keer sneller maakt.
PyPy is beschikbaar voor verschillende Linuxdistributies, waaronder Debian en Ubuntu. Er zijn ook versies voor Mac OS X en Microsoft Windows.
De ontwikkeling van PyPy werd door de Europese Unie tot eind maart 2007 gesubsidieerd als een STReP. De PyPy-ontwikkeling ging hierna gewoon door. PyPy's MIT-licentie maakt dat de uiteindelijke interpreter en toolchain zo vrij mogelijk zullen blijven.
Externe link
- (en) Projectpagina
- (en) PyPy 2.2 Python Is Now Even Faster
- ↑ PyPy v7.3.16 release. Geraadpleegd op 9 augustus 2024.