Software

Ruby 2.6 integra nuevo compilador JIT, 1.7 veces mas rápido

Al igual que el año pasado con la versión 2.5, el equipo de Ruby acaba de anunciar la disponibilidad de la versión estable de Ruby 2.6 en estas vacaciones de Navidad. Un regalo muy bonito para los usuarios asiduos de esta aplicación.

El equipo de Ruby anuncia la integración de un nuevo compilador de Just-In-Time (JIT)

Ruby 2.6

En esta nueva versión del lenguaje multiplataforma, el equipo de Ruby anuncia la integración de un nuevo compilador de Just-In-Time (JIT). La compilación JIT, también conocida como compilación dinámica o compilación sobre la marcha, generalmente se implementa para mejorar el rendimiento de un programa cuando se ejecuta. Para ello, el compilador JIT traduce primero el código fuente del programa a bytecode, y luego, en un segundo paso, transforma el bytecode en código nativo en tiempo de ejecución. Debe tenerse en cuenta que el bytecode se compilará en código nativo de acuerdo con la frecuencia de llamada de este código. Los bytecodes más utilizados se compilarán previamente en código máquina nativo para mejorar el rendimiento del programa ejecutado.

Ruby 2.6

Con respecto al nuevo compilador JIT de Ruby, el equipo de Ruby explica que, a diferencia de los compiladores JIT tradicionales que trabajan en proceso, el compilador JIT de Ruby escribe código C en el disco y utiliza un compilador C común para generar código nativo. Según los ‘testers’ de Ruby 2.6, las pruebas de evaluación mostraron que los códigos compilados con el nuevo compilador JIT eran aproximadamente 1,7 veces más rápidos para cargas de trabajo con uso intensivo de CPU, siempre comparándolo con Ruby 2.5. Sin embargo, la ganancia de rendimiento obtenida con este nuevo compilador JIT no puede aplicarse también a las aplicaciones web. Todavía hay que seguir trabajando. Además, dado que todavía hay que hacer parches y mejoras, el compilador JIT ha sido desactivado por defecto y relegado a la fase experimental.

Junto a este nuevo compilador que aterrizó en esta última versión de Ruby 2.6, un nuevo módulo RubyVM::AbstractSyntaxTree que analiza una cadena de caracteres dada como código Ruby y devuelve nodos de árbol de sintaxis abstracta (ASA abreviado) ha sido añadido a Ruby 2.6. En detalle, esto se hace por el método parse_file que abre y analiza el archivo dado como código Ruby.

Más allá de estas nuevas características, también tenemos mejoras de rendimiento en varios niveles, como bloques que ahora son 2,6 veces más rápidos que en la versión 2.5 de Ruby o los métodos Fiber.yield y Fiber#resume que son aproximadamente 5 veces más rápidos en Linux de 64 bits.

Pueden descargar esta nueva versión desde el siguiente enlace.

Vía / Developez

Mostrar más

Gustavo Gamarra

Soy operador de PC e instalador de redes informáticas , redactor y escritor en mis ratos libres. Amante de la tecnología, el cine, el fútbol y los videojuegos. Les escribo desde Buenos Aires, Argentina.

Publicaciones relacionadas

Deja un comentario

Los datos de carácter personal que nos facilite mediante este formulario quedarán registrados en un fichero de Miguel Ángel Navas Carrera, con la finalidad de gestionar los comentarios que realizas en este blog. La legitimación se realiza a través del consentimiento del interesado. Si no se acepta no podrás comentar en este blog. Puedes consultar mi política de privacidad. Puede ejercitar los derechos de acceso, rectificación, cancelación y oposición en ayudalinux2016@gmail.com.

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Acepto la política de privacidad *

Bloqueador de anuncios detectado

Por favor, considere ayudarnos desactivando su bloqueador de anuncios