Die Entwickler des Pyston-Projekts, das eine leistungsstarke Implementierung der Programmiersprache Python mit modernen JIT-Compilationstechnologien anbietet, haben die neue Version Pyston 2.2 veröffentlicht und angekündigt, das Projekt wieder als Open Source verfügbar zu machen. Die Implementierung zielt darauf ab, eine hohe Leistung zu erreichen, die der traditionellen Systeme sprach C++ nahekommt. Der Code der Pyston 2-Version ist unter der PSFL (Python Software Foundation License) auf GitHub veröffentlicht, einer Lizenz, die der Lizenz von CPython ähnlich ist.
Erinnern wir uns daran, dass das Pyston-Projekt zuvor von der Firma Dropbox betreut wurde, die 2017 die Finanzierung der Entwicklung eingestellt hat. Die Pyston-Entwickler gründeten ihr eigenes Unternehmen und veröffentlichten eine erheblich überarbeitete Version von Pyston 2, die als stabil und bereit für den breiten Einsatz angekündigt wurde. Dabei wurde die Veröffentlichung des Quellcodes eingestellt, und es werden nur noch Binärversionen bereitgestellt. Jetzt hat man sich entschieden, Pyston erneut zu einem Open-Source-Projekt zu machen und das Unternehmen auf ein Geschäftsmodell umzustellen, das mit der Entwicklung von Open-Source-Software verbunden ist. Darüber hinaus wird die Möglichkeit in Betracht gezogen, Optimierungen aus Pyston in das reguläre CPython zu übertragen.
Es wurde festgestellt, dass Pyston 2.2 in Leistungstests, die auf die Anforderungen typischer Anwendungen abzielen, 30 % schneller ist als die Standardversion von Python. WebserverZusätzlich wurde eine signifikante Steigerung der Leistung von Pyston 2.2 im Vergleich zu früheren Versionen festgestellt, die hauptsächlich durch die Implementierung neuer Optimierungen sowie Verbesserungen von JIT und Caching-Mechanismen erreicht wurde.
Neben der Leistungsoptimierung ist die neue Version auch interessant, da sie Änderungen aus der CPython 3.8.8-Branch integriert. Hinsichtlich der Kompatibilität mit dem Standard-Python wird das Pyston-Projekt als die am besten kompatible Alternative zu CPython präsentiert, da Pyston ein Fork der Hauptcodebasis von CPython ist. Pyston unterstützt alle Funktionen von CPython, einschließlich der C-API zur Entwicklung von Erweiterungen in C. Zu den wichtigsten Unterschieden zwischen Pyston und CPython zählen der Einsatz von DynASM JIT, Inline-Caching und verschiedenen allgemeinen Optimierungen.
Die Änderungen in Pyston 2.2 beinhalten auch die Entfernung vieler Debugging-Funktionen von CPython, die zwar die Leistung beeinträchtigen, aber kaum von Entwicklern genutzt werden. Statistiken zeigen, dass das Entfernen dieser Debugging-Tools die Leistung um 2 % steigert, während nur etwa 2 % der Entwickler diese Funktionen tatsächlich verwenden.
Quelle: opennet.ru
