finds.dev← search

// the find

davecheney/gophercon2018-performance-tuning-workshop

★ 931 · Go · updated Dec 2018

GopherCon 2018 Performance Tuning Workshop

Workshop materials from GopherCon 2018 by David Cheney and Francesc Campoy on diagnosing and fixing Go performance problems: benchmarking, pprof profiling, the execution tracer, GC behavior, and compiler optimizations. It's for developers who already know Go and want a structured way to find real bottlenecks, not a beginner intro.

Written by two people who've actually worked on the Go toolchain and runtime, so the profiling and tracer content is first-hand rather than secondhand summary. Each section pairs a markdown writeup with runnable Go code (benchmarks, escape-analysis examples, a goroutine ping-pong tracer demo) instead of static slides. The ordering mirrors a real debugging workflow — write a benchmark, profile it, read the compiler's escape analysis, then inspect the execution tracer — rather than treating each tool in isolation.

Untouched since December 2018; Go's compiler, GC, and benchmarking APIs (PGO, testing.B.Loop, newer pprof output) have changed enough that some commands and advice won't match current Go. This is live workshop content, not a self-contained tutorial — exercises like mandelweb.md have no provided solutions and some sections clearly assume an instructor filling gaps verbally. No CI and nothing indicating the examples (e.g. popcnt) have been checked against newer Go versions, so compiler-behavior-dependent demos may no longer produce the stated results.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →