Desempenho de aplicações Go (Golang)
300 páginas
Portuguese
PDF
4.5

Desempenho de aplicações Go (Golang)

Desempenho de aplicações Go (Golang)

Autor:

Ano:

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