~/talk

So You Wanna Go Fast?

Talkat Strange Loop 2017 · 2017-09-28..09-30· [go]
links:none on file
slides:none on file

Concrete, measurable takeaways: Go code shows order-of-magnitude differences when you change representations — sorting 100M items via interfaces can take about 100s vs 25s for structs; avoiding one allocation boosts NATS throughput by 2 million messages/second; empty interface conversions trigger allocations and GC overhead; channels are effectively a locked ring buffer and mutexes often win on tight paths. Uses pprof, benchmarking, HDR histogram and sync.Pool insights (the sync.Pool per-CPU trick). Built lock-free concurrent tree and a big-reader-lock that scale well and required fixing an empty interface allocations bug.

AI-written summary · about

  1. 0:00Introduction
  2. 0:35The Better Title
  3. 1:55Who am I
  4. 2:44Why this talk matters
  5. 5:01Dont blindly apply optimizations
  6. 8:12Channels
  7. 10:38Overhead
  8. 11:32Interfaces
  9. 17:35Benchmark
  10. 22:48SinkPool
  11. 28:25Go Race Detector
  12. 29:50Unsafe
  13. 30:33Mechanical Sympathy
  14. 33:56Big Reader Lock
  15. 36:03Conclusion
~/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.