- Ajout du nouveau parseur Prism : un parseur à descente récursive, prêt pour une utilisation en production. Remplace Ripper
- Remplacement du générateur de parseur Bison par Lrama : plus facile à utiliser grâce à sa tolérance aux erreurs, plus simple à maintenir, et parseur universel réutilisable par d'autres outils
- Améliorations des performances de YJIT : gains de vitesse et réduction de l'utilisation mémoire
- Introduction de RJIT, un compilateur JIT en Ruby pur, qui remplace MJIT : ne prend en charge que x86-64, mais contrairement à MJIT, n'a pas besoin d'un compilateur C à l'exécution. Il reste expérimental et YJIT doit être utilisé en production
- Ajout d'un ordonnanceur de threads M:N : gère M threads Ruby sur N threads natifs (threads OS), ce qui réduit le coût de création et de gestion des threads
2 commentaires
Il semble que
RUBY_GC_HEAP_INIT_SLOTSsoit lui aussi remplacé parRUBY_GC_HEAP_INIT_SIZE_%d_SLOTS. Il va donc falloir le modifier là où le GC avait été ajusté.https://bugs.ruby-lang.org/issues/19785
Conformément à la tradition d’une sortie chaque année le 25/12, la version 3.3 est également sortie cette année.