BT

Início Notícias Visão Geral do Ruby 2.5.0

Visão Geral do Ruby 2.5.0

Favoritos

Como de costume, pelo sexto ano seguido, uma nova versão do Ruby foi lançada no último Natal.

O Ruby 2.5.0 veio com várias melhorias de performance, a mais notável foi a remoção de todas as instruções de trace do bytecode, logo, melhorando a performance em 5% e em alguns casos até 10%. Instruções de trace foram implementadas para suportar o TracePoint, entretanto, na maioria dos casos o TracePoint não estava sendo usado e isso estava gerando esforço desnecessário. O Ruby agora suporta instrumentação dinâmica. Outras melhorias de performance incluem, passagem de blocos via parâmetro 3 vezes mais rápida e geração de código a partir de templates 2 vezes mais rápido. Melhorias de performance também foram vistas em alguns métodos da biblioteca padrão, como: Array#concat, String#concat, Enumerable#sort_by e a classe usada em programação concorrente Mutex.

As melhorias de performance não foram as únicas mudanças, Struct.new agora pode criar classes que aceitam keyword arguments e blocos do/end podem usar diretamente fluxos ensure/rescue/else.

Na questão de bibliotecas, cmath, csv, date, dbm, etc, fcntl, fiddle, fileutils, gdbm, ipaddr, scanf, sdbm, stringio, strscan, webrick, zlib foram promovidas a default gems enquanto o pp, uns dos comandos favoritos, agora é nativo eliminando a necessidade de fazer o require da biblioteca.

Desenvolvedores Ruby agora podem imprimir stacktrace em ordem contrária. A ideia é ver a mensagem principal de erro no topo ao invés de vê-la no final. Essa é uma funcionalidade experimental e poderá ser removida.

Medição de branches e cobertura de métodos também é suportado, permitindo um melhor teste de performance em invocação de diferentes métodos e branches durante a execução do código.

A busca por constantes nos ancestrais agora foi completamente depreciada, retornando erro no lugar de mensagens de alertas. yield_self foi adicionado para gerar um bloco no contexto em que foi chamado e diferente do método tap, ele retorna o valor do bloco o que pode ser útil para encadear chamada de métodos.

Ruby 2.5.0 pode ser baixado do site oficial.

Avalie esse artigo

Relevância
Estilo/Redação

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.

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

Comentários da comunidade

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

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

BT

Seu cadastro no InfoQ está atualizado? Poderia rever suas informações?

Nota: se você alterar seu email, receberá uma mensagem de confirmação

Nome da empresa:
Cargo/papel na empresa:
Tamanho da empresa:
País:
Estado:
Você vai receber um email para validação do novo endereço. Esta janela pop-up fechará em instantes.