https://de.wikipedia.org/w/index.php?action=history&feed=atom&title=Cython
Cython - Versionsgeschichte
2025-05-10T23:48:52Z
Versionsgeschichte dieser Seite in Wikipedia
MediaWiki 1.44.0-wmf.28
https://de.wikipedia.org/w/index.php?title=Cython&diff=254852439&oldid=prev
Dovahiki: /* growthexperiments-addlink-summary-summary:2|0|0 */
2025-04-04T18:24:48Z
<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 4. April 2025, 20:24 Uhr</td>
</tr><tr>
<td colspan="2" class="diff-lineno">Zeile 29:</td>
<td colspan="2" class="diff-lineno">Zeile 29:</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>Cython ist ein optimierender Compiler, jedoch nicht im gängigen Sinne eines Compilers, der [[Binärcode]] erzeugt. Vielmehr erlaubt es die Übersetzung in C-Code, viele grundlegende [[Compiler#Programmoptimierung (ausführlich)|Optimierungen und Plattform-Anpassungen]] einem C-Compiler zu überlassen. So kann sich der Cython-Compiler selbst auf High-Level-Optimierungen auf [[Abstract Syntax Tree|AST]]-Ebene beschränken.</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>Cython ist ein optimierender Compiler, jedoch nicht im gängigen Sinne eines Compilers, der [[Binärcode]] erzeugt. Vielmehr erlaubt es die Übersetzung in C-Code, viele grundlegende [[Compiler#Programmoptimierung (ausführlich)|Optimierungen und Plattform-Anpassungen]] einem C-Compiler zu überlassen. So kann sich der Cython-Compiler selbst auf High-Level-Optimierungen auf [[Abstract Syntax Tree|AST]]-Ebene beschränken.</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>Der C-Code, den Cython generiert, ist weitgehend portabel bezüglich Plattformen (Prozessor, C-Compiler und Betriebssystem) und CPython-Versionen. Aktuell (Version 0.28.5) werden die CPython-Versionen 2.6 und 2.7 sowie alle von 3.3 an unterstützt. Getestete Plattformen sind unter anderem [[macOS]], [[Microsoft Windows|Windows]] und vor allem verschiedene [[Linux-Distribution]]en, mit [[32-Bit-Architektur|32-Bit]]- und [[64-Bit-Architektur|64-Bit]]-Systemversionen.</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 C-Code, den Cython generiert, ist weitgehend portabel bezüglich Plattformen (<ins style="font-weight: bold; text-decoration: none;">[[</ins>Prozessor<ins style="font-weight: bold; text-decoration: none;">]]</ins>, C-Compiler und <ins style="font-weight: bold; text-decoration: none;">[[</ins>Betriebssystem<ins style="font-weight: bold; text-decoration: none;">]]</ins>) und CPython-Versionen. Aktuell (Version 0.28.5) werden die CPython-Versionen 2.6 und 2.7 sowie alle von 3.3 an unterstützt. Getestete Plattformen sind unter anderem [[macOS]], [[Microsoft Windows|Windows]] und vor allem verschiedene [[Linux-Distribution]]en, mit [[32-Bit-Architektur|32-Bit]]- und [[64-Bit-Architektur|64-Bit]]-Systemversionen.</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>== Eigenschaften ==</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>== Eigenschaften ==</div></td>
</tr>
</table>
Dovahiki
https://de.wikipedia.org/w/index.php?title=Cython&diff=251233056&oldid=prev
Aka: falsches Komma entfernt
2024-12-14T08:40:22Z
<p>falsches Komma entfernt</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 14. Dezember 2024, 10:40 Uhr</td>
</tr><tr>
<td colspan="2" class="diff-lineno">Zeile 4:</td>
<td colspan="2" class="diff-lineno">Zeile 4:</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>|Paradigma = multiparadigmatisch</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>|Paradigma = multiparadigmatisch</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>|Erscheinungsjahr = <!-- Wikidata --></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>|Erscheinungsjahr = <!-- Wikidata --></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>|Entwickler = Robert Bradshaw, Stefan Behnel<del style="font-weight: bold; text-decoration: none;">,</del> et al.</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>|Entwickler = Robert Bradshaw, Stefan Behnel et al.</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>|AktuelleVersion = <!-- Wikidata --></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>|AktuelleVersion = <!-- Wikidata --></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>|AktuelleVersionFreigabeDatum = <!-- Wikidata --></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>|AktuelleVersionFreigabeDatum = <!-- Wikidata --></div></td>
</tr>
</table>
Aka
https://de.wikipedia.org/w/index.php?title=Cython&diff=243656941&oldid=prev
MultiPolitikus: Archivlink(s) geprüft
2024-04-01T23:00:50Z
<p><a href="/wiki/Kategorie:Wikipedia:Defekte_Weblinks/Ungepr%C3%BCfte_Archivlinks" title="Kategorie:Wikipedia:Defekte Weblinks/Ungeprüfte Archivlinks">Archivlink(s)</a> geprüft</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 2. April 2024, 01:00 Uhr</td>
</tr><tr>
<td colspan="2" class="diff-lineno">Zeile 25:</td>
<td colspan="2" class="diff-lineno">Zeile 25:</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>== Ziele ==</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>== Ziele ==</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>Das Cython-Projekt hat sich zum Ziel gesetzt, einen Compiler für normalen Python-Code zu entwickeln,<ref>{{Webarchiv|text=Kompatibilität zu Python 2 ist erklärtes Ziel für die zukünftige Cython-Version 1.0 |url=http://wiki.cython.org/FAQ |wayback=20110810144810 <del style="font-weight: bold; text-decoration: none;">|archiv-bot=2018-04-05</del> <del style="font-weight: bold; text-decoration: none;">06:30:06</del> <del style="font-weight: bold; text-decoration: none;">InternetArchiveBot</del> <del style="font-weight: bold; text-decoration: none;">}}</del></ref> der durch zusätzliche (explizite) statische Typisierung eine möglichst hohe Performance und eine weitreichende Integration mit Code bietet, der in C, C++ und Fortran geschrieben ist.</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 Cython-Projekt hat sich zum Ziel gesetzt, einen Compiler für normalen Python-Code zu entwickeln,<ref>{{Webarchiv|text=Kompatibilität zu Python 2 ist erklärtes Ziel für die zukünftige Cython-Version 1.0 |url=http://wiki.cython.org/FAQ |wayback=20110810144810 <ins style="font-weight: bold; text-decoration: none;">}}.</ins> <ins style="font-weight: bold; text-decoration: none;">Abgerufen</ins> <ins style="font-weight: bold; text-decoration: none;">am</ins> <ins style="font-weight: bold; text-decoration: none;">1.&nbsp;April 2024.</ins></ref> der durch zusätzliche (explizite) statische Typisierung eine möglichst hohe Performance und eine weitreichende Integration mit Code bietet, der in C, C++ und Fortran geschrieben ist.</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>Cython ist ein optimierender Compiler, jedoch nicht im gängigen Sinne eines Compilers, der [[Binärcode]] erzeugt. Vielmehr erlaubt es die Übersetzung in C-Code, viele grundlegende [[Compiler#Programmoptimierung (ausführlich)|Optimierungen und Plattform-Anpassungen]] einem C-Compiler zu überlassen. So kann sich der Cython-Compiler selbst auf High-Level-Optimierungen auf [[Abstract Syntax Tree|AST]]-Ebene beschränken.</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>Cython ist ein optimierender Compiler, jedoch nicht im gängigen Sinne eines Compilers, der [[Binärcode]] erzeugt. Vielmehr erlaubt es die Übersetzung in C-Code, viele grundlegende [[Compiler#Programmoptimierung (ausführlich)|Optimierungen und Plattform-Anpassungen]] einem C-Compiler zu überlassen. So kann sich der Cython-Compiler selbst auf High-Level-Optimierungen auf [[Abstract Syntax Tree|AST]]-Ebene beschränken.</div></td>
</tr>
<tr>
<td colspan="2" class="diff-lineno">Zeile 39:</td>
<td colspan="2" class="diff-lineno">Zeile 39:</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>Viele der Optimierungen, die der Cython-Compiler automatisch durchführt, bewirken eine Spezialisierung des generierten C-Codes. Dazu verwendet der Compiler explizite [[Statische Typisierung|statische Typdeklarationen]] und (einfache) [[Typinferenz]], um spezialisierten C-Code für die verwendeten Datentypen und bestimmte Code-Patterns zu erzeugen. Ein großer Teil der Optimierungen im Cython-Compiler bezieht sich auf Schleifen, da sich hier zumeist ein großer Teil der Gesamtlaufzeit ansammelt.</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>Viele der Optimierungen, die der Cython-Compiler automatisch durchführt, bewirken eine Spezialisierung des generierten C-Codes. Dazu verwendet der Compiler explizite [[Statische Typisierung|statische Typdeklarationen]] und (einfache) [[Typinferenz]], um spezialisierten C-Code für die verwendeten Datentypen und bestimmte Code-Patterns zu erzeugen. Ein großer Teil der Optimierungen im Cython-Compiler bezieht sich auf Schleifen, da sich hier zumeist ein großer Teil der Gesamtlaufzeit ansammelt.</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>Kontrollstrukturen (vor allem Schleifen) sind mit Cython und einem C-Compiler übersetzt um ein Vielfaches schneller, als wenn sie von CPython interpretiert werden.<ref>[http://article.gmane.org/gmane.comp.python.cython.devel/7637 gmane.comp.python.cython.devel – pybench-Vergleich von Cython und CPython 2.6.2]</ref> Dies ist bedingt durch optimistische Optimierungen und Typ-Inferenz. Dadurch läuft Cython-kompilierter Python-Code auch ohne explizite Typ-Deklarationen meist schneller als in CPython 2.6.x, obwohl die relative Performance natürlich vom jeweiligen Code abhängt. Durch die statische Deklaration von Datentypen und die dadurch resultierende Spezialisierung des C-Codes lässt sich jedoch zumeist eine Beschleunigung um ein Vielfaches erreichen. Vor allem bei mathematischen Berechnungen ergeben sich oft Laufzeitverbesserungen um den Faktor hundert bis tausend.<ref>{{Webarchiv|url=http://thread.gmane.org/gmane.comp.python.cython.devel/4602/focus=4619 |wayback=20170214183219 |text=gmane.comp.python.cython.devel – Passing a pointer from Python <del style="font-weight: bold; text-decoration: none;">|archiv-bot=2019-08-30</del> <del style="font-weight: bold; text-decoration: none;">20:35:24</del> <del style="font-weight: bold; text-decoration: none;">InternetArchiveBot</del> <del style="font-weight: bold; text-decoration: none;">}}</del></ref> Im Vergleich dazu liegt die typische Beschleunigung durch den Python-[[Just-in-time-Kompilierung|JIT-Compiler]] [[Psyco]] bei etwa vier- bis hundertfach,<ref>[http://psyco.sourceforge.net/introduction.html Psyco – Introduction]</ref> bei [[PyPy]] in ausgewählten Fällen bei bis zu zwölffach.<ref>[http://speed.pypy.org/comparison/?exe=2%2B35%2C4%2B35%2C1%2B172&env=1&hor=false&bas=2%2B35&chart=normal+bars Geschwindigkeit von PyPy 1.4 im Vergleich zu CPython 2.6.2 mit/ohne Psyco]</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>Kontrollstrukturen (vor allem Schleifen) sind mit Cython und einem C-Compiler übersetzt um ein Vielfaches schneller, als wenn sie von CPython interpretiert werden.<ref>[http://article.gmane.org/gmane.comp.python.cython.devel/7637 gmane.comp.python.cython.devel – pybench-Vergleich von Cython und CPython 2.6.2]</ref> Dies ist bedingt durch optimistische Optimierungen und Typ-Inferenz. Dadurch läuft Cython-kompilierter Python-Code auch ohne explizite Typ-Deklarationen meist schneller als in CPython 2.6.x, obwohl die relative Performance natürlich vom jeweiligen Code abhängt. Durch die statische Deklaration von Datentypen und die dadurch resultierende Spezialisierung des C-Codes lässt sich jedoch zumeist eine Beschleunigung um ein Vielfaches erreichen. Vor allem bei mathematischen Berechnungen ergeben sich oft Laufzeitverbesserungen um den Faktor hundert bis tausend.<ref>{{Webarchiv|url=http://thread.gmane.org/gmane.comp.python.cython.devel/4602/focus=4619 |wayback=20170214183219 |text=gmane.comp.python.cython.devel – Passing a pointer from Python <ins style="font-weight: bold; text-decoration: none;">}}.</ins> <ins style="font-weight: bold; text-decoration: none;">Abgerufen</ins> <ins style="font-weight: bold; text-decoration: none;">am</ins> <ins style="font-weight: bold; text-decoration: none;">1.&nbsp;April 2024.</ins></ref> Im Vergleich dazu liegt die typische Beschleunigung durch den Python-[[Just-in-time-Kompilierung|JIT-Compiler]] [[Psyco]] bei etwa vier- bis hundertfach,<ref>[http://psyco.sourceforge.net/introduction.html Psyco – Introduction]</ref> bei [[PyPy]] in ausgewählten Fällen bei bis zu zwölffach.<ref>[http://speed.pypy.org/comparison/?exe=2%2B35%2C4%2B35%2C1%2B172&env=1&hor=false&bas=2%2B35&chart=normal+bars Geschwindigkeit von PyPy 1.4 im Vergleich zu CPython 2.6.2 mit/ohne Psyco]</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>Der von Cython für Funktionen generierte Code ist optimiert für schnelles Entpacken und Konvertieren von Aufrufparametern. Daher ist ein Python-Aufruf von nativem Code durch einen Cython-[[Wrapper (Software)|Wrapper]] hindurch im Allgemeinen schneller als in anderen Wrapper-Implementierungen für Python.<ref>{{Webarchiv|url=http://telecom.inescporto.pt/~gjc/pybindgen-benchmarks/ |wayback=20150404154630 |text=C++-Wrapper-Benchmarks für verschiedene Python-Wrapper-Generatoren (ohne Cython) <del style="font-weight: bold; text-decoration: none;">|archiv-bot=2019-08-30</del> <del style="font-weight: bold; text-decoration: none;">20:35:24</del> <del style="font-weight: bold; text-decoration: none;">InternetArchiveBot</del> <del style="font-weight: bold; text-decoration: none;">}}</del></ref><ref>[http://behnel.de/cycppbench/ C++-Wrapper-Benchmarks für Cython, Boost.Python und PyBindGen]</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 von Cython für Funktionen generierte Code ist optimiert für schnelles Entpacken und Konvertieren von Aufrufparametern. Daher ist ein Python-Aufruf von nativem Code durch einen Cython-[[Wrapper (Software)|Wrapper]] hindurch im Allgemeinen schneller als in anderen Wrapper-Implementierungen für Python.<ref>{{Webarchiv|url=http://telecom.inescporto.pt/~gjc/pybindgen-benchmarks/ |wayback=20150404154630 |text=C++-Wrapper-Benchmarks für verschiedene Python-Wrapper-Generatoren (ohne Cython) <ins style="font-weight: bold; text-decoration: none;">}}.</ins> <ins style="font-weight: bold; text-decoration: none;">Abgerufen</ins> <ins style="font-weight: bold; text-decoration: none;">am</ins> <ins style="font-weight: bold; text-decoration: none;">1.&nbsp;April 2024.</ins></ref><ref>[http://behnel.de/cycppbench/ C++-Wrapper-Benchmarks für Cython, Boost.Python und PyBindGen]</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>== Anwendungsgebiete ==</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>== Anwendungsgebiete ==</div></td>
</tr>
</table>
MultiPolitikus
https://de.wikipedia.org/w/index.php?title=Cython&diff=219811411&oldid=prev
77.20.23.158 am 2. Februar 2022 um 21:47 Uhr
2022-02-02T21:47:30Z
<p></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 2. Februar 2022, 23:47 Uhr</td>
</tr><tr>
<td colspan="2" class="diff-lineno">Zeile 12:</td>
<td colspan="2" class="diff-lineno">Zeile 12:</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>'''Cython''' ist eine universelle [[Höhere Programmiersprache|Programmiersprache]], die weitgehend <del style="font-weight: bold; text-decoration: none;">zu</del> [[Python (Programmiersprache)|Python]] kompatibel ist. Wie diese unterstützt sie verschiedene [[Programmierparadigma|Programmierparadigmen]] wie [[Objektorientierte Programmierung|objektorientierte]], [[Aspektorientierte Programmierung|aspektorientierte]] und [[Funktionale Programmierung|funktionale]] Programmierung. Der Hauptvorteil liegt jedoch in der Übersetzung in die Zielsprache C, was sowohl eine hohe [[Rechenleistung|Performance]] im Vergleich zum [[CPython|Standard-Python-Interpreter]] erlaubt, als auch eine direkte Interaktion mit externem Code ermöglicht, der in C, C++ oder [[Fortran]] geschrieben ist.</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>'''Cython''' ist eine universelle [[Höhere Programmiersprache|Programmiersprache]], die weitgehend <ins style="font-weight: bold; text-decoration: none;">mit</ins> [[Python (Programmiersprache)|Python]] kompatibel ist. Wie diese unterstützt sie verschiedene [[Programmierparadigma|Programmierparadigmen]] wie [[Objektorientierte Programmierung|objektorientierte]], [[Aspektorientierte Programmierung|aspektorientierte]] und [[Funktionale Programmierung|funktionale]] Programmierung. Der Hauptvorteil liegt jedoch in der Übersetzung in die Zielsprache C, was sowohl eine hohe [[Rechenleistung|Performance]] im Vergleich zum [[CPython|Standard-Python-Interpreter]] erlaubt, als auch eine direkte Interaktion mit externem Code ermöglicht, der in C, C++ oder [[Fortran]] geschrieben ist.</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>Haupteinsatzgebiete sind die [[Wrapper (Software)|Anbindung]] von externen [[Programmbibliothek|Bibliotheken]] an den [[CPython]]-[[Interpreter]], sowie die Beschleunigung von Python-Code. Der Cython-[[Compiler]] kann auch zur Kompilierung reiner Python-Module verwendet werden.</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>Haupteinsatzgebiete sind die [[Wrapper (Software)|Anbindung]] von externen [[Programmbibliothek|Bibliotheken]] an den [[CPython]]-[[Interpreter]], sowie die Beschleunigung von Python-Code. Der Cython-[[Compiler]] kann auch zur Kompilierung reiner Python-Module verwendet werden.</div></td>
</tr>
</table>
77.20.23.158
https://de.wikipedia.org/w/index.php?title=Cython&diff=216195593&oldid=prev
Dateientlinkerbot: Bot: Entferne Commons:File:Cython-logo.svg (de) da die Datei gelöscht wurde. (per Commons:Commons:Deletion requests/File:Cython-logo.svg)
2021-10-07T19:22:58Z
<p>Bot: Entferne <a href="https://commons.wikimedia.org/wiki/File:Cython-logo.svg" class="extiw" title="commons:File:Cython-logo.svg">Commons:File:Cython-logo.svg</a> (<a href="/w/index.php?title=Datei:Cython-logo.svg&action=edit&redlink=1" class="new" title="Datei:Cython-logo.svg (Seite nicht vorhanden)">de</a>) da die Datei gelöscht wurde. (per <a href="https://commons.wikimedia.org/wiki/Commons:Deletion_requests/File:Cython-logo.svg" class="extiw" title="commons:Commons:Deletion requests/File:Cython-logo.svg">Commons:Commons:Deletion requests/File:Cython-logo.svg</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 7. Oktober 2021, 21:22 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 Programmiersprache</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 Programmiersprache</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 =</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 =</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;"><div>|Logo = </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:Cython-logo.svg|frameless]]</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;"><div>|Paradigma = multiparadigmatisch</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>|Paradigma = multiparadigmatisch</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>|Erscheinungsjahr = <!-- Wikidata --></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>|Erscheinungsjahr = <!-- Wikidata --></div></td>
</tr>
<tr>
<td colspan="2" class="diff-lineno">Zeile 63:</td>
<td colspan="2" class="diff-lineno">Zeile 63:</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>
<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><references /></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><references /></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;"><br /></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>[[Kategorie:Python (Programmiersprache)]]</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>[[Kategorie:Python (Programmiersprache)]]</div></td>
</tr>
</table>
Dateientlinkerbot
https://de.wikipedia.org/w/index.php?title=Cython&diff=199799309&oldid=prev
2001:16B8:4644:5D00:9D1C:F913:9DEA:AA38: korrigiere grammatikalischen Fehler: weitreichendere -> weiterreichende
2020-05-10T09:21:37Z
<p>korrigiere grammatikalischen Fehler: weitreichendere -> weiterreichende</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 10. Mai 2020, 11:21 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;"><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>
<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>Cython basiert auf [[Pyrex (Programmiersprache)|Pyrex]] von Greg Ewing (Erstveröffentlichung am 4.&nbsp;April 2002<ref>[http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/oldtar/ ursprüngliche Versionen des Vorgängers Pyrex]</ref>). Im Juli 2007 wurde der Cython-Compiler durch Robert Bradshaw und Stefan Behnel als eigenständiges, offen entwickeltes Projekt von Pyrex abgespalten. Seither wurde versucht, die beiden Compiler weitgehend kompatibel zu halten, wobei jedoch Cython wesentlich <del style="font-weight: bold; text-decoration: none;">weitreichendere</del> Optimierungen anwendet und eine höhere Kompatibilität mit Python-Code erreicht. Wichtige Unterschiede zu Pyrex sind in der Cython-Dokumentation beschrieben.</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>Cython basiert auf [[Pyrex (Programmiersprache)|Pyrex]] von Greg Ewing (Erstveröffentlichung am 4.&nbsp;April 2002<ref>[http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/oldtar/ ursprüngliche Versionen des Vorgängers Pyrex]</ref>). Im Juli 2007 wurde der Cython-Compiler durch Robert Bradshaw und Stefan Behnel als eigenständiges, offen entwickeltes Projekt von Pyrex abgespalten. Seither wurde versucht, die beiden Compiler weitgehend kompatibel zu halten, wobei jedoch Cython wesentlich <ins style="font-weight: bold; text-decoration: none;">weiterreichende</ins> Optimierungen anwendet und eine höhere Kompatibilität mit Python-Code erreicht. Wichtige Unterschiede zu Pyrex sind in der Cython-Dokumentation beschrieben.</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>== Namensherkunft ==</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>== Namensherkunft ==</div></td>
</tr>
</table>
2001:16B8:4644:5D00:9D1C:F913:9DEA:AA38
https://de.wikipedia.org/w/index.php?title=Cython&diff=191826219&oldid=prev
InternetArchiveBot: InternetArchiveBot hat 2 Archivlink(s) ergänzt und 0 Link(s) als defekt/tot markiert.) #IABot (v2.0
2019-08-30T20:35:24Z
<p><a href="/wiki/Benutzer:InternetArchiveBot" title="Benutzer:InternetArchiveBot">InternetArchiveBot</a> hat 2 Archivlink(s) ergänzt und 0 Link(s) als defekt/tot markiert.) #IABot (v2.0</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 30. August 2019, 22:35 Uhr</td>
</tr><tr>
<td colspan="2" class="diff-lineno">Zeile 39:</td>
<td colspan="2" class="diff-lineno">Zeile 39:</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>Viele der Optimierungen, die der Cython-Compiler automatisch durchführt, bewirken eine Spezialisierung des generierten C-Codes. Dazu verwendet der Compiler explizite [[Statische Typisierung|statische Typdeklarationen]] und (einfache) [[Typinferenz]], um spezialisierten C-Code für die verwendeten Datentypen und bestimmte Code-Patterns zu erzeugen. Ein großer Teil der Optimierungen im Cython-Compiler bezieht sich auf Schleifen, da sich hier zumeist ein großer Teil der Gesamtlaufzeit ansammelt.</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>Viele der Optimierungen, die der Cython-Compiler automatisch durchführt, bewirken eine Spezialisierung des generierten C-Codes. Dazu verwendet der Compiler explizite [[Statische Typisierung|statische Typdeklarationen]] und (einfache) [[Typinferenz]], um spezialisierten C-Code für die verwendeten Datentypen und bestimmte Code-Patterns zu erzeugen. Ein großer Teil der Optimierungen im Cython-Compiler bezieht sich auf Schleifen, da sich hier zumeist ein großer Teil der Gesamtlaufzeit ansammelt.</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>Kontrollstrukturen (vor allem Schleifen) sind mit Cython und einem C-Compiler übersetzt um ein Vielfaches schneller, als wenn sie von CPython interpretiert werden.<ref>[http://article.gmane.org/gmane.comp.python.cython.devel/7637 gmane.comp.python.cython.devel – pybench-Vergleich von Cython und CPython 2.6.2]</ref> Dies ist bedingt durch optimistische Optimierungen und Typ-Inferenz. Dadurch läuft Cython-kompilierter Python-Code auch ohne explizite Typ-Deklarationen meist schneller als in CPython 2.6.x, obwohl die relative Performance natürlich vom jeweiligen Code abhängt. Durch die statische Deklaration von Datentypen und die dadurch resultierende Spezialisierung des C-Codes lässt sich jedoch zumeist eine Beschleunigung um ein Vielfaches erreichen. Vor allem bei mathematischen Berechnungen ergeben sich oft Laufzeitverbesserungen um den Faktor hundert bis tausend.<ref><del style="font-weight: bold; text-decoration: none;">[</del>http://thread.gmane.org/gmane.comp.python.cython.devel/4602/focus=4619 gmane.comp.python.cython.devel – Passing a pointer from Python<del style="font-weight: bold; text-decoration: none;">]</del></ref> Im Vergleich dazu liegt die typische Beschleunigung durch den Python-[[Just-in-time-Kompilierung|JIT-Compiler]] [[Psyco]] bei etwa vier- bis hundertfach,<ref>[http://psyco.sourceforge.net/introduction.html Psyco – Introduction]</ref> bei [[PyPy]] in ausgewählten Fällen bei bis zu zwölffach.<ref>[http://speed.pypy.org/comparison/?exe=2%2B35%2C4%2B35%2C1%2B172&env=1&hor=false&bas=2%2B35&chart=normal+bars Geschwindigkeit von PyPy 1.4 im Vergleich zu CPython 2.6.2 mit/ohne Psyco]</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>Kontrollstrukturen (vor allem Schleifen) sind mit Cython und einem C-Compiler übersetzt um ein Vielfaches schneller, als wenn sie von CPython interpretiert werden.<ref>[http://article.gmane.org/gmane.comp.python.cython.devel/7637 gmane.comp.python.cython.devel – pybench-Vergleich von Cython und CPython 2.6.2]</ref> Dies ist bedingt durch optimistische Optimierungen und Typ-Inferenz. Dadurch läuft Cython-kompilierter Python-Code auch ohne explizite Typ-Deklarationen meist schneller als in CPython 2.6.x, obwohl die relative Performance natürlich vom jeweiligen Code abhängt. Durch die statische Deklaration von Datentypen und die dadurch resultierende Spezialisierung des C-Codes lässt sich jedoch zumeist eine Beschleunigung um ein Vielfaches erreichen. Vor allem bei mathematischen Berechnungen ergeben sich oft Laufzeitverbesserungen um den Faktor hundert bis tausend.<ref><ins style="font-weight: bold; text-decoration: none;">{{Webarchiv|url=</ins>http://thread.gmane.org/gmane.comp.python.cython.devel/4602/focus=4619 <ins style="font-weight: bold; text-decoration: none;">|wayback=20170214183219 |text=</ins>gmane.comp.python.cython.devel – Passing a pointer from Python<ins style="font-weight: bold; text-decoration: none;"> |archiv-bot=2019-08-30 20:35:24 InternetArchiveBot }}</ins></ref> Im Vergleich dazu liegt die typische Beschleunigung durch den Python-[[Just-in-time-Kompilierung|JIT-Compiler]] [[Psyco]] bei etwa vier- bis hundertfach,<ref>[http://psyco.sourceforge.net/introduction.html Psyco – Introduction]</ref> bei [[PyPy]] in ausgewählten Fällen bei bis zu zwölffach.<ref>[http://speed.pypy.org/comparison/?exe=2%2B35%2C4%2B35%2C1%2B172&env=1&hor=false&bas=2%2B35&chart=normal+bars Geschwindigkeit von PyPy 1.4 im Vergleich zu CPython 2.6.2 mit/ohne Psyco]</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>Der von Cython für Funktionen generierte Code ist optimiert für schnelles Entpacken und Konvertieren von Aufrufparametern. Daher ist ein Python-Aufruf von nativem Code durch einen Cython-[[Wrapper (Software)|Wrapper]] hindurch im Allgemeinen schneller als in anderen Wrapper-Implementierungen für Python.<ref><del style="font-weight: bold; text-decoration: none;">[</del>http://telecom.inescporto.pt/~gjc/pybindgen-benchmarks/ C++-Wrapper-Benchmarks für verschiedene Python-Wrapper-Generatoren (ohne Cython)<del style="font-weight: bold; text-decoration: none;">]</del></ref><ref>[http://behnel.de/cycppbench/ C++-Wrapper-Benchmarks für Cython, Boost.Python und PyBindGen]</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 von Cython für Funktionen generierte Code ist optimiert für schnelles Entpacken und Konvertieren von Aufrufparametern. Daher ist ein Python-Aufruf von nativem Code durch einen Cython-[[Wrapper (Software)|Wrapper]] hindurch im Allgemeinen schneller als in anderen Wrapper-Implementierungen für Python.<ref><ins style="font-weight: bold; text-decoration: none;">{{Webarchiv|url=</ins>http://telecom.inescporto.pt/~gjc/pybindgen-benchmarks/ <ins style="font-weight: bold; text-decoration: none;">|wayback=20150404154630 |text=</ins>C++-Wrapper-Benchmarks für verschiedene Python-Wrapper-Generatoren (ohne Cython)<ins style="font-weight: bold; text-decoration: none;"> |archiv-bot=2019-08-30 20:35:24 InternetArchiveBot }}</ins></ref><ref>[http://behnel.de/cycppbench/ C++-Wrapper-Benchmarks für Cython, Boost.Python und PyBindGen]</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>== Anwendungsgebiete ==</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>== Anwendungsgebiete ==</div></td>
</tr>
</table>
InternetArchiveBot
https://de.wikipedia.org/w/index.php?title=Cython&diff=189268911&oldid=prev
Trustable: Kleinigkeiten verbessert
2019-06-05T07:48:01Z
<p>Kleinigkeiten verbessert</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 5. Juni 2019, 09:48 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 Programmiersprache</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 Programmiersprache</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>|Name =<del style="font-weight: bold; text-decoration: none;"> Cython</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>|Name =</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>|Logo = [[Datei:Cython-logo.svg|frameless]]</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>|Logo = [[Datei:Cython-logo.svg|frameless]]</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>|Paradigma = multiparadigmatisch</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>|Paradigma = multiparadigmatisch</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>|Erscheinungsjahr = <del style="font-weight: bold; text-decoration: none;">2007</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>|Erscheinungsjahr = <ins style="font-weight: bold; text-decoration: none;"><!-- Wikidata --></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;"><div>|Entwickler = Robert Bradshaw, Stefan Behnel, et al.</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>|Entwickler = Robert Bradshaw, Stefan Behnel, et al.</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>|AktuelleVersion = <!-- Wikidata --></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>|AktuelleVersion = <!-- Wikidata --></div></td>
</tr>
<tr>
<td colspan="2" class="diff-lineno">Zeile 25:</td>
<td colspan="2" class="diff-lineno">Zeile 25:</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>== Ziele ==</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>== Ziele ==</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>Das Cython-Projekt hat sich zum Ziel gesetzt, einen Compiler für normalen Python-Code zu entwickeln,<ref><del style="font-weight: bold; text-decoration: none;"> </del>{{Webarchiv|text=Kompatibilität zu Python 2 ist erklärtes Ziel für die zukünftige Cython-Version 1.0 |url=http://wiki.cython.org/FAQ |wayback=20110810144810 |archiv-bot=2018-04-05 06:30:06 InternetArchiveBot }}</ref> der durch zusätzliche (explizite) statische Typisierung eine möglichst hohe Performance und eine weitreichende Integration mit Code bietet, der in C, C++ und Fortran geschrieben ist.</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 Cython-Projekt hat sich zum Ziel gesetzt, einen Compiler für normalen Python-Code zu entwickeln,<ref>{{Webarchiv|text=Kompatibilität zu Python 2 ist erklärtes Ziel für die zukünftige Cython-Version 1.0 |url=http://wiki.cython.org/FAQ |wayback=20110810144810 |archiv-bot=2018-04-05 06:30:06 InternetArchiveBot }}</ref> der durch zusätzliche (explizite) statische Typisierung eine möglichst hohe Performance und eine weitreichende Integration mit Code bietet, der in C, C++ und Fortran geschrieben ist.</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>Cython ist ein optimierender Compiler, jedoch nicht im gängigen Sinne eines Compilers, der [[Binärcode]] erzeugt. Vielmehr erlaubt es die Übersetzung in C-Code, viele grundlegende [[Compiler#Programmoptimierung (ausführlich)|Optimierungen und Plattform-Anpassungen]] einem C-Compiler zu überlassen. So kann sich der Cython-Compiler selbst auf High-Level-Optimierungen auf [[Abstract Syntax Tree|AST]]-Ebene beschränken.</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>Cython ist ein optimierender Compiler, jedoch nicht im gängigen Sinne eines Compilers, der [[Binärcode]] erzeugt. Vielmehr erlaubt es die Übersetzung in C-Code, viele grundlegende [[Compiler#Programmoptimierung (ausführlich)|Optimierungen und Plattform-Anpassungen]] einem C-Compiler zu überlassen. So kann sich der Cython-Compiler selbst auf High-Level-Optimierungen auf [[Abstract Syntax Tree|AST]]-Ebene beschränken.</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>Der C-Code, den Cython generiert, ist weitgehend portabel bezüglich Plattformen (Prozessor, C-Compiler und Betriebssystem) und CPython-Versionen. Aktuell (Version 0.28.5) werden die CPython-Versionen 2.6 und 2.7 sowie alle von 3.3 an unterstützt. Getestete Plattformen sind unter anderem [[macOS]], [[Microsoft Windows]] und vor allem verschiedene [[Linux-Distribution]]en, mit [[32-Bit-Architektur|32-Bit]]- und [[64-Bit-Architektur|64-Bit]]-Systemversionen.</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 C-Code, den Cython generiert, ist weitgehend portabel bezüglich Plattformen (Prozessor, C-Compiler und Betriebssystem) und CPython-Versionen. Aktuell (Version 0.28.5) werden die CPython-Versionen 2.6 und 2.7 sowie alle von 3.3 an unterstützt. Getestete Plattformen sind unter anderem [[macOS]], [[Microsoft <ins style="font-weight: bold; text-decoration: none;">Windows|</ins>Windows]] und vor allem verschiedene [[Linux-Distribution]]en, mit [[32-Bit-Architektur|32-Bit]]- und [[64-Bit-Architektur|64-Bit]]-Systemversionen.</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>== Eigenschaften ==</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>== Eigenschaften ==</div></td>
</tr>
<tr>
<td colspan="2" class="diff-lineno">Zeile 46:</td>
<td colspan="2" class="diff-lineno">Zeile 46:</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>Die wichtigsten Anwendungsgebiete von Cython sind die Anbindung von externen Bibliotheken an den CPython-Interpreter, sowie die Beschleunigung von Python-Code, insbesondere in mathematischen Berechnungen und rechenintensiven [[Algorithmus|Algorithmen]].</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>Die wichtigsten Anwendungsgebiete von Cython sind die Anbindung von externen Bibliotheken an den CPython-Interpreter, sowie die Beschleunigung von Python-Code, insbesondere in mathematischen Berechnungen und rechenintensiven [[Algorithmus|Algorithmen]].</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>Beispielsweise basiert das Computeralgebrasystem [[Sage (<del style="font-weight: bold; text-decoration: none;">Computeralgebrasystem</del>)|SageMath]] zu einem großen Teil auf Cython-Code. Dieser dient sowohl zur Implementierung mathematischer Algorithmen, als auch zur Anbindung externen Codes in C, C++ und Fortran. Cython unterstützt zudem eine sehr effiziente Interaktion mit [[NumPy]]-[[Matrix (Mathematik)|Matrizen]], was darauf basierende Berechnungen stark vereinfacht.</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>Beispielsweise basiert das Computeralgebrasystem [[Sage (<ins style="font-weight: bold; text-decoration: none;">Software</ins>)|SageMath]] zu einem großen Teil auf Cython-Code. Dieser dient sowohl zur Implementierung mathematischer Algorithmen, als auch zur Anbindung externen Codes in C, C++ und Fortran. Cython unterstützt zudem eine sehr effiziente Interaktion mit [[NumPy]]-[[Matrix (Mathematik)|Matrizen]], was darauf basierende Berechnungen stark vereinfacht.</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>Die High-Performance-[[Extensible Markup Language|XML]]-Bibliothek lxml ist größtenteils in Cython implementiert. Dabei werden die externen C-Bibliotheken [[libxml2]] und libxslt an den Python-Interpreter angebunden.</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>Die High-Performance-[[Extensible Markup Language|XML]]-Bibliothek lxml ist größtenteils in Cython implementiert. Dabei werden die externen C-Bibliotheken [[libxml2]] und libxslt an den Python-Interpreter angebunden.</div></td>
</tr>
</table>
Trustable
https://de.wikipedia.org/w/index.php?title=Cython&diff=185867201&oldid=prev
86.111.159.216: /* Namensherkunft */
2019-02-20T12:49:30Z
<p><span class="autocomment">Namensherkunft</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 20. Februar 2019, 14:49 Uhr</td>
</tr><tr>
<td colspan="2" class="diff-lineno">Zeile 22:</td>
<td colspan="2" class="diff-lineno">Zeile 22:</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>== Namensherkunft ==</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>== Namensherkunft ==</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 Name '''Cython''' ist <del style="font-weight: bold; text-decoration: none;">eine</del> <del style="font-weight: bold; text-decoration: none;">Namenszusammenfassung</del> der beiden zugrunde liegenden Programmiersprachen: Python und C.</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 Name '''Cython''' ist <ins style="font-weight: bold; text-decoration: none;">ein</ins> <ins style="font-weight: bold; text-decoration: none;">[[Kofferwort]]</ins> der beiden zugrunde liegenden Programmiersprachen: Python und C.</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>== Ziele ==</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>== Ziele ==</div></td>
</tr>
</table>
86.111.159.216
https://de.wikipedia.org/w/index.php?title=Cython&diff=184352121&oldid=prev
Invisigoth67: form
2019-01-03T18:40:15Z
<p>form</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 3. Januar 2019, 20:40 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 Programmiersprache</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 Programmiersprache</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 = Cython</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 = Cython</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 = [[<del style="font-weight: bold; text-decoration: none;">File</del>:Cython-logo.svg|frameless]]</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 = [[<ins style="font-weight: bold; text-decoration: none;">Datei</ins>:Cython-logo.svg|frameless]]</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>|Paradigma = multiparadigmatisch</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>|Paradigma = multiparadigmatisch</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>|Erscheinungsjahr = 2007</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>|Erscheinungsjahr = 2007</div></td>
</tr>
<tr>
<td colspan="2" class="diff-lineno">Zeile 8:</td>
<td colspan="2" class="diff-lineno">Zeile 8:</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>|AktuelleVersionFreigabeDatum = <!-- Wikidata --></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>|AktuelleVersionFreigabeDatum = <!-- Wikidata --></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>|Typisierung = [[Starke Typisierung|stark]], [[Statische Typisierung|statisch]], [[Dynamische Typisierung|dynamisch]] („[[Duck-Typing]]“)</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>|Typisierung = [[Starke Typisierung|stark]], [[Statische Typisierung|statisch]], [[Dynamische Typisierung|dynamisch]] („[[Duck-Typing]]“)</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>|Beeinflusst_von = [[<del style="font-weight: bold; text-decoration: none;">Python_</del>(Programmiersprache)|Python]], [[<del style="font-weight: bold; text-decoration: none;">C_</del>(Programmiersprache)|C]], [[C++]]</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>|Beeinflusst_von = [[<ins style="font-weight: bold; text-decoration: none;">Python </ins>(Programmiersprache)|Python]], [[<ins style="font-weight: bold; text-decoration: none;">C </ins>(Programmiersprache)|C]], [[C++]]</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>|Website = [http://cython.org/ cython.org]</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>|Website = [http://cython.org/ cython.org]</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>}}</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 colspan="2" class="diff-lineno">Zeile 27:</td>
<td colspan="2" class="diff-lineno">Zeile 27:</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 Cython-Projekt hat sich zum Ziel gesetzt, einen Compiler für normalen Python-Code zu entwickeln,<ref> {{Webarchiv|text=Kompatibilität zu Python 2 ist erklärtes Ziel für die zukünftige Cython-Version 1.0 |url=http://wiki.cython.org/FAQ |wayback=20110810144810 |archiv-bot=2018-04-05 06:30:06 InternetArchiveBot }}</ref> der durch zusätzliche (explizite) statische Typisierung eine möglichst hohe Performance und eine weitreichende Integration mit Code bietet, der in C, C++ und Fortran geschrieben ist.</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 Cython-Projekt hat sich zum Ziel gesetzt, einen Compiler für normalen Python-Code zu entwickeln,<ref> {{Webarchiv|text=Kompatibilität zu Python 2 ist erklärtes Ziel für die zukünftige Cython-Version 1.0 |url=http://wiki.cython.org/FAQ |wayback=20110810144810 |archiv-bot=2018-04-05 06:30:06 InternetArchiveBot }}</ref> der durch zusätzliche (explizite) statische Typisierung eine möglichst hohe Performance und eine weitreichende Integration mit Code bietet, der in C, C++ und Fortran geschrieben ist.</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>Cython ist ein optimierender Compiler, jedoch nicht im gängigen Sinne eines Compilers, der [[Binärcode]] erzeugt. Vielmehr erlaubt es die Übersetzung in C-Code, viele grundlegende [[Compiler#<del style="font-weight: bold; text-decoration: none;">Programmoptimierung_.28ausf.C3.BChrlich.29</del>|Optimierungen und Plattform-Anpassungen]] einem C-Compiler zu überlassen. So kann sich der Cython-Compiler selbst auf High-Level-Optimierungen auf [[<del style="font-weight: bold; text-decoration: none;">Abstract_Syntax_Tree</del>|AST]]-Ebene beschränken.</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>Cython ist ein optimierender Compiler, jedoch nicht im gängigen Sinne eines Compilers, der [[Binärcode]] erzeugt. Vielmehr erlaubt es die Übersetzung in C-Code, viele grundlegende [[Compiler#<ins style="font-weight: bold; text-decoration: none;">Programmoptimierung (ausführlich)</ins>|Optimierungen und Plattform-Anpassungen]] einem C-Compiler zu überlassen. So kann sich der Cython-Compiler selbst auf High-Level-Optimierungen auf [[<ins style="font-weight: bold; text-decoration: none;">Abstract Syntax Tree</ins>|AST]]-Ebene beschränken.</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>Der C-Code, den Cython generiert, ist weitgehend portabel bezüglich Plattformen (Prozessor, C-Compiler und Betriebssystem) und CPython-Versionen. Aktuell (Version 0.28.5) werden die CPython-Versionen 2.6 und 2.7 sowie alle von 3.3 an unterstützt. Getestete Plattformen sind unter anderem [[macOS]], [[Microsoft Windows]] und vor allem verschiedene [[Linux-Distribution]]en, mit [[32-Bit-Architektur|32-Bit]]- und [[64-Bit-Architektur|64-Bit]]-Systemversionen.</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 C-Code, den Cython generiert, ist weitgehend portabel bezüglich Plattformen (Prozessor, C-Compiler und Betriebssystem) und CPython-Versionen. Aktuell (Version 0.28.5) werden die CPython-Versionen 2.6 und 2.7 sowie alle von 3.3 an unterstützt. Getestete Plattformen sind unter anderem [[macOS]], [[Microsoft Windows]] und vor allem verschiedene [[Linux-Distribution]]en, mit [[32-Bit-Architektur|32-Bit]]- und [[64-Bit-Architektur|64-Bit]]-Systemversionen.</div></td>
</tr>
<tr>
<td colspan="2" class="diff-lineno">Zeile 34:</td>
<td colspan="2" class="diff-lineno">Zeile 34:</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>Die Kombination von Python und C erlaubt Cython ein sehr breites Anforderungsspektrum abzubilden. Möglich ist sowohl High-Level-Programmierung mit Python-Datentypen, -Sprachkonstrukten und automatischer Speicherverwaltung, als auch eine sehr C-nahe Programmierung mit C-Datentypen, C-Funktionen und manueller Speicherverwaltung. Beides kann beliebig kombiniert werden und die Interaktion mit reinem (unkompilierten) Python-Code ist ebenso nativ möglich wie die Interaktion mit C- oder C++-Code, was bei der Optimierung von Cython-Code ein sehr feingranulares Vorgehen ermöglicht. Beliebige Teile des Codes können in reinem Python geschrieben, mit Cython kompiliert, mit statischen Datentypen optimiert oder sogar nach C portiert werden, je nach Anforderung. Dadurch unterstützt Cython sehr gut das Prinzip, dass der größte Teil der Laufzeit eines Programms in einem sehr kleinen Teil des [[Quelltext]]es entsteht, also die Optimierung eines kleinen Programmteils einen sehr großen Performancegewinn bringen kann, während bei dem größten Teil des Codes eine hohe Entwicklungsgeschwindigkeit und ein geringer Wartungsaufwand wichtiger sind als eine größtmögliche Ausführungsgeschwindigkeit.</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>Die Kombination von Python und C erlaubt Cython ein sehr breites Anforderungsspektrum abzubilden. Möglich ist sowohl High-Level-Programmierung mit Python-Datentypen, -Sprachkonstrukten und automatischer Speicherverwaltung, als auch eine sehr C-nahe Programmierung mit C-Datentypen, C-Funktionen und manueller Speicherverwaltung. Beides kann beliebig kombiniert werden und die Interaktion mit reinem (unkompilierten) Python-Code ist ebenso nativ möglich wie die Interaktion mit C- oder C++-Code, was bei der Optimierung von Cython-Code ein sehr feingranulares Vorgehen ermöglicht. Beliebige Teile des Codes können in reinem Python geschrieben, mit Cython kompiliert, mit statischen Datentypen optimiert oder sogar nach C portiert werden, je nach Anforderung. Dadurch unterstützt Cython sehr gut das Prinzip, dass der größte Teil der Laufzeit eines Programms in einem sehr kleinen Teil des [[Quelltext]]es entsteht, also die Optimierung eines kleinen Programmteils einen sehr großen Performancegewinn bringen kann, während bei dem größten Teil des Codes eine hohe Entwicklungsgeschwindigkeit und ein geringer Wartungsaufwand wichtiger sind als eine größtmögliche Ausführungsgeschwindigkeit.</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>Die Programmiersprache erreicht die Sprachintegration zwischen Python und C vor allem über Datentypen. So können verschiedene Python-Sprachkonstrukte sowohl auf Python-Datentypen als auch auf C-Datentypen angewendet werden. Ein Beispiel ist die 'for'-Schleife, die in Python eine [[Foreach#<del style="font-weight: bold; text-decoration: none;">Die_Foreach</del>-Schleife|Foreach-Schleife]] ist, also über beliebige iterierbare Container laufen kann (z.&nbsp;B. Listen oder Dateien). In Cython kann diese Schleife zudem über C++-Listen, C-Arrays und Teilarrays laufen, sowie über Pointer-Abschnitte (Slices<ref>[http://docs.python.org/glossary.html#term-slice Slices] auf docs.python.org, abgerufen am <del style="font-weight: bold; text-decoration: none;">02.08</del>.2018</ref>, z.&nbsp;B. <code>ptr[2:8]</code> für die Offsets 2–7). Daneben erfolgt eine automatische Konvertierung zwischen verschiedenen Python-Datentypen und C-Datentypen, sowohl bei Skalartypen (Zahlen) als auch bei Zeichenketten und strukturierten Datentypen (z.&nbsp;B. C-Struct-Typen und Python-Dictionaries).</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>Die Programmiersprache erreicht die Sprachintegration zwischen Python und C vor allem über Datentypen. So können verschiedene Python-Sprachkonstrukte sowohl auf Python-Datentypen als auch auf C-Datentypen angewendet werden. Ein Beispiel ist die 'for'-Schleife, die in Python eine [[Foreach#<ins style="font-weight: bold; text-decoration: none;">Die Foreach</ins>-Schleife|Foreach-Schleife]] ist, also über beliebige iterierbare Container laufen kann (z.&nbsp;B. Listen oder Dateien). In Cython kann diese Schleife zudem über C++-Listen, C-Arrays und Teilarrays laufen, sowie über Pointer-Abschnitte (Slices<ref>[http://docs.python.org/glossary.html#term-slice Slices] auf docs.python.org, abgerufen am <ins style="font-weight: bold; text-decoration: none;">2</ins>.<ins style="font-weight: bold; text-decoration: none;"> August </ins>2018</ref>, z.&nbsp;B. <code>ptr[2:8]</code> für die Offsets 2–7). Daneben erfolgt eine automatische Konvertierung zwischen verschiedenen Python-Datentypen und C-Datentypen, sowohl bei Skalartypen (Zahlen) als auch bei Zeichenketten und strukturierten Datentypen (z.&nbsp;B. C-Struct-Typen und Python-Dictionaries).</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>== Performance ==</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>== Performance ==</div></td>
</tr>
</table>
Invisigoth67