https://de.wikipedia.org/w/index.php?action=history&feed=atom&title=PyPy
PyPy - Versionsgeschichte
2025-05-27T16:57:05Z
Versionsgeschichte dieser Seite in Wikipedia
MediaWiki 1.45.0-wmf.2
https://de.wikipedia.org/w/index.php?title=PyPy&diff=254926917&oldid=prev
Luckywiki1234: /* growthexperiments-addlink-summary-summary:2|0|0 */
2025-04-07T07:46:02Z
<p>Linkvorschlag-Funktion: 2 Links hinzugefügt.</p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="de">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 7. April 2025, 09:46 Uhr</td>
</tr><tr>
<td colspan="2" class="diff-lineno">Zeile 26:</td>
<td colspan="2" class="diff-lineno">Zeile 26:</td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>PyPy besteht aus zwei Hauptkomponenten:</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>PyPy besteht aus zwei Hauptkomponenten:</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># dem ''Standard Interpreter'', einer Implementierung eines [[Python (Programmiersprache)|Python]]-Interpreters in einer beschränkten Untermenge von [[Python (Programmiersprache)|Python]].</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># dem ''Standard Interpreter'', einer Implementierung eines [[Python (Programmiersprache)|Python]]-Interpreters in einer beschränkten Untermenge von [[Python (Programmiersprache)|Python]].</div></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div># 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.</div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div># 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 <ins style="font-weight: bold; text-decoration: none;">[[</ins>Prozessor<ins style="font-weight: bold; text-decoration: none;">]]</ins> ausgeführt, anstelle in einer Software.</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== RPython ===</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== RPython ===</div></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>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.<ref>"It is a proper subset of Python, restricted in a way that enables easy analysis and efficient code generation", Ancona et al., 2007.</ref></div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Der PyPy-Interpreter selbst ist in einer eingeschränkten <ins style="font-weight: bold; text-decoration: none;">[[</ins>Teilmenge<ins style="font-weight: bold; text-decoration: none;">]]</ins> 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.<ref>"It is a proper subset of Python, restricted in a way that enables easy analysis and efficient code generation", Ancona et al., 2007.</ref></div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>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.<ref>{{cite book |title=Learn Python the hard way |author=Zed Shaw |date=2017 |isbn=978-0134692883 |publisher=Addison-Wesley}}</ref></div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>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.<ref>{{cite book |title=Learn Python the hard way |author=Zed Shaw |date=2017 |isbn=978-0134692883 |publisher=Addison-Wesley}}</ref></div></td>
</tr>
</table>
Luckywiki1234
https://de.wikipedia.org/w/index.php?title=PyPy&diff=244787710&oldid=prev
Uncopy: /* RPython */ Entferne unsinniges 'somit'
2024-05-08T13:53:02Z
<p><span class="autocomment">RPython: </span> Entferne unsinniges 'somit'</p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="de">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 8. Mai 2024, 15:53 Uhr</td>
</tr><tr>
<td colspan="2" class="diff-lineno">Zeile 31:</td>
<td colspan="2" class="diff-lineno">Zeile 31:</td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>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.<ref>"It is a proper subset of Python, restricted in a way that enables easy analysis and efficient code generation", Ancona et al., 2007.</ref></div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>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.<ref>"It is a proper subset of Python, restricted in a way that enables easy analysis and efficient code generation", Ancona et al., 2007.</ref></div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>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. <del style="font-weight: bold; text-decoration: none;">Somit ist das</del> rekursive Logo von PyPy 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.<ref>{{cite book |title=Learn Python the hard way |author=Zed Shaw |date=2017 |isbn=978-0134692883 |publisher=Addison-Wesley}}</ref></div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>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. <ins style="font-weight: bold; text-decoration: none;">Das</ins> rekursive Logo von PyPy<ins style="font-weight: bold; text-decoration: none;"> ist</ins> 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.<ref>{{cite book |title=Learn Python the hard way |author=Zed Shaw |date=2017 |isbn=978-0134692883 |publisher=Addison-Wesley}}</ref></div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Entwicklungsgeschichte ==</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Entwicklungsgeschichte ==</div></td>
</tr>
</table>
Uncopy
https://de.wikipedia.org/w/index.php?title=PyPy&diff=226555025&oldid=prev
Rainald62: /* Einleitung */ Wo man Geschwindigkeit braucht, fehlt sie.
2022-09-27T17:23:02Z
<p><span class="autocomment">Einleitung: </span> Wo man Geschwindigkeit braucht, fehlt sie.</p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="de">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 27. September 2022, 19:23 Uhr</td>
</tr><tr>
<td colspan="2" class="diff-lineno">Zeile 19:</td>
<td colspan="2" class="diff-lineno">Zeile 19:</td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>}}</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>}}</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>'''PyPy''' 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.<ref>{{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}}</ref> Mittlerweile ist PyPy in einer überwiegenden Zahl von Benchmarks schneller als CPython<del style="font-weight: bold; text-decoration: none;">,</del><ref>{{Internetquelle |url=http://speed.pypy.org/ |titel=How fast is PyPy? |sprache=en |abruf=2017-02-26}}</ref> – und in Sonderfällen sogar schneller als C.<ref>Z.&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}}</ref></div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>'''PyPy''' 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.<ref>{{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}}</ref> Mittlerweile ist PyPy in einer überwiegenden Zahl von Benchmarks schneller als CPython<ref>{{Internetquelle |url=http://speed.pypy.org/ |titel=How fast is PyPy? |sprache=en |abruf=2017-02-26}}</ref> – und in Sonderfällen sogar schneller als C.<ref>Z.&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}}</ref></div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>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.</div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>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.<ins style="font-weight: bold; text-decoration: none;"> 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.<ref>{{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}}</ref></ins></div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Komponenten ==</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Komponenten ==</div></td>
</tr>
</table>
Rainald62
https://de.wikipedia.org/w/index.php?title=PyPy&diff=226552330&oldid=prev
Rainald62: /* Entwicklungsgeschichte */ Update
2022-09-27T16:03:58Z
<p><span class="autocomment">Entwicklungsgeschichte: </span> Update</p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="de">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 27. September 2022, 18:03 Uhr</td>
</tr><tr>
<td colspan="2" class="diff-lineno">Zeile 47:</td>
<td colspan="2" class="diff-lineno">Zeile 47:</td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>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.<ref>{{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}}</ref></div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>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.<ref>{{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}}</ref></div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Version 6.0 ermöglichte es Entwicklern, mithilfe von [[Hook (Informatik)|Hooks]] einen Einblick in die [[Rechenleistung]] der [[Garbage Collection|automatischen Speicherbereinigung]] zu bekommen.<ref>{{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}}</ref><ref>{{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}}</ref></div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Version 6.0<ins style="font-weight: bold; text-decoration: none;"> lieferte 2018 zwei Versionen, die kompatibel sind mit CPython 2.7 bzw. 3.5, und</ins> ermöglichte es Entwicklern, mithilfe von [[Hook (Informatik)|Hooks]] einen Einblick in die [[Rechenleistung]] der [[Garbage Collection|automatischen Speicherbereinigung]] zu bekommen.<ref>{{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}}</ref><ref>{{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}}</ref></div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>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.<ref>{{Internetquelle |url=https://downloads.python.org/pypy/ |titel=PyPy Releases |abruf=2022-09-27}}</ref></div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Siehe auch ==</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Siehe auch ==</div></td>
</tr>
</table>
Rainald62
https://de.wikipedia.org/w/index.php?title=PyPy&diff=221562051&oldid=prev
CLnet: Neue Adresse des Blogs
2022-03-28T06:00:04Z
<p>Neue Adresse des Blogs</p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="de">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 28. März 2022, 08:00 Uhr</td>
</tr><tr>
<td colspan="2" class="diff-lineno">Zeile 60:</td>
<td colspan="2" class="diff-lineno">Zeile 60:</td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [https://cre.fm/cre088-python-und-pypy Interview mit Entwickler Holger Krekel über Python und PyPy] in [[CRE (Podcast)]]</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [https://cre.fm/cre088-python-und-pypy Interview mit Entwickler Holger Krekel über Python und PyPy] in [[CRE (Podcast)]]</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [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]]</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [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]]</div></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>* [https://<del style="font-weight: bold; text-decoration: none;">morepypy</del>.<del style="font-weight: bold; text-decoration: none;">blogspot</del>.<del style="font-weight: bold; text-decoration: none;">de</del>/ PyPy Blog]</div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>* [https://<ins style="font-weight: bold; text-decoration: none;">www</ins>.<ins style="font-weight: bold; text-decoration: none;">pypy</ins>.<ins style="font-weight: bold; text-decoration: none;">org/blog</ins>/ PyPy Blog]</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Einzelnachweise ==</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Einzelnachweise ==</div></td>
</tr>
</table>
CLnet
https://de.wikipedia.org/w/index.php?title=PyPy&diff=219295984&oldid=prev
CommonsDelinker: Ersetze Pypy_logo.png durch Pypy_logo_(2011).png (von CommonsDelinker angeordnet: The files have been splitted and older version is used on wikipedias.)
2022-01-18T10:54:22Z
<p>Ersetze Pypy_logo.png durch <a href="https://commons.wikimedia.org/wiki/File:Pypy_logo_(2011).png" class="extiw" title="commons:File:Pypy logo (2011).png">Pypy_logo_(2011).png</a> (von <a href="https://commons.wikimedia.org/wiki/User:CommonsDelinker" class="extiw" title="commons:User:CommonsDelinker">CommonsDelinker</a> angeordnet: The files have been splitted and older version is used on wikipedias.)</p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="de">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 18. Januar 2022, 12:54 Uhr</td>
</tr><tr>
<td colspan="2" class="diff-lineno">Zeile 1:</td>
<td colspan="2" class="diff-lineno">Zeile 1:</td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{{Infobox Software</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{{Infobox Software</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>| Name = <!-- Nur falls abweichend vom Artikelnamen --></div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>| Name = <!-- Nur falls abweichend vom Artikelnamen --></div></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>| Logo = [[Datei:Pypy logo.png]]</div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>| Logo = [[Datei:Pypy logo<ins style="font-weight: bold; text-decoration: none;"> (2011)</ins>.png]]</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>| Screenshot = <!-- Bildschirmfoto --></div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>| Screenshot = <!-- Bildschirmfoto --></div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>| Beschreibung = <!-- Beschreibung des Bildschirmfotos --></div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>| Beschreibung = <!-- Beschreibung des Bildschirmfotos --></div></td>
</tr>
</table>
CommonsDelinker
https://de.wikipedia.org/w/index.php?title=PyPy&diff=218860739&oldid=prev
Keimzelle: /* RPython */
2022-01-06T15:49:58Z
<p><span class="autocomment">RPython</span></p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="de">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 6. Januar 2022, 17:49 Uhr</td>
</tr><tr>
<td colspan="2" class="diff-lineno">Zeile 31:</td>
<td colspan="2" class="diff-lineno">Zeile 31:</td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>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.<ref>"It is a proper subset of Python, restricted in a way that enables easy analysis and efficient code generation", Ancona et al., 2007.</ref></div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>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.<ref>"It is a proper subset of Python, restricted in a way that enables easy analysis and efficient code generation", Ancona et al., 2007.</ref></div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>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 <del style="font-weight: bold; text-decoration: none;">Bitrot</del> und wurden entfernt. Somit ist das rekursive Logo von PyPy 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.<ref>{{cite book |title=Learn Python the hard way |author=Zed Shaw |date=2017 |isbn=978-0134692883 |publisher=Addison-Wesley}}</ref></div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>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 <ins style="font-weight: bold; text-decoration: none;">[[Softwareerosion|bit rot]]</ins> und wurden entfernt. Somit ist das rekursive Logo von PyPy 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.<ref>{{cite book |title=Learn Python the hard way |author=Zed Shaw |date=2017 |isbn=978-0134692883 |publisher=Addison-Wesley}}</ref></div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Entwicklungsgeschichte ==</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Entwicklungsgeschichte ==</div></td>
</tr>
</table>
Keimzelle
https://de.wikipedia.org/w/index.php?title=PyPy&diff=216733075&oldid=prev
Winne: /* Entwicklungsgeschichte */ Version 6.0 ist nicht mehr aktuell
2021-10-27T14:53:15Z
<p><span class="autocomment">Entwicklungsgeschichte: </span> Version 6.0 ist nicht mehr aktuell</p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="de">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 27. Oktober 2021, 16:53 Uhr</td>
</tr><tr>
<td colspan="2" class="diff-lineno">Zeile 47:</td>
<td colspan="2" class="diff-lineno">Zeile 47:</td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>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.<ref>{{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}}</ref></div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>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.<ref>{{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}}</ref></div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;">Die aktuelle </del>Version 6.0 <del style="font-weight: bold; text-decoration: none;">ermöglicht</del> es Entwicklern mithilfe von [[Hook (Informatik)|Hooks]] einen Einblick in die [[Rechenleistung]] der [[Garbage Collection|automatischen Speicherbereinigung]] zu bekommen.<ref>{{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}}</ref><ref>{{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}}</ref></div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Version 6.0 <ins style="font-weight: bold; text-decoration: none;">ermöglichte</ins> es Entwicklern<ins style="font-weight: bold; text-decoration: none;">,</ins> mithilfe von [[Hook (Informatik)|Hooks]] einen Einblick in die [[Rechenleistung]] der [[Garbage Collection|automatischen Speicherbereinigung]] zu bekommen.<ref>{{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}}</ref><ref>{{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}}</ref></div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Siehe auch ==</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Siehe auch ==</div></td>
</tr>
</table>
Winne
https://de.wikipedia.org/w/index.php?title=PyPy&diff=215699720&oldid=prev
Aka: /* RPython */ Tippfehler entfernt | Fehlerlisten
2021-09-18T16:37:45Z
<p><span class="autocomment">RPython: </span> <a href="/wiki/Benutzer:Aka/Tippfehler_entfernt" title="Benutzer:Aka/Tippfehler entfernt">Tippfehler entfernt</a> | <a href="/wiki/Benutzer:Aka/Fehlerlisten" title="Benutzer:Aka/Fehlerlisten">Fehlerlisten</a></p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="de">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 18. September 2021, 18:37 Uhr</td>
</tr><tr>
<td colspan="2" class="diff-lineno">Zeile 31:</td>
<td colspan="2" class="diff-lineno">Zeile 31:</td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>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.<ref>"It is a proper subset of Python, restricted in a way that enables easy analysis and efficient code generation", Ancona et al., 2007.</ref></div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>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.<ref>"It is a proper subset of Python, restricted in a way that enables easy analysis and efficient code generation", Ancona et al., 2007.</ref></div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>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 [[<del style="font-weight: bold; text-decoration: none;">Javascript</del>]], aber diese litten unter Bitrot und wurden entfernt. Somit ist das rekursive Logo von PyPy 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.<ref>{{cite book |title=Learn Python the hard way |author=Zed Shaw |date=2017 |isbn=978-0134692883 |publisher=Addison-Wesley}}</ref></div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>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 [[<ins style="font-weight: bold; text-decoration: none;">JavaScript</ins>]], aber diese litten unter Bitrot und wurden entfernt. Somit ist das rekursive Logo von PyPy 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.<ref>{{cite book |title=Learn Python the hard way |author=Zed Shaw |date=2017 |isbn=978-0134692883 |publisher=Addison-Wesley}}</ref></div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Entwicklungsgeschichte ==</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Entwicklungsgeschichte ==</div></td>
</tr>
</table>
Aka
https://de.wikipedia.org/w/index.php?title=PyPy&diff=215691721&oldid=prev
Rolf acker: /* RPython */ WP-Wartung: cite-book-Vorlagenfehler beseitigt; linkfixes
2021-09-18T10:48:18Z
<p><span class="autocomment">RPython: </span> WP-Wartung: cite-book-Vorlagenfehler beseitigt; linkfixes</p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="de">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 18. September 2021, 12:48 Uhr</td>
</tr><tr>
<td colspan="2" class="diff-lineno">Zeile 31:</td>
<td colspan="2" class="diff-lineno">Zeile 31:</td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>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.<ref>"It is a proper subset of Python, restricted in a way that enables easy analysis and efficient code generation", Ancona et al., 2007.</ref></div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>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.<ref>"It is a proper subset of Python, restricted in a way that enables easy analysis and efficient code generation", Ancona et al., 2007.</ref></div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>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]], CSharp und [[Javascript]], aber diese litten unter Bitrot und wurden entfernt. Somit ist das rekursive Logo von PyPy 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.<ref>{{cite book|title=Learn Python the hard way|author=Zed Shaw|<del style="font-weight: bold; text-decoration: none;">year</del>=2017|<del style="font-weight: bold; text-decoration: none;">ISBN</del>=978-0134692883|<del style="font-weight: bold; text-decoration: none;">publiisher</del>=<del style="font-weight: bold; text-decoration: none;">Addison</del>-Wesley<del style="font-weight: bold; text-decoration: none;"> Professional|url=https://python.engineering/learn-python-the-hard-way</del>/</div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>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: [[<ins style="font-weight: bold; text-decoration: none;">Java (Programmiersprache)|</ins>Java]], CSharp und [[Javascript]], aber diese litten unter Bitrot und wurden entfernt. Somit ist das rekursive Logo von PyPy 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.<ref>{{cite book<ins style="font-weight: bold; text-decoration: none;"> </ins>|title=Learn Python the hard way<ins style="font-weight: bold; text-decoration: none;"> </ins>|author=Zed Shaw<ins style="font-weight: bold; text-decoration: none;"> </ins>|<ins style="font-weight: bold; text-decoration: none;">date</ins>=2017<ins style="font-weight: bold; text-decoration: none;"> </ins>|<ins style="font-weight: bold; text-decoration: none;">isbn</ins>=978-0134692883<ins style="font-weight: bold; text-decoration: none;"> </ins>|<ins style="font-weight: bold; text-decoration: none;">publisher</ins>=<ins style="font-weight: bold; text-decoration: none;">Addison</ins>-Wesley<ins style="font-weight: bold; text-decoration: none;">}}<</ins>/<ins style="font-weight: bold; text-decoration: none;">ref></ins></div></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>}}</ref></div></td>
<td colspan="2" class="diff-empty diff-side-added"></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Entwicklungsgeschichte ==</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Entwicklungsgeschichte ==</div></td>
</tr>
</table>
Rolf acker