~/talk

MADPIG: Measure and deepen performance in Go

Talkat GeeCON 2019 · 2019-05-15..05-17· [go]
slides:none on file

Shows concrete wins: instrumenting with pprof and Trace reveals 97% of time spent opening files, not the network; moving file reads out of the inner loop and loading whole files into memory yields a 6x speedup, refactoring to avoid repeated downloads adds another 4x, and successive changes make one version 300x faster than v0. Uses go test -bench, CPU profiler, flame graphs and the Race detector to find bottlenecks, then applies targeted code and API changes and concurrency to eliminate them.

AI-written summary · about

  1. 0:00Start
  2. 6:16Performance analysis
  3. 7:18Rule of thumb
  4. 10:29What latency?
  5. 11:18Why improve speed?
  6. 12:05Levels of abstraction
  7. 14:07Response time vs Service time
  8. 16:13Running example
  9. 25:35Measure execution duration
  10. 26:06Commands
  11. 27:21Benchmarking
  12. 29:13Pprof: CPU sampling
  13. 30:01Counting with code coverage
  14. 30:57Flame graphs
  15. 34:48Trace of sequential work
  16. 35:12Trace of parallel work
  17. 41:57Concurrency
  18. 42:28Race Detector
  19. 43:35Cost of interface abstraction
  20. 45:09Escape analysis
  21. 46:48Inlining
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.