Desempenho de aplicações Go (Golang)
Desempenho de aplicações Go (Golang)
Resumo:
O livro «Desempenho de aplicações Go (Golang)» é um guia prático para desenvolvedores que desejam escrever código rápido, eficiente e escalável em Go. Diferente de tutoriais genéricos, este livro foca exclusivamente em desempenho: desde micro-otimizações até decisões arquiteturais.
Para quem é este livro:
- Desenvolvedores Go com pelo menos 1 ano de experiência que enfrentaram problemas de desempenho em produção.
- Engenheiros migrando para Go a partir de outras linguagens e que desejam entender as particularidades de seu runtime.
- Especialistas em DevOps e SRE responsáveis pela otimização de serviços.
- Todos que desejam reduzir a latência e o consumo de recursos em suas aplicações Go.
O que você aprenderá:
- Como usar as ferramentas integradas de profiling (pprof, trace) para encontrar gargalos.
- Otimização do gerenciamento de memória: garbage collection, alocações, pools de objetos e zero-copy.
- Escrita de programas concorrentes eficientes: goroutines, canais, sync.Pool e padrões de limitação de paralelismo.
- Redução do tempo de resposta (latência): benchmarking, otimizações algorítmicas, trabalho com chamadas de rede.
- Profiling de CPU e memória, análise de bloqueios e vazamentos de goroutines.
- Otimização de entrada/saída: buffering, compressão, trabalho com arquivos e sockets.
- Antipadrões de desempenho e como corrigi-los.
- Integração de profiling em CI/CD para controle automático de regressões.
O livro é baseado em exemplos reais da experiência do autor — de microsserviços a APIs de alta carga. Cada capítulo contém código que pode ser aplicado imediatamente em seu projeto. Você aprenderá não apenas a "acelerar" o código, mas a tomar decisões conscientes: quando a otimização é justificada e quando é prematura.
Atenção especial é dada às abordagens modernas: uso de Go 1.21+ (novos pacotes slices, maps, sync.Map), generics para utilitários de desempenho, além de trabalho com CGo e assembly em pontos críticos.
Após a leitura, você será capaz de:
- Reduzir o consumo de memória em 30–50% sem perder a legibilidade do código.
- Diminuir o tempo de resposta da API em 2–3 vezes através do uso correto da concorrência.
- Encontrar e corrigir vazamentos de goroutines e memória em minutos.
- Construir sistemas que suportam milhares de requisições por segundo com recursos mínimos.
Este não é um manual de referência da linguagem, mas sim uma experiência concentrada em levar aplicações Go à máxima eficiência. Adequado para quem deseja parar de "adivinhar" e começar a medir, profile e melhorar.
Recommendations
Algoritmos e Estruturas de Dados em PHP: do Iniciante ao Profissional
Refatoração de código Kotlin: melhorando a arquitetura e o desempenho
Concorrência em PHP: Assincronia, Multithreading e Paralelismo na Prática
Teste de aplicativos Swift (iOS/macOS)
More Effective C++
Exam Ref 70-483: Programming in C#