Make your Go go faster!
Optimising performance through reducing memory allocations
- Track: Go devroom
- Room: H.1308 (Rolin)
- Day: Saturday
- Start: 16:30
- End: 17:00
This talk will preset a set of techniques to make your Go programs run faster.
Starting with CPU profiling, moving through memory allocation profiling, to escape analysis, we will point out some less-well-known corners of the runtime, how they impact performance, and how to mitigate this impact.
Often, the single biggest drain on performance in a Go program is the garbage collector. Each release of the Go runtime comes with a slightly faster collector, but you can make much bigger performance improvements by not creating garbage in the first place: if you can rework your code to make fewer heap allocations, then the garbage collector will run less often and have less work to do.
Examples will be drawn from real-world experience optimising the Open Source container visualisation project Weave Cortex.
Speakers
Bryan Boreham |