Das Pyston-Projekt, das Python mit einem JIT-Compiler anbietet, ist zu einem offenen Entwicklungsmodell zurückgekehrt

Die Entwickler des Pyston-Projekts, das eine leistungsstarke Implementierung der Python-Sprache mithilfe moderner JIT-Kompilierungstechnologien bietet, stellten eine neue Version von Pyston 2.2 vor und kündigten die Rückkehr des Projekts zur Open Source an. Ziel der Implementierung ist es, eine hohe Leistung zu erreichen, die der traditioneller Systemsprachen wie C++ nahe kommt. Der Code für den Pyston 2-Zweig wird auf GitHub unter der PSFL (Python Software Foundation License) veröffentlicht, ähnlich der CPython-Lizenz.

Erinnern wir uns daran, dass das Pyston-Projekt zuvor von Dropbox überwacht wurde, das 2017 die Finanzierung der Entwicklung einstellte. Die Pyston-Entwickler gründeten ihr Unternehmen und veröffentlichten einen deutlich überarbeiteten Pyston-2-Zweig, der für stabil und bereit für den breiten Einsatz erklärt wurde. Gleichzeitig stellten die Entwickler die Veröffentlichung des Quellcodes ein und gingen dazu über, nur noch binäre Assemblies bereitzustellen. Nun wurde beschlossen, Pyston wieder zu einem Open-Source-Projekt zu machen und das Unternehmen auf ein Geschäftsmodell rund um die Entwicklung von Open-Source-Software umzustellen. Darüber hinaus wird die Möglichkeit geprüft, Optimierungen von Pyston auf Standard-CPython zu übertragen.

Es wurde festgestellt, dass Pyston 2.2 in Leistungstests, die die Belastungen von Webserveranwendungen bewerten, 30 % schneller ist als Standard-Python. Außerdem gibt es in Pyston 2.2 eine deutliche Leistungssteigerung im Vergleich zu früheren Releases, die vor allem durch die Hinzufügung von Optimierungen für neue Bereiche sowie Verbesserungen bei JIT und Caching-Mechanismen erreicht wurde.

Neben Leistungsoptimierungen ist das neue Release auch deshalb interessant, weil es Änderungen aus dem CPython 3.8.8-Zweig übernimmt. Im Hinblick auf die Kompatibilität mit nativem Python wird das Pyston-Projekt als die CPython-kompatibelste alternative Implementierung angepriesen, da Pyston eine Abzweigung der Hauptcodebasis von CPython ist. Pyston unterstützt alle Funktionen von CPython, einschließlich der C-API zum Entwickeln von Erweiterungen in der C-Sprache. Zu den Hauptunterschieden zwischen Pyston und CPython gehört die Verwendung von DynASM JIT, Inline-Caching und allgemeine Optimierungen.

Unter den Änderungen in Pyston 2.2 wird auch die Bereinigung der Codebasis von vielen Debugging-Funktionen von CPython erwähnt, die sich negativ auf die Leistung auswirken, aber bei Entwicklern kaum nachgefragt werden. Statistiken zufolge führt das Entfernen von Debugging-Tools zu einer Geschwindigkeitssteigerung von 2 %, obwohl nur etwa 2 % der Entwickler diese Funktionen nutzen.

Source: opennet.ru

Kommentar hinzufügen