Pypy
| pypy | ||
|---|---|---|
| Onderdeel van de Software Freedom Conservancy | ||
|
| ||
| Algemene informatie | ||
| programmatype: | opdracht interpreter | |
| ontwikkelaar | pypy-project | |
| Eerste uitgave | 2002 | |
| Licentie | MIT-licentie | |
| Technische informatie | ||
| gepland in |
| |
| versies | ||
| Laatste stabiele versie | 7.3.930 maart 2022 | |
| Links | ||
PyPy is een JIT-compiler en interpreter voor de Python -taal , die zich richt op snelheid en efficiëntie, en is 100% compatibel met de originele CPython- interpreter .
Details
PyPy is bedacht als een Python-implementatie geschreven in Python, waardoor Python-ontwikkelaars de taal kunnen hacken . Dit maakt het gemakkelijk om verbeterpunten te identificeren. Het feit dat PyPy is geïmplementeerd in een taal op hoog niveau, betekent dat het flexibeler en gemakkelijker is om mee te experimenteren dan CPython , waardoor ontwikkelaars meerdere implementaties van specifieke functies kunnen verkennen en de beste kunnen kiezen.
PyPy streeft ernaar een gemeenschappelijk vertaal- en conceptueel raamwerk te bieden voor het produceren van dynamische taalimplementaties, waarbij de nadruk wordt gelegd op een zuivere scheiding tussen taalspecificatie en implementatieaspecten. Het probeert ook een compatibele, flexibele en snelle implementatie van de Python-taal te bieden met behulp van het bovengenoemde raamwerk om nieuwe geavanceerde functies te ontwikkelen zonder details op een laag niveau te hoeven coderen.[1]
Vertaling
PyPy bestaat uit een standaard tolk en een vertaler. De tolk is geschreven in een beperkte subset van de Python-taal genaamd RPython [ 1 ] ( beperkte Python ). In tegenstelling tot standaard Python is RPython statisch getypt , wat een efficiënte compilatie mogelijk maakt.
De vertaler is een toolchain die RPython-code ontleedt en vertaalt naar een taal op een lager niveau, zoals C , LLVM of MSIL . Het maakt ook een pluggable garbage collector mogelijk en optioneel Stackless . Ten slotte bevat het een JIT -generator die een JIT-compiler in de interpreter bouwt , met enkele annotaties in de broncode.
Projectstatus
PyPy is een voortzetting van het Psyco- project , ontwikkeld door Armin Rigo . Het doel van PyPy is om een gespecialiseerde runtime -compiler te hebben met meer platformonafhankelijke mogelijkheden dan Psyco.
Geschiedenis
PyPy begon als een onderzoeksgericht ontwikkelingsproject. Echter, bij het bereiken van versie 1.0 medio 2007, veranderden hun doelen in het produceren van stabiele, productiegerichte releases met verhoogde CPython- ondersteuning . Op 28 april 2008 werd [ 2 ] versie 1.1 uitgebracht.
Tegen het einde van 2008 kon PyPy enkele populaire bibliotheken beheren, zoals Django , [ 3 ] Pylons , [ 4 ] Pyglet , [ 5 ] en Nevow . [ 6 ]
In maart 2010 werd PyPy 1.2 uitgebracht, met een focus op snelheid, inclusief een runtime-compiler die werkte, maar werd ontmoedigd om te worden gebruikt voor productieomgevingen.
In december 2010 werd PyPy 1.4 uitgebracht, de eerste kwaliteitsversie voor productiecode. PyPy 1.4 is compatibel met Python 2.5
Op 30 april 2011 werd PyPy 1.5 uitgebracht, compatibel met Python 2.7.1. [ 7 ]
Op 18 augustus werd PyPy 1.6 "Kickass Panda" uitgebracht, die de compatibiliteit met Python 2.7.1 handhaaft, maar ondersteuning ( bèta ) toevoegt voor het laden van C - extensies voor CPython. [ 8 ]