Open Source
17.11.2021, 06:29 Uhr
Pyjion: Compiler für schnelleres Python
Pyjion, ein Just-in-Time-Compiler für Python, das den Code zur .NET-6-Runtime kompiliert, ist jetzt in Version 1.0 verfügbar.
Pyjion wurde von Anthony Shaw, einem Mitarbeiter der Python Software Foundation und Microsoft-Mitarbeiter als Fork der ursprünglichen Microsoft-Codebasis entwickelt. Pyjion ist keine eigenständige Laufzeitumgebung wie PyPy, sondern eine installierbare Bibliothek, die unter Python 3.10 läuft. Nach der Installation kann Pyjion in einem Programm verwendet werden, indem einfach die Pyjion-Bibliothek importiert und aktiviert wird. Alles, was danach läuft, wird JIT-kompiliert.
Pyjion kompiliert die Opcodes der virtuellen Maschine Python mit Hilfe des .NET EE-Compilers in Assemblersprache. Benchmarks, die vom Entwickler-Team durchgeführt wurden, ergaben, dass Pyjion in der Praxis etwa zwei- bis dreimal schneller ist als normales Python. Einige der Optimierungen sollen Geschwindigkeitssteigerungen bis zum zehnfachen möglich machen.
Wichtig: Auch in Version 1.0 sind einige Python-Funktionen noch nicht in Pyjion implementiert, wie beispielsweise Blöcke und async/await. Die bekannten Limitierungen sammelt diese Webseite. Pyjion erfordert neben .NET 6 auch CPython 3.10. Weitere Informationen zu Pyjion sowie eine Möglichkeit es zu laden und auszuprobieren finden Sie unter trypyjion.com. Die Sourcen sind auf GitHub abgelegt. In der dortigen Readme-Datei erklärt Anthony Shaw wie man mit Pyjion umgeht und beantwortet die häufigsten Fragen.