Linguagem de programação Ruby 3.1 lançada com compilador JIT Speedy

Ruby 3.2 lançado com suporte WebAssembly
Linguagem de programação Ruby 3.1 lançada com compilador JIT Speedy

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

Linguagem de programação Ruby 3.1 lançada com compilador JIT Speedy
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