⚡ 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
ignorenogo.modpara ignorar diretórios. go doc -httproda um servidor de documentação local.go version -m -jsongera 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.