BT

Disseminando conhecimento e inovação em desenvolvimento de software corporativo.

Contribuir

Tópicos

Escolha a região

Início Notícias JRuby 1.7.0: Ruby 1.9 por padrão e suporte a invokedynamic

JRuby 1.7.0: Ruby 1.9 por padrão e suporte a invokedynamic

Cinco meses depois da primeira prévia da versão e após uma segunda prévia, a versão final do JRuby 1.7.0 foi lançada. A mudança mais notável do JRuby 1.7 é a adoção da série 1.9.x da linguagem Ruby, como padrão. Apesar de muitas incompatibilidades terem sido corrigidas, o Ruby 1.9 ainda não é suportado completamente. Das notas de lançamento:

Sabemos que algumas partes da versão 1.9 da linguagem não são suportadas ainda, como o Ripper, mas chegamos a um ponto estável - e já se pode usar o JRuby com a versão 1.9 para hospedar aplicações em produção. Planejamos lançar versões de manutenção 1.7.x a cada duas a três semanas. Essas versões atenderão problemas reportados na execução, além de concluir a implementação de bibliotecas da versão 1.9 ainda não terminadas.

O suporte ao Java 5 foi descartado, e o Rubygems e o Rake foram atualizados para a versão 1.8.24 e 0.9.2.2, respectivamente.

O JRuby 1.7 faz uso do invokedynamic do Java 7, mas ao contrário da primeira versão preview, o uso é desabilitado por padrão. O wiki do Ruby explica o motivo:

Versões atuais do OpenJDK 7 produzem erros ou deixam de otimizar o código tão bem quanto poderiam. Para que haja uma experiência consistente no JRuby, o uso do invokedynamic é desabilitado por padrão no Java 7.

Em aplicações que não esbarram em erros ou sofrem degradação de desempenho, o invokedynamic é recomendado para o máximo desempenho. O recurso pode ser forçadamente habilitado passando -Xcompile.invokedynamic=true para o JRuby (ou em JRUBY_OPTS) ou definindo a propriedade jruby.compile.invokedynamic=true no nível da JVM.

Em JVMs do Java8, o invokedynamic é habilitado por padrão. Veja mais sobre o JRuby no site oficial do projeto. Há downloads para várias plataformas e versões da linguagem.

Avalie esse artigo

Relevância
Estilo/Redação

Conteúdo educacional

BT