Python auf der GraalVM – eine vielfältige Welt
Bei Python stört sich so manches Entwicklerteam an der Ausführungsgeschwindigkeit. Die Ursache dafür ist, dass die Referenzimplementierung von Python (alias CPython) ein Interpreter ist, der Programme Anweisung für Anweisung ausführt. Ein Interpreter punktet zwar mit sehr guten Startzeiten, die tatsächliche Ausführungsgeschwindigkeit ist aber begrenzt. Das betrifft vor allem Programmcode mit vielen Schleifen und Aufrufen.
Der Just-in-Time-(JIT)-Compiler Graal in der GraalVM verspricht hier Abhilfe. Die Vorteile der JIT-Kompilierung nutzen auch andere Programmiersprachen wie JavaScript und Ruby, die ebenfalls auf der GraalVM ausgeführt werden können. Entwickler*innen haben dadurch die Möglichkeit, Programme zu schreiben, die aus Python-, Ruby- und JavaScript-Code bestehen und dennoch so ausgeführt werden können, als wären sie aus einem Guss. Im Ausführungsmodus Managed Mode, der jeglichen direkten Speicherzugriff verhindert, ist es sogar möglich, C-Erweiterungen voll isoliert auszuführen. Dadurch lassen sich auch große Teile von NumPy und SciKit Learn verwenden, ohne dafür Zugriff auf den nativen Speicher zu benötigen. Für Performanceanalysen und Debugging über Sprachgrenzen hinweg bietet GraalVM zudem Werkzeuge wie etwa die JVisualVM und einen Debugger.
Vorkenntnisse
- Basiskenntnisse zu Java und Python
Lernziele
- Möglichkeiten der neuen GraalVM-Python-Implementierung kennenlernen, insbesondere deren Performance, Kompatibilität und Integrierbarkeit mit Java, C sowie anderen GraalVM-Sprachen