GraalVM: Virtuelle Maschine der besonderen Art

Eine neue Architektur für virtuelle Maschinen: Das ist es, was Oracle mit der GraalVM verspricht. Das 1.0 Release dieser Software wurde nun offiziell freigegeben.

 –  61 Kommentare
GraalVM: Virtuelle Maschine der besonderen Art

Die Verfügbarkeit des Releases 1.0 der virtuellen Maschine GraalVM hat das Entwicklerteam rund um Thomas Wuerthinger nun bekanntgegeben. Diese VM soll eine besonders hohe Performance für alle Programmiersprachen bieten können. Ein weiterer Vorteil ist lauf Aussagen der Entwickler der hohe Grad der Interoperabilität: GraalVM erlaubt es beispielsweise, dass Objekte und Arrays direkt von einer fremden Programmiersprache aus genutzt werden können.

Die aktuell vorgestellte Version 1.0 der GraalVM erlaubt es, dass Entwicklern, neben Programmen in JVM-basierten Sprachen wie Java, Scala, Kotlin oder Groovy auch in JavaScript (einschließlich Node.js), LLVM-Bitcode (der beispielsweise von Programmen stammt, die in C, C++ oder Rust geschrieben wurden) entwickelte Programme in dieser virtuellen Maschinen laufen lassen können. Zudem stehen als experimentell bezeichnete Versionen von Ruby, R und Python zur Verfügung, schreiben die Entwickler in einem Beitrag auf dem Entwickler-Blog von Oracle.

GraalVM kann sowohl standalone als auch embedded als Teil einer Plattform wie OpenJDK oder Node.js arbeiten. Auch in einer Datenbank wie MySQL oder der Oracle RDBMS kann die virtuelle Maschine eingebettet laufen. Für Programmiersprachen, die auf JVM basieren, stellte die VM einen Mechanismus bereit, der es Entwicklern erlaubt, vorkompilierte, native Images zu erstellen, die nur sehr wenig Speicher beanspruchen (low memory footprint) und sofort starten sollen.

Als größten Vorteil von GraalVM bezeichnen die Entwickler die Sprachunabhängigkeit (language agnostic) der verschiedenen Tools: So bietet die Core-Installation sowohl einen Debugger als auch einen Profiler und einen Heap Viewer, die diese Fähigkeit besitzen. Ausdrücklich fordern die GraalVM-Macher die Entwickler von Drittanbieter-Tools dazu auf, ihre Werkzeuge zu einem Teil des GraalVM-Ökosystems zu machen, indem sie die Instrumentation-API oder die Language-Implementation-API verwenden.

Wer selbst erste Schritte mit der GraalVM versuchen will, kann diese von der GraalVM-Webseite herunterladen. Dort findet sich neben der Community Edition (CE) auch die Enterprise Edition (EE) der Software. Geschwindigkeit, Sicherheit und Skalierbarkeit der Enterprise Edition sollen die Werte der Community Edition übertreffen. Für Testzwecke kann auch diese Version dann direkt von Oracle heruntergeladen und verwendet werden. Während die Enterprise Edition für Linux und macOS auf x86 64-Bit-Systemen bereitsteht, kann die Community Edition nur auf x86 64-Bit Linux-Systemen eingesetzt werden. Die Community Edition wird als Open-Source-Software zur Verfügung gestellt. Einen guten Einstieg für die ersten Schritte nach dem Download bietet die Getting-Started-Seite der Online-Dokumentation. (fms)