A linguagem de programação Ruby 3.1 foi lançada recentemente com muitas novidades e recursos importantes para quem a utiliza. Um dos pontos que merecem destaque é que foi mantida a compatibilidade com a versão anterior, ou seja, o Ruby 3.0. Assim, desta vez, a linguagem de programação Ruby 3.1 foi lançada com compilador JIT Speedy.
O detalhe mais importante do novo Ruby 3.1 é “YJIT” foi um novo compilador experimental em processo just-in-time (JIT). O novo compilador JIT do Ruby 3.1 foi desenvolvido pela Shopify. Ele chega com o objetivo de melhorar o desempenho de seu aplicativo Ruby on Rails. Portanto, o YJIT deve ser muito benéfico para melhorar o desempenho de aplicativos Rails que estão sendo usados por programadores.
Temos o prazer de anunciar o lançamento do Ruby 3.1.0. Ruby 3.1 mantém compatibilidade com Ruby 3.0 e também adiciona muitos recursos, diz o anúncio de lançamento.
Desde que o Ruby 2.6 introduziu o MJIT em 2018 , seu desempenho melhorou muito e, finalmente , alcançamos o Ruby3x3 no ano passado. Mas, embora o Optcarrot tenha mostrado acelerações impressionantes, o JIT não beneficiou os aplicativos de negócios do mundo real.
Recentemente, a Shopify contribuiu com muitas melhorias em Ruby para acelerar sua aplicação Rails. YJIT é uma contribuição importante e visa melhorar o desempenho de aplicações Rails.
Linguagem de programação Ruby 3.1 lançada com compilador JIT Speedy
Ao contrário do compilador MJIT existente do Ruby, que usa um compilador C externo, o YJIT usa o controle de versão de bloco básico e tem um compilador JIT dentro. De acordo com o anúncio desta atualização, o YJIT tem um tempo de aquecimento rápido. Assim, implementou melhorias de desempenho para Railsbench de até 22% e de até 39% para o teste de renderização. No entanto, esse YJIT ainda é considerado experimental no Ruby 3.1. Sendo assim, este recurso não está habilitado por padrão.
Com essa tecnologia, o YJIT atinge rápido tempo de aquecimento e melhorias de desempenho na maioria dos softwares do mundo real, até 22% no railsbench, 39% no liquid-render.
YJIT ainda é um recurso experimental e, como tal, está desabilitado por padrão. Se você quiser usar isso, especifique a opção
--yjit
de linha de comando para habilitar YJIT. Também está limitado a plataformas x86-64 do tipo Unix por enquanto.
Do mesmo modo, a linguagem de programação Ruby versão 3.1 também apresenta um depurador reescrito, suporte para autocompletar IRB, alguns pequenos refinamentos de linguagem, suporte IDE experimental para o analisador de tipo estático TypeProf e algumas melhorias de desempenho para o compilador MJIT existente.
Mais detalhes sobre Ruby 3.1 em Ruby-Lang.org.
Via Phoronix