Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Performance em Go

Performance em Go

Algumas técnicas para otimizar seu programas em Go, esta apresentação retrata algumas técnicas que poderão ser utilizadas no seu dia a dia para otimizar ainda mais seus códigos em Go.
Utilização do Sync.Pool, pprof, Benchmarking.

02b3f64a1d67d061c3be08729322a90b?s=128

Jefferson Otoni Lima

July 25, 2019
Tweet

Transcript

  1. http://s3wf.com @jeffotoni 2019 BELO HORIZONTE 25/07 Jefferson Otoni Performance

  2. @jeffotoni Benchmarks Use strings.Builder em Go 01 03 04 Otimizar

    programas Go 05 06 07 Use sync.Pool Como escrever benchmarks em Go 02 Pprof Evite usar map[string]int
  3. - Compilada e estática - Gc (Garbage Collector) - Paradigma

    Concorrente - Tipagem estática - Semântica é clara - Sintaxe é limpa - É de uso Geral - Plataformas: Windows, Linux, Mac e FreeBSD Características
  4. Use sync.Pool

  5. reduzir número de alocações salvos

  6. Evite usar map[string]int

  7. lento fast

  8. lento fast

  9. use strings.Builder

  10. fast lento

  11. None
  12. Use strconv

  13. fast lento

  14. None
  15. Use Make evitar realocação

  16. danger fast better good

  17. Benchmark

  18. “testing” *testing.B

  19. *testing.T

  20. None
  21. pprof

  22. -> go tool pprof --text ./gostring.test cpu.pprof -> pprof -http=localhost:6060

    pprof-2 cpu.pprof
  23. None
  24. None
  25. None
  26. referências https://github.com/jeffotoni/goexample/tree/master/performance Sources da apresentação https://dave.cheney.net/2013/06/30/how-to-write-benchmarks-in-go https://golang.org/pkg/testing/ https://golang.org/pkg/net/http/pprof/ https://blog.golang.org/profiling-go-programs https://medium.com/justforfunc/analyzing-the-performance-of-go-functions-with-benchmarks-60b8162e61c6

    links
  27. Thanks := &Obrigado{...} Obrigado... github.com/jeffotoni instagram.com/jeffotoni https://t.me/devopsbh https://t.me/go_br https://t.me/awsbrasil linkedin.com/in/jeffotoni/