Acompanhe o que está acontecendo no ecossistema Go: novos releases, propostas em discussão, bibliotecas que valem ficar de olho e eventos da comunidade — comentado em português para desenvolvedores brasileiros.

Go 1.27 deve ganhar perfil para leak de goroutines

Perfil goroutineleak proposto para Go 1.27 usa o GC para encontrar vazamentos de goroutines bloqueadas em aplicações reais.

TL;DR: uma proposta aceita para o Go 1.27 adiciona um novo perfil de runtime/pprof, chamado goroutineleak, para detectar goroutines que ficaram bloqueadas para sempre. A ideia é usar uma rodada especial do garbage collector para separar goroutines que ainda podem voltar a executar daquelas presas em objetos de sincronização inalcançáveis. Isso não substitui boas práticas com context, timeouts e fechamento correto de channels, mas pode virar uma ferramenta importante para investigar leaks em serviços Go de longa duração.

Ler mais →

Go prepara runtime.freegc para reduzir pressão no GC

runtime.freegc é uma proposta do Go para reutilizar memória morta mais cedo e reduzir pressão no GC sem mudar APIs do usuário.

TL;DR: uma nova proposta de design no repositório golang/proposal descreve runtime.freegc, um mecanismo interno para o compilador e o runtime devolverem memória comprovadamente morta ao alocador antes de uma rodada normal do GC chegar nela. Não é uma API para aplicações chamarem manualmente. A promessa é reduzir taxa efetiva de alocação, ciclos de garbage collection e custo de CPU em padrões comuns, como crescimento repetido de slices, strings.Builder, mapas e decodificação com muita memória temporária.

Ler mais →