- Adição do novo parser Prism: um parser descendente recursivo pronto para uso em produção. Substitui o Ripper
- Substituição do gerador de parser de Bison para Lrama: um parser universal tolerante a erros, com boa usabilidade, fácil de manter e utilizável em outras ferramentas
- Melhorias de desempenho no YJIT: aumento de velocidade e menor uso de memória
- Introdução do RJIT, um compilador JIT puro em Ruby, substituindo o MJIT: suporta apenas x86-64, mas, ao contrário do MJIT, não precisa de compilador C em tempo de execução. Ainda é experimental, e em produção deve-se usar o YJIT
- Adição de um escalonador de threads M:N: gerencia M threads Ruby em N threads nativas (threads do SO), reduzindo o custo de criação e gerenciamento de threads
2 comentários
Pelo visto,
RUBY_GC_HEAP_INIT_SLOTStambém está sendo substituído porRUBY_GC_HEAP_INIT_SIZE_%d_SLOTS. Parece que os lugares onde o GC foi ajustado vão precisar ser alterados.https://bugs.ruby-lang.org/issues/19785
Seguindo a tradição de lançar todo ano em 25/12, a versão 3.3 também saiu este ano.