BT

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

Contribuir

Tópicos

Escolha a região

Início Notícias Go: Linguagem de programação da Google ficou mais veloz

Go: Linguagem de programação da Google ficou mais veloz

Foi liberada a versão 1.3 do Go após 3 meses em versão beta. A nova versão não teve mudanças na linguagem em comparação com a versão 1.2, mas veio com diversas melhorias de desempenho, suporte para executar os programas via linha de comando através de um cliente nativo e diversas outras melhorias.

Algumas das melhorias de desempenho mais importantes e mudanças nas implementações foram:

  • A pilha de rotinas do Go agora usa um modelo contíguo ao invés do velho modelo "segmentado";
  • O GC está mais rápido - usa o algoritmo de varredura simultânea, tem um melhor paralelismo e maior largura de páginas da memória; que permitem a redução de 50-70% no tempo de parada do GC. Agora também é mais preciso durante a examinação dos valores na pilha;
  • O runtime trata de forma mais eficiente os adiamentos;
  • Detector de corridas simultâneas está em torno de 40% mais rápido;
  • Regexp (pacote de expressões regulares) agora tem um segundo mecanismo de execução de uma passagem, que torna mais rápida a determinação de expressões simples;
  • sync.Pool - um novo tipo que fornece um mecanismo eficiente para implementação de caches cuja memória pode ser recuperada pelo sistemas;
  • Iteração de pequenos mapas (mapas com oito ou menos elementos) não acontece de forma consistente; isso é para evitar que os desenvolvedores escrevam código que dependa de ordenamento na iteração dos mapas, uma vez que esse código funcionaria bem apenas para alguns poucos sistemas.

Há também algumas melhorias nas ferramentas, como:

  • godoc pode executar a analise estática do código pelos índices;
  • misc/benchcmp (ferramenta de benchmarking) foi reescrita como um programa Go;
  • Os compiladores e lincadores foram refatorados; a fase de seleção de instrução foi movida para o compilador, que pode acelerar o tempo de compilação para projetos grandes;
  • A gc toolchain agora suporta um sandbox para execução de clientes nativos das arquiteturas Intel de 32 e 64-bits. Note que os binários gerados pelo Go 1.3 ainda não podem ser executados diretamente pelo Google Chrome.

Há também correções de segurança na biblioteca crypto/tls. Para saber mais sobre todas as mudanças acesse as notas de liberação dessa versão.

Avalie esse artigo

Relevância
Estilo/Redação

Conteúdo educacional

BT