⚡ 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
nogo.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.