Pular para o conteúdo principal

Benchmarks e profiling

Benchmarks

  • Funções prefixadas com Benchmark medem desempenho
  • Usam b.N para executar o código várias vezes

Exemplo

Carregando editor interativo...

Execução

go test -bench=.

Profiling

Go oferece ferramentas integradas para análise de desempenho:

  • pprof: Perfil de CPU, memória e bloqueios
  • go test -cpuprofile cpu.out: Gera perfil de CPU
  • go tool pprof cpu.out: Analisa o perfil

Exemplo

go test -bench=. -cpuprofile cpu.out
go tool pprof cpu.out

Comparação com Java

Java

  • Usa VisualVM ou JProfiler para profiling

Go

  • Ferramentas embutidas (pprof) são mais leves e integradas
Caso de uso

Benchmarks ajudam a otimizar funções críticas; enquanto o profiling identifica gargalos em APIs ou sistemas concorrentes.