<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=PyPy</id>
	<title>PyPy - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=PyPy"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=PyPy&amp;action=history"/>
	<updated>2026-05-16T16:17:41Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=PyPy&amp;diff=871322&amp;oldid=prev</id>
		<title>imported&gt;Meinichselbst: Parameter fix</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=PyPy&amp;diff=871322&amp;oldid=prev"/>
		<updated>2025-09-18T02:31:52Z</updated>

		<summary type="html">&lt;p&gt;Parameter fix&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Infobox Software&lt;br /&gt;
| Name                 = &amp;lt;!-- Nur falls abweichend vom Artikelnamen --&amp;gt;&lt;br /&gt;
| Logo                 = [[Datei:Pypy logo (2011).png]]&lt;br /&gt;
| Screenshot           = &amp;lt;!-- Bildschirmfoto --&amp;gt;&lt;br /&gt;
| Beschreibung         = &amp;lt;!-- Beschreibung des Bildschirmfotos --&amp;gt;&lt;br /&gt;
| Maintainer           =&lt;br /&gt;
| Hersteller           = Armin Rigo, Samuele Pedroni, Christian Tismer, Holger Krekel u.&amp;amp;nbsp;a.&lt;br /&gt;
| Erscheinungsjahr     =&lt;br /&gt;
| AktuelleVersion      = &amp;lt;!-- Wikidata--&amp;gt;&lt;br /&gt;
| AktuelleVersionFreigabeDatum = &amp;lt;!-- Wikidata--&amp;gt;&lt;br /&gt;
| AktuelleVorabVersion =&lt;br /&gt;
| AktuelleVorabVersionFreigabeDatum =&lt;br /&gt;
| Betriebssystem       = [[Microsoft Windows|Windows]], [[macOS]], [[Linux]], [[FreeBSD]]&amp;lt;ref&amp;gt;{{cite web |url=https://www.freshports.org/lang/pypy/ |title=FreshPorts -- lang/pypy |author=&amp;lt;!--Not stated--&amp;gt; |website=FreshPorts|accessdate=2017-03-08}}&amp;lt;/ref&amp;gt;, u.&amp;amp;nbsp;v.&amp;amp;nbsp;m.&lt;br /&gt;
| Programmiersprache   = &lt;br /&gt;
| Kategorie            = [[Just-in-time-Compiler]]&lt;br /&gt;
| Lizenz               = [[MIT-Lizenz]]&lt;br /&gt;
| Deutsch              =&lt;br /&gt;
| Website              = [https://pypy.org/ pypy.org]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PyPy&amp;#039;&amp;#039;&amp;#039; ist ein [[Just-in-time-Compiler]] für die [[Programmiersprache]] [[Python (Programmiersprache)|Python]], der selbst in Python geschrieben ist. Da die Programmierer mit einer Python-Implementierung in Python selbst (und nicht in [[C (Programmiersprache)|C]], wie dies bei der [[Referenzimplementierung]] CPython der Fall ist) experimentieren können, macht PyPy es einfacher, Bereiche zu finden, in denen die Python-Implementierung verbessert werden kann. Darüber hinaus erlaubt PyPy den Entwicklern durch seine Flexibilität, mit mehreren Implementierungen eines speziellen Features zu experimentieren. Eines der Ziele des Projektes war es, einen Python-Interpreter zu entwickeln, der schneller als [[CPython]] ist, was im März 2008 erstmals gelang.&amp;lt;ref&amp;gt;{{Internetquelle |autor=Maciej Fijalkowski |url=https://morepypy.blogspot.de/2008/03/as-fast-as-cpython-for-carefully-taken.html |titel=As fast as CPython (for carefully taken benchmarks) |datum=2008-03 |sprache=en |abruf=2017-02-26}}&amp;lt;/ref&amp;gt; Mittlerweile ist PyPy in einer überwiegenden Zahl von Benchmarks schneller als CPython&amp;lt;ref&amp;gt;{{Internetquelle |url=http://speed.pypy.org/ |titel=How fast is PyPy? |sprache=en |abruf=2017-02-26}}&amp;lt;/ref&amp;gt; – und in Sonderfällen sogar schneller als C.&amp;lt;ref&amp;gt;Z.&amp;amp;nbsp;B., wenn PyPy Funktionen aus externen Dateien lädt; diese werden dann ins Hauptprogramm aufgenommen. Ein statischer Compiler wie C integriert jedoch in der Regel keine Funktionen aus externen Dateien. {{Internetquelle |url=https://morepypy.blogspot.com/2011/02/pypy-faster-than-c-on-carefully-crafted.html |titel=PyPy faster than C on a carefully crafted example |werk=morepypy-Blog |datum=2011-02-04 |abruf=2018-08-27}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Streng genommen akzeptiert PyPy keine Programme in Python, sondern eine reduzierte Sprache namens RPython. Während alle RPython-Programme ohne Umwandlungen als Python-Programme lauffähig sind, ist dies umgekehrt nicht immer der Fall. Die Reduktion auf RPython wurde notwendig, damit PyPy eine [[statische Typisierung]] von Python-Objekten durchführen kann. PyPy ist von Vorteil, wenn die Laufzeit von Python-Programmen reduziert werden soll. Nachteilig ist, dass nicht alle für Python entwickelten [[Programmbibliothek]]en unterstützt werden. So gibt es etwa von [[NumPy]] eine RPython-Variante, die etwa 80 % der Geschwindigkeit des in C implementierten Originals erreicht, aber nicht voll kompatibel ist, und die Alternative, das Original über eine Zwischenschicht zu nutzen, was aber sehr langsam ist.&amp;lt;ref&amp;gt;{{Internetquelle |url=https://doc.pypy.org/en/latest/faq.html#what-about-numpy-numpypy-micronumpy |titel=FAQ – What about numpy, numpypy, micronumpy? |abruf=2022-09-27}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Komponenten ==&lt;br /&gt;
PyPy besteht aus zwei Hauptkomponenten:&lt;br /&gt;
# dem &amp;#039;&amp;#039;Standard Interpreter&amp;#039;&amp;#039;, einer Implementierung eines [[Python (Programmiersprache)|Python]]-Interpreters in einer beschränkten Untermenge von [[Python (Programmiersprache)|Python]].&lt;br /&gt;
# einer [[RPython]]-[[Toolchain]], die in der Lage ist, die oben erwähnte Untermenge von [[Python (Programmiersprache)|Python]] in [[Assemblersprache|Assembler]]-Code zu übersetzen. Dieser Code wird dann direkt auf dem [[Prozessor]] ausgeführt, anstelle in einer Software.&lt;br /&gt;
&lt;br /&gt;
=== RPython ===&lt;br /&gt;
Der PyPy-Interpreter selbst ist in einer eingeschränkten [[Teilmenge]] von Python namens RPython (Restricted Python) geschrieben. RPython erlegt der Python-Sprache einige Einschränkungen auf, sodass der Typ einer Variablen zur Kompilierzeit abgeleitet werden kann.&amp;lt;ref&amp;gt;&amp;quot;It is a proper subset of Python, restricted in a way that enables easy analysis and efficient code generation&amp;quot;, Ancona et al., 2007.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das PyPy-Projekt hat eine Toolchain entwickelt, die RPython-Code analysiert und in eine Form von Byte-Code übersetzt, der in C abgesenkt werden kann. Früher gab es neben C noch andere Backends: [[Java (Programmiersprache)|Java]], CSharp und [[JavaScript]], aber diese litten unter [[Softwareerosion|bit rot]] und wurden entfernt. Das rekursive Logo von PyPy ist eine Schlange, die sich selbst verschluckt, da das RPython von einem Python-Interpreter übersetzt wird. Der Code kann zu Test- und Analysezwecken auch unübersetzt ausgeführt werden, was eine gute Testumgebung für die Erforschung dynamischer Sprachen bietet.&amp;lt;ref&amp;gt;{{cite book |title=Learn Python the hard way |author=Zed Shaw |date=2017 |isbn=978-0134692883 |publisher=Addison-Wesley |language=en}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Entwicklungsgeschichte ==&lt;br /&gt;
Von Version 1.2 an gibt es einen [[Just-in-time-Kompilierung|JIT-Compiler]], der hauptsächlich aus Integerarithmetik bestehenden Code teilweise deutlich schneller ausführt als [[Psyco]].&amp;lt;ref&amp;gt;[http://speed.pypy.org/comparison/ Speed Center]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
PyPy wurde von der [[Europäische Union|Europäischen Union]] in einem [[Forschungsrahmenprogramm]] gefördert.&amp;lt;ref&amp;gt;{{cite web | title = PyPy EU project page | url = https://cordis.europa.eu/project/rcn/74481_de.html| accessdate=2013-10-17 |language=en}}&amp;lt;/ref&amp;gt; Die Förderung lief im ersten Quartal 2007 nach 28 Monaten aus.&lt;br /&gt;
&lt;br /&gt;
Während Version 1.0 hauptsächlich die Ergebnisse des EU-Forschungsprojektes bündelte, konzentriert sich Version 1.1 auf Kompatibilität mit CPython 2.5 sowie Stabilität und Fehlerfreiheit.&amp;lt;ref&amp;gt;{{Internetquelle |url=http://doc.pypy.org/en/latest/release-1.1.0.html |titel=PyPy 1.1: Compatibility &amp;amp; Consolidation |sprache=en |abruf=2017-02-26}}&amp;lt;/ref&amp;gt; Version 1.5 wiederum ist kompatibel zu Python 2.7.&amp;lt;ref&amp;gt;{{Internetquelle |url=https://morepypy.blogspot.de/2011/04/pypy-15-released-catching-up.html |titel=PyPy 1.5 Released: Catching Up |sprache=en |abruf=2017-02-26}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
Version 1.5 soll um 25 % schneller als die Vorgängerversion sein.&amp;lt;ref&amp;gt;{{Internetquelle |url=https://www.heise.de/developer/meldung/PyPy-1-5-schliesst-zu-CPython-2-7-1-auf-1235918.html |titel=PyPy 1.5 schließt zu CPython 2.7.1 auf |abruf=2011-05-10}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Von der Version 2.1 an lässt sich die Software auf der [[ARM-Architektur]] ausführen.&amp;lt;ref&amp;gt;{{Internetquelle |url=https://morepypy.blogspot.com/2013/08/pypy-21-considered-armful.html |titel=PyPy 2.1 - Considered ARMful |datum=2013-08-01 |sprache=en |abruf=2018-08-15}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ab Version 2.3 unterstützt PyPy das [[Betriebssystem]] [[OpenBSD]]&amp;lt;ref&amp;gt;{{Internetquelle |url=http://doc.pypy.org/en/latest/release-2.3.0.html |titel=PyPy 2.3 |sprache=en |abruf=2018-08-15}}&amp;lt;/ref&amp;gt;, ab Version 2.3.1 unterstützt PyPy auch [[Python (Programmiersprache)|Python]] 3&amp;lt;ref&amp;gt;{{Internetquelle |url=https://www.heise.de/developer/meldung/PyPy-kann-nach-Update-auch-Python-3-2236716.html |titel=PyPy kann nach Update auch Python 3 |abruf=2018-08-15}}&amp;lt;/ref&amp;gt; und ab Version 2.4 wird [[Python (Programmiersprache)|Python]] 2.7.8 als [[Standardbibliothek]] unterstützt.&amp;lt;ref&amp;gt;{{Internetquelle |url=http://doc.pypy.org/en/latest/release-2.4.0.html |titel=PyPy 2.4 |datum=2014-06-23 |sprache=en |abruf=2018-08-15}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Internetquelle |url=https://www.heise.de/developer/meldung/Strukturelle-Aenderungen-beschleunigen-PyPy-2-4-2401486.html |titel=Strukturelle Änderungen beschleunigen PyPy 2.4 |datum=2014-09-24 |abruf=2018-08-15}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um sich von den aktuellen Versionen des [[Python (Programmiersprache)|Python]]-[[Interpreter]]s [[CPython]] besser zu unterscheiden, sprang PyPy nach dem Release der Version 2.4 auf die Version 4.0. Diese Version brachte als wichtigste Neuerung Unterstützung für [[Flynnsche Klassifikation#SIMD (Single Instruction, Multiple Data)|SIMD]] mit sich.&amp;lt;ref&amp;gt;{{Internetquelle |url=https://www.heise.de/developer/meldung/CPython-Altenative-PyPy-4-0-0-kann-SIMD-Vektorisierung-2865846.html |titel=CPython-Altenative PyPy 4.0.0 kann SIMD-Vektorisierung |datum=2015-10-30 |abruf=2018-08-15}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Version 6.0 lieferte 2018 zwei Versionen, die kompatibel sind mit CPython 2.7 bzw. 3.5, und ermöglichte es Entwicklern, mithilfe von [[Hook (Informatik)|Hooks]] einen Einblick in die [[Rechenleistung]] der [[Garbage Collection|automatischen Speicherbereinigung]] zu bekommen.&amp;lt;ref&amp;gt;{{Internetquelle |url=https://www.heise.de/developer/meldung/PyPy-6-0-setzt-auf-Performance-und-Kompatibilitaet-4036797.html |titel=PyPy 6.0 setzt auf Performance und Kompatibilität |datum=2018-04-27 |abruf=2018-08-15}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Internetquelle |url=http://doc.pypy.org/en/latest/release-v6.0.0.html |titel=PyPy2.7 and PyPy3.5 v6.0 dual release |sprache=en |abruf=2018-08-15}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Versionen 7.0.0, 7.3.2, 7.3.6 und 7.3.8 (2022) brachten Kompatibilität mit CPython 3.6, 3.7, 3.8 bzw. 3.9, und ab 7.3.4 wurde Windows-64 unterstützt.&amp;lt;ref&amp;gt;{{Internetquelle |url=https://downloads.python.org/pypy/ |titel=PyPy Releases |abruf=2022-09-27}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
* [[Jython]]&lt;br /&gt;
* [[IronPython]]&lt;br /&gt;
* [[Stackless Python]]&lt;br /&gt;
* [[nuitka]], kompiliert Python-Programme nach [[C (Programmiersprache)|C]]&lt;br /&gt;
* [[Numba (Softwarepaket)]], welches einzelne Python-Funktionen zu Maschinencode kompiliert&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [https://pypy.org/ Offizielle Website]&lt;br /&gt;
* [https://cre.fm/cre088-python-und-pypy Interview mit Entwickler Holger Krekel über Python und PyPy] in [[CRE (Podcast)]]&lt;br /&gt;
* [https://media.ccc.de/v/22C3-586-en-pypy PyPy – the new Python implementation on the block] – Aufzeichnung eines Vortrags über PyPy vom [[Chaos Communication Congress]]&lt;br /&gt;
* [https://www.pypy.org/blog/ PyPy Blog]&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{SORTIERUNG:Pypy}}&lt;br /&gt;
[[Kategorie:Python (Programmiersprache)]]&lt;br /&gt;
[[Kategorie:Freies Programmierwerkzeug]]&lt;br /&gt;
[[Kategorie:Abkürzung]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Meinichselbst</name></author>
	</entry>
</feed>