BT

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

por Mirko Stocker , traduzido por Marcelo de Castro em 01 Nov 2012 |

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.

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão
Comentários da comunidade

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão

Dê sua opinião

Conteúdo educacional

Feedback geral
Bugs
Publicidade
Editorial
InfoQ Brasil e todo o seu conteúdo: todos os direitos reservados. © 2006-2014 C4Media Inc.
Política de privacidade
BT