Noticias Programación

Lanzamiento de GraalVM 21.3

GraalVM, el tiempo de ejecución que compila el código de bytes de Java en ejecutables nativos independientes y capaz de ejecutar programas en lenguajes distintos de Java, ha llegado a la versión 21.3.

En su mayoría, viene con soporte para Java 17, como tal, hace que todas las nuevas características del lenguaje estén disponibles. Además, a partir de ahora, las distribuciones de la comunidad GraalVM solo estarán basadas en OpenJDK 11 y 17, por lo que la versión de OpenJDK ha quedado obsoleta. Esto también se aplica a GraalVM Enterprise, que se basa en los correspondientes JDK de Oracle.

Esta versión ofrece varias optimizaciones del compilador que aumentan el rendimiento, como Strip Mining Optimization que convierte bucles no contados en contados y Vectorización automatizada avanzada que aprovecha las últimas capacidades de instrucción SIMD disponibles en la plataforma de hardware de destino.
Hemos visto cómo los SIMD pueden cuadriplicar el rendimiento en casos como SimdJSON.

También hubo optimizaciones en el extremo de la imagen nativa:

Configuración de imagen nativa mejorada Recopilación mejorada de metadatos de reflexión por el generador de imagen nativo Tamaño de imagen y tiempo de creación de imagen reducidos. Esto es particularmente beneficioso para aplicaciones grandes como las basadas en Spring Boot y se suma a las mejoras de rendimiento que se logran inmediatamente compilando aplicaciones Spring en imágenes nativas con Spring Native utilizando el compilador de imágenes nativas GraalVM; lanzamiento instantáneo, rendimiento máximo instantáneo y consumo de memoria reducido, ya que las aplicaciones nativas de Spring se implementan como un ejecutable independiente (imagen de la ventana acoplable) sin incluir una instalación de JVM.

El extremo Polyglot Runtime, bajo el cual puede escribir programas políglotas (como llamar a JavaScript desde una aplicación Java) en JavaScript, Ruby, R, Python y lenguajes nativos usando LLVM (los llamados lenguajes «Truffle», que son los lenguajes Cuyos intérpretes se implementan con el marco Truffle), también se ha modificado. Algunos de estos cambios son:

Java
Se agregó compatibilidad con el huésped de Java 17 y el host de JavaScript
Nodo actualizado. js a la versión 14. 17. 6 e implementó la causa de falla propuesta. Está disponible detrás de la opción experimental –js. causa-error. Rubí
TRegex ahora se usa de forma predeterminada, lo que proporciona una gran aceleración para la coincidencia de expresiones regulares. Pitón
Se implementó un backend compatible con binarios para HPy 0. 0. 3, que permite que los paquetes de HPy se ejecuten sin modificaciones en CPython y GraalVM Python. Esto es parte de un esfuerzo continuo para hacer que más paquetes estén disponibles para los usuarios sin que tengan que compilarlos específicamente para GraalPython. R.
Actualizado de PCRE a PCRE2 versión 10.37. Tiempo de ejecución de LLVM
Se actualizó la cadena de herramientas LLVM para compilar C / C ++ a la versión 12.0.1. WebAssembly
Mejora de la implementación interna de GraalVM WebAssembly para hacer que la API de la interfaz JS-WebAssembly sea más compatible.

Finalmente, en lo que respecta al soporte de herramientas, se han agregado numerosas refactorizaciones al VS Code GraalVM Extension Pack para Java y las herramientas GraalVM para Micronaut Extension.

GraalVM está disponible en dos versiones. La edición Enterprise es gratuita para evaluación y desarrollo con rendimiento, escalabilidad y seguridad adicionales sobre la edición comunitaria, mientras que Community es gratuita para todos los propósitos y ejecuta cualquier programa que se ejecute en GraalVM Enterprise.

Publicidad:

Publicidad:

También puede gustarte...