Digital Eliteboard - Das Digitale Technik Forum

Registriere dich noch heute kostenloses um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereiche, welche für Gäste verwehrt bleiben

Hardware & Software Virtuelle Maschine GraalVM 22.0 verkleinert Images, setzt auf GitHub Actions

Die neue Version setzt die Verkleinerung nativer Images fort, erhebt die neue Garbage Collection Policy zum Standard und bringt eine offizielle GitHub Action.

1643210532464.png

Oracle hat GraalVM 22.0 veröffentlicht. Das aktuelle Release der virtuellen Maschine bringt eine Anbindung an GitHub Actions und arbeitet weiter an der Verkleinerung nativer Images, aber auch für Programmiersprachen jenseits von Java gibt es einige Neuerungen. So aktiviert Version 22.0 für JavaScript den ECMAScript 2022-Modus standardmäßig und erhöht die Node.js-Laufzeit auf Version 14.18.1. Die Ruby-Version erreicht unterdessen 3.0 und in Python lassen sich nun die Module pyexpat sowie _csv verwenden.

Die virtuelle Maschine GraalVM basiert auf der HotSpot Java Virtual Machine (JVM), fügt jedoch zusätzliche Komponenten wie einen Just-in-Time-Compiler (JIT) hinzu. Sie soll die Ausführung von in Java und anderen JVM-Sprachen geschriebenen Anwendungen beschleunigen. Dabei ist sie jedoch nicht auf diese Sprachen begrenzt, sondern lässt sich durch das Language Implementation Framework Truffle auch beispielsweise mit JavaScript, Ruby oder Python nutzen. Auch soll es möglich sein, innerhalb einer Anwendung verschiedene Sprachen zu kombinieren.

Schlankere und speichersparende native Images​


Bereits das vorige Release
Du musst dich Anmelden oder Registrieren um diesen link zusehen!
. Diese bietet GraalVM als Alternative zum Ausführen von Bytecode in der klassischen JVM und setzt dafür auf einen AOT-Compiler (Ahead-of-Time). Das aktuelle Release 22.0 setzt die begonnene Arbeit fort und soll die Images weiter verkleinern, indem es ein komprimierteres Encoding für Stack-Frame-Metadaten einführt. In der Enterprise-Edition soll zudem laut Herausgebern eine veränderte Implementierung von String.format() zu einer weiteren Verkleinerung beitragen. Diese Neuerung soll Lokalisierungsklassen für kleine Images wie "Hello World" unzugänglich machen.

Daneben widmet sich GraalVM 22.0 den Speicheranforderungen nativer ausführbarer Dateien. Das Ausführen nativer Images erfolgt in GraalVM auf dem mitgelieferten Laufzeitsystem, das alle benötigten Komponenten inklusive der Speicherverwaltung enthält. Die in der Vorversion 21.3 erstmals eingeführte
Du musst dich Anmelden oder Registrieren um diesen link zusehen!
für den Serial Garbage Collector (Serial GC) ist nun standardmäßig aktiviert, was die maximale RSS-Größe (Resident Set Size) von nativen ausführbaren Dateien um bis zu 30 Prozent reduzieren soll.

GitHub Action für GraalVM​


Das GraalVM-Team hat
Du musst dich Anmelden oder Registrieren um diesen link zusehen!
ins Leben gerufen. Mit GitHub Actions lassen sich Workflows der Softwareentwicklung automatisieren, beispielsweise für CI/CD (Continuous Integration/Continuous Delivery), und verschiedene Actions lassen sich zu einem benutzerdefinierten Workflow kombinieren. Die neue GitHub Action für GraalVM dient dem Aufsetzen der GraalVM Community Edition und unterstützt GraalVM-Features wie native Images und Truffle-Sprachen. Sie exportiert eine $GRAALVM_HOME-Umgebungsvariable und setzt $JAVA_HOME standardmäßig auf $GRAALVM_HOME, was das Erstellen, Testen und Deployen von Anwendungen erlaubt. Da die GitHub Action die $PATH-Umgebungsvariable erweitert, ist der direkte Aufruf von Truffle-Sprachen und -Tools möglich.

Du musst dich Anmelden oder Registrieren um diesen link zusehen!
zeigt ein Beispiel für den Einsatz der GitHub Action in einem Workflow:

steps:
- uses: actions/checkout@v2
- uses: graalvm/setup-graalvm@v1
with:
version: '22.0.0.2'
java-version: '17'
components: 'native-image'
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Example step
run: |
echo "GRAALVM_HOME: $GRAALVM_HOME"
echo "JAVA_HOME: $JAVA_HOME"
java --version
native-image --version

Installationshinweise und Roadmap​

GraalVM 22.0 ist mit JDK 11 und JDK 17 kompatibel und steht als
Du musst dich Anmelden oder Registrieren um diesen link zusehen!
sowie
Du musst dich Anmelden oder Registrieren um diesen link zusehen!
zum Download bereit. Daneben sind GraalVM-Upgrades für macOS via
Du musst dich Anmelden oder Registrieren um diesen link zusehen!
und Visual Studio Code in Form der Erweiterung
Du musst dich Anmelden oder Registrieren um diesen link zusehen!
verfügbar.

Du musst dich Anmelden oder Registrieren um diesen link zusehen!
soll der 22.x-Zweig in jedem Quartal des Jahres 2022 ein neues Feature-Release erhalten, demnach insgesamt vier. Als Maintenance Release gilt das vierte Feature-Release, das für die kommenden achtzehn Monate Bugfixes erhält. Das aktuelle Release mit Long-Term Support (LTS) ist
Du musst dich Anmelden oder Registrieren um diesen link zusehen!
, das nächste geplante LTS-Release soll die für Oktober 2023 geplante Version 23.3 sein.

Alle weiteren Informationen zur aktuellen Version GraalVM 22.0
Du musst dich Anmelden oder Registrieren um diesen link zusehen!
.

Quelle: heise.de
 
Zurück
Oben