BT

Go avança a todo o vapor: versão 1.2 é liberada

por Jeff Martin , traduzido por Henrique Lobo Weissmann em 11 Dez 2013 |

Acaba de ser lançada a versão 1.2 da linguagem de programação open source Go que trás uma série de revisões na linguagem, melhoria nas ferramentas e mudanças em sua biblioteca padrão. Go surgiu como um projeto de pesquisa do Google, mas hoje é usado em diversos projetos e ambientes de produção. Esta nova versão mantém o ritmo acelerado de desenvolvimento da linguagem, cuja última versão - 1.1 - foi lançada sete meses atrás em maio.

Tal como anunciado previamente, para a versão 1.2 há duas grandes mudanças na linguagem que afetarão tanto nil quanto slices. Com relação ao nil, é garantido que um novo runtime panic irá ocorrer em certas condições, comparado com o comportamento anterior da linguagem que podia permitir o acesso inseguro a áreas da memória. Com relação aos slices, agora a sua capacidade pode ser pré definida, assim como seu tamanho. Os programadores não precisarão modificar o código fonte existente devido a esta mudança, porém a alteração de comportamento do nil significa que a partir da versão 1.2 da linguagem, esta poderá tornar explícitos erros em código fonte que até então podiam estar ocultos e que precisarão ser manualmente corrigidos.

O escalonador (scheduler) para as goroutines recebeu capacidade de preempção, como uma tentativa de mitigar situações na qual uma goroutine pode causar a inanição de outras goroutines em execução dentro de uma mesma thread. Individualmente, o tamanho mínimo de memória stack para uma goroutine foi aumentado para 8 Kb e o tamanho máximo agora é configurável. O valor default para o tamanho máximo do stack em um sistema operacional de 64 bits é de 1GB e 250MB em sistemas operacionais de 32 bits.

Usuários do Go nas plataformas Windows e BSD ficarão felizes ao perceberem que a melhoria de performance de rede que usuários Linux e Mac OS X receberam com o Go 1.1 agora fazem parte do release 1.2. De acordo com a equipe de desenvolvimento, estas mudanças trarão algo em torno de 30% de melhora de desempenho. Todos os usuários da versão 1.2 deverão ver melhorias de desempenho com a implementação do bzip2 na linguagem para a descompactação e codificação de conteúdo JSON.

Para ver a lista completa de modificações, consulte as notas do lançamento da versão 1.2.

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