Go 1.25

· 253 words · 2 minute read

Golang está ficando mais rápido!🔗

As novidades da versão 1.25 trazem melhorias significativas em performance, tooling e modularidade no Go. Confira alguns destaques:


1. Container-Aware GOMAXPROCS 🔗

  • Automaticamente adapta-se aos limites de CPU cgroup somente no Linux.
  • Em outros sistemas operacionais a atualização é dinâmica conforme a alocação de CPU muda.
  • Permite uso mais eficiente da CPU em containers (ex: Kubernetes).

2. Modo experimental “Green-Tea” no Garbage Collector 🔗

  • Novo GC experimental através da variável de ambiente GOEXPERIMENT=greenteagc.
  • Melhora a performance de marcação e varredura de objetos pequenos.
  • Promete reduzir de 10–40% o overhead do GC em workloads pesados.

3. Novo pacote encoding/json/v2 🔗

  • Grande reformulação no tratamento de JSON.
  • Disponível com GOEXPERIMENT=jsonv2.
  • Decodificação muito mais rápida, nova API e suporte de baixo nível via encoding/json/jsontext.

4. Melhorias na tooling no comando go 🔗

Vários upgrades úteis para desenvolvedores:

  • Agora o ASAN (AddressSanitizer) padrão no compilador C/C++ passa a detectar vazamentos de memória (memory leak).
  • Nova diretiva ignore no go.mod para ignorar diretórios.
  • go doc -http roda um servidor de documentação local.
  • go version -m -json gera metadados em JSON.
  • Suporte a subdiretórios como raiz de módulo com metatags go-import.

5. Aprimoramentos no Compilador e no Runtime 🔗

  • Compilador:
    • Uso do DWARF v5 para reduzir o tamanho de informação necessária para debug no binário.
    • Corrige panics de ponteiro nulo em momento de compilação.
  • Runtime:
    • Execução concorrente de finalizações.
    • Verificações de finalizadores.
    • Novo SetDefaultGOMAXPROCS.

🚀 Golang continua evoluindo para ser mais rápido, eficiente e developer-friendly!

Para mais detalhes, confira o release notes oficial.