close

Pypy

Ga naar navigatie Ga naar zoeken
pypy
Onderdeel van de Software Freedom Conservancy
Pypy-logo (2011).png
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 ]

Referenties

Externe links