2 puntos por xguru 2023-12-26 | 2 comentarios | Compartir por WhatsApp
  • Se agrega el nuevo parser Prism: un parser descendente recursivo apto para uso en producción. Reemplaza a Ripper
  • El generador de parsers cambia de Bison a Lrama: al ser tolerante a errores, tiene mejor usabilidad, es más fácil de mantener y ofrece un parser universal utilizable por otras herramientas
  • Mejoras de rendimiento en YJIT: aumenta la velocidad y usa menos memoria
  • Se introduce RJIT, un compilador JIT escrito en Ruby puro, que reemplaza a MJIT: solo es compatible con x86-64, pero a diferencia de MJIT no necesita un compilador de C en tiempo de ejecución. Por ahora sigue siendo experimental y en producción se debe usar YJIT
  • Se agrega un scheduler de hilos M:N: administra M hilos de Ruby sobre N hilos nativos (hilos del sistema operativo), por lo que se reduce el costo de creación y administración de hilos

2 comentarios

 
heka1024 2023-12-28

Parece que RUBY_GC_HEAP_INIT_SLOTS también será reemplazado por RUBY_GC_HEAP_INIT_SIZE_%d_SLOTS. Los lugares donde se ajustó el GC tendrán que cambiarse.

https://bugs.ruby-lang.org/issues/19785

 
xguru 2023-12-26

Siguiendo la tradición de lanzarlo cada 25/12, este año también salió la versión 3.3.