La puesta al día Ruby 4.0 trae ZJIT, funciones de aislamiento y más

El jerga de programación Ruby continúa su tradición de ofrecer actualizaciones importantes el día de Navidad, anunciando el extensión de Ruby 4.0.0, que introduce dos nuevas características experimentales masivas: el mecanismo de aislamiento conocido como Ruby Box y el compilador preciso a tiempo de próxima engendramiento, ZJIT.

El anciano cambio arquitectónico que llega con la interpretación 4.0 es definitivamente Ruby Box. Esta nueva característica práctico tiene una separación estricta para las definiciones cargadas internamente del cuadro. Si alguna vez ha luchado con problemas complejos de dependencia o ha tenido un parche de simio opuesta que arruinó su entorno integral, sabe lo crucial que puede ser el aislamiento. Las definiciones cargadas internamente de Ruby Box están aisladas de otras cajas, lo que significa que pueden separar cambios de variables globales o de clase, definiciones de clases e incluso bibliotecas nativas cargadas.

El equipo de Ruby sugiere usar cuadros para ejecutar casos de prueba en los que es posible que necesite parches de simio sin preocuparse de que esos cambios se filtren y afecten a otras pruebas. Asimismo puede utilizar esta característica como cojín para implementar estrategias de implementación azul-verde en un servidor de aplicaciones, ejecutando cajas de aplicaciones web paralelas en un único proceso Ruby. Esta es una API potente de bajo nivel y espero ver que las herramientas de distribución de paquetes de detención nivel la utilicen en gran medida en el futuro.

En cuanto al rendimiento, los desarrolladores ya están mirando más allá de YJIT con la preparación de ZJIT, un nuevo compilador preciso a tiempo. ZJIT está diseñado para ser el sucesivo paso delante en el rendimiento de Ruby, apuntando a un techo de rendimiento mucho más detención mediante el uso de fundamentos como SSA IR y unidades de compilación más grandes. El equipo incluso está intentando hacer de ZJIT un compilador de métodos más tradicional, lo que debería fomentar más contribuciones externas de expertos en optimización.

En este momento, ZJIT todavía es mucho práctico. Si aceptablemente es considerablemente más rápido que el intérprete habitual de Ruby, aún no ha apurado a YJIT. Yo diría que el anciano problema es que no deberías entregarse en manos en él para cargas de trabajo de producción todavía, pero ciertamente puedes constatar con él ahora si tienes instalado Rust 1.85.0 o una interpretación más fresco para compilarlo. Tendremos que esperar hasta Ruby 4.1 para ver si ZJIT positivamente se convierte en el campeón de rendimiento al que aspira el equipo.

Más allá de las nuevas características experimentales, estamos viendo mejoras significativas en la estabilidad y el rendimiento de Ractor, el mecanismo de ejecución paralela de Ruby. Ractor se introdujo como práctico en Ruby 3.0 y el equipo está trabajando para eliminar esa formalidad el próximo año. La puesta al día incluye importantes optimizaciones internas diseñadas para mejorar el paralelismo. Los ractores ahora comparten menos datos internos, lo que reduce la contención de la memoria distinción de la CPU cuando se ejecutan varios subprocesos simultáneamente.

El mecanismo de sincronización de Ractor incluso se ha actualizado con la preparación de una nueva clase citación Ractor::Port. Esta clase proporciona métodos explícitos como receive y send para la comunicación entre Ractors. Esta aditamento da como resultado la matanza de métodos más antiguos y menos intuitivos como Ractor.yield y Ractor#take. Los desarrolladores incluso obtienen nuevos métodos como Ractor#join y Ractor#valueque reflejan el comportamiento llano de los subprocesos cuando esperan que finalice un Ractor. el nuevo Ractor.shareable_proc Asimismo facilita mucho el paso de la deducción entre unidades de ejecución paralelas.

Ruby 4.0 incluso trae varias actualizaciones de calidad de vida para el jerga principal y las clases integradas. Por ejemplo, el jerga ahora permitirá operadores binarios lógicos como && o || para continuar la linde precursor si aparecen al principio de una nueva linde, de forma similar a cómo funciona el cámara de punto fluido.

Una característica que positivamente me gusta es la prosperidad de ErrorHighlight. cuando un ArgumentError se genera, el depurador ahora muestra fragmentos de código tanto para la citación al método como para la definición del método. Esta característica es enorme para la depuración, ya que le permite ver instantáneamente dónde se pasó la cantidad incorrecta de argumentos y dónde se definió el método, todo en un solo fragmento claro.

Las clases principales incluso recibieron una puesta al día centrada en la privacidad. El Kernel#inspect El método ahora averiguación un método privado llamado instance_variables_to_inspect. Adicionalmente, dos componentes de uso global, Pathname y Setestán siendo promovidos de gemas predeterminadas a clases principales.

Esta es una gran puesta al día, pero eso es lo que se paciencia de la interpretación 4.0; Puede obtener el zaguero archivo tarball o zip desde el sitio oficial hoy.

Fuente: Rubí

Related Posts

Un veredicto de seguridad importante podría afectar a 1 de cada 4 teléfonos Android: aquí te explicamos cómo comprobar el tuyo

Kerry Wan/ZDNET Siga ZDNET: Agréganos como fuente preferida en Google. Conclusiones secreto de ZDNET Los investigadores han contrario una descompostura en un chip global en los teléfonos Android. La descompostura…

Respuestas del mini crucigrama del NYT de hoy para el 12 de marzo

Buscando el mas fresco ¿Respuesta del mini crucigrama? Haga clic aquí para obtener las sugerencias de mini crucigramas de hoy, así como nuestras respuestas y sugerencias diarias para los acertijos…

You Missed

Radhamés Jiménez dice que el PRM es una “plaga” y cuestiona que con petróleo más módico no bajaran los combustibles

Radhamés Jiménez dice que el PRM es una “plaga” y cuestiona que con petróleo más módico no bajaran los combustibles

Un veredicto de seguridad importante podría afectar a 1 de cada 4 teléfonos Android: aquí te explicamos cómo comprobar el tuyo

Un veredicto de seguridad importante podría afectar a 1 de cada 4 teléfonos Android: aquí te explicamos cómo comprobar el tuyo

Director del Intabaco asiste a recibimiento Fiesta Doméstico de Japón | AlMomento.net

Director del Intabaco asiste a recibimiento Fiesta Doméstico de Japón | AlMomento.net

Eduardo Sanz Lovatón ardor a la dispositivo frente a impacto de la querella en Irán en precio petróleo

Eduardo Sanz Lovatón ardor a la dispositivo frente a impacto de la querella en Irán en precio petróleo

Más de vigésimo muertos y cincuenta heridos en nuevos ataques de Israel contra el Líbano

Más de vigésimo muertos y cincuenta heridos en nuevos ataques de Israel contra el Líbano

Gobierno de Panamá investiga homicidio de mandril araña por tuberculosis contagiada por humano

Gobierno de Panamá investiga homicidio de mandril araña por tuberculosis contagiada por humano