GraalVM 22.0 belooft betere ontwikkelaarservaring

About

GraalVM 22.0 belooft betere ontwikkelaarservaring

Met de nieuw uitgebrachte versie 22.0 van de door Oracle ontwikkelde GraalVM polyglot runtime, willen de ontwikkelaars van het open source-project de ontwikkelaarservaring verbeteren. Onder andere biedt het verbeteringen voor Ruby, WebAssembly, Java en Python.

Uitgebracht op 24 januari voor JDK 11 en JDK 17 , de meest recente ondersteuningsreleases voor de lange termijn van standaard Java, GraalVM 22.0 Community Edition kunnen worden gedownload van GitHub. Enterprise builds van GraalVM 22.0 zijn verkrijgbaar bij Oracle.

Een belangrijk aandachtspunt van de release is de Native Image-technologie van GraalVM, die Java-code van tevoren compileert in stand-alone uitvoerbare bestanden, waarbij meerdere programmeertalen worden ondersteund. Om het leven van ontwikkelaars gemakkelijker te maken, hebben de ontwikkelaars van GraalVM de afgelopen paar releases gewerkt aan het verkorten van de tijd voor het bouwen van afbeeldingen en het verminderen van het geheugengebruik.

In GraalVM 22.0 zijn wijzigingen aangebracht om de afbeeldingsgrootte te verkleinen, met behulp van een meer gecomprimeerde coderingsmethode voor metadata van stapelframes om de grootte van alle afbeeldingen te verkleinen. In de GraalVM Enterprise-editie gaat een geoptimaliseerde implementatie van String.format() nog verder, met de mogelijkheid om lokalisatieklassen onbereikbaar te maken om de afbeeldingsgrootte aanzienlijk te verkleinen.

GraalVM 22.0 verandert ook de build-output voor Native Image, die nu het bouwproces in fasen opsplitst en de huidige fase visualiseert, met code- en heap-uitsplitsingen en statistieken van de build. Daarnaast werd de Native Build Tools technologie voor GraalVM voorzien van verbeteringen zoals een betere integratie met de native agent.

GraalVM 22.0 verandert ook de manier waarop de compiler omgaat met profileringsinformatie. Ontworpen als een optimaliserende JIT-compiler, kan de compiler overschakelen naar een AOT-modus (vooruit), waar grote optimalisaties een redelijk werk kunnen doen, zelfs bij afwezigheid van profielen. Dit helpt Truffle -talen in gevallen waarin niet-geprofileerde patronen hot worden, en in Native Image zonder profielgestuurde optimalisaties.

Andere verbeteringen in GraalVM 22.0:

  • Voor Java en de compiler converteert een nieuwe optimalisatie van de lusrotatie niet-getelde lussen naar getelde lussen om te profiteren van optimalisaties zoals vectorisering en gedeeltelijk uitrollen. Deze optimalisatie is standaard uitgeschakeld.
  • In de Enterprise-editie maken polyglot isolaten en andere functies heap-isolatie mogelijk tussen de host- en gastapplicaties. Isolaten verbeteren de opstart-, beveiligings- en opwarmtijden voor Truffle-talen.
  • De ECMAScript 2022-modus is standaard ingeschakeld.
  • Auxiliary Engine Caching in JavaScript en Node.js in native modus elimineert het opwarmen van programma’s. Opwarmen komt van bewerkingen zoals laden en parseren.
  • De WebAssembly-runtime gebruikt nu de Truffle Frame API.
  • Voor Python blijven GraalVM-bouwers werken aan compatibiliteit van de GraalVM Python-runtime en uitbreiding van moduleondersteuning, met ondersteuning voor pyexpaten _csvmodules.
  • Ruby 3.0- ondersteuning is toegevoegd. Ruby-interpretatie is ook sneller.

 

 

Share
June 2024
July 2024
No event found!

Related Topics