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

Golang além do "hello world"

Jefferson Otoni Lima
September 29, 2018
120

Golang além do "hello world"

Todos sabemos que o Goroutine é o poder supremo em Golang, a apresentação é uma simples abordagem de como funciona o Schedule do Go e como as Goroutines trabalham em conjunto com os processadores e suas respectivas threads.

Jefferson Otoni Lima

September 29, 2018
Tweet

Transcript

  1. s3wf.com @jeffotoni DevOps Belo Horizonte, Setembro 29 2018 Jefferson Otoni

    Golang além do “hello world” t.me/devopsbh
  2. @jeffotoni O que é goroutines ? O que é channels

    ? 01 02 03 Por que goroutines é poderoso ? 04 05 GOMAXPROCS o que é ? 06 Concorrência != Paralelismo
  3. P1 = processador M = Threads G = Goroutine GO

    SCHEDULER *V2 https://morsmachine.dk/go-scheduler http://supertech.csail.mit.edu/papers/steal.pdf M0 M0 M1 M1 P Syscall G G G G G G G0 P G0
  4. GOROUTINES MEMORY USAGE Mem(GB) Goroutine 1 2 4 8 16

    32 370 740k 1.5M 2.9M 5.9M 11.8 Fonte: Concorrência em Go
  5. Concorrência é poderosa. Concorrência não é paralelismo. Concorrência permite paralelismo.

    A Concorrência facilita o paralelismo (e escalonamento e tudo mais) Conclusão