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.

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.

Dê sua opinião

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

Receber mensagens dessa discussão
Comentários da comunidade

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

Receber mensagens dessa discussão

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

Receber mensagens dessa discussão

Dê sua opinião
Feedback geral
Bugs
Publicidade
Editorial
Marketing
InfoQ Brasil e todo o seu conteúdo: todos os direitos reservados. © 2006-2016 C4Media Inc.
Política de privacidade
BT

We notice you’re using an ad blocker

We understand why you use ad blockers. However to keep InfoQ free we need your support. InfoQ will not provide your data to third parties without individual opt-in consent. We only work with advertisers relevant to our readers. Please consider whitelisting us.