2 points par xguru 2023-12-26 | 2 commentaires | Partager sur WhatsApp
  • 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

 
heka1024 2023-12-28

Il semble que RUBY_GC_HEAP_INIT_SLOTS soit lui aussi remplacé par RUBY_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

 
xguru 2023-12-26

Conformément à la tradition d’une sortie chaque année le 25/12, la version 3.3 est également sortie cette année.