Working with Arenas — Nearly Eliminating GC
summary
The talk explains using region-based memory management (arenas) in Go to reduce garbage collector overhead. It covers why arena allocation helps, practical optimization techniques for Go code, and concrete advice for applying arenas to speed up high-throughput systems.
AI-written summary · about
chapters (20)
- 0:00Introduction
- 1:54Memory management basics
- 6:54Arena concept
- 13:03Arenas in games
- 13:45Go arenas
- 15:10When to use arenas
- 17:21Profiling GC
- 18:24Benchmark setup
- 20:13GC overhead in benchmarks
- 20:57Arena benchmark results
- 22:43Arena vs object pools
- 25:36Arena pitfalls
- 27:44Slice allocation issues
- 28:47Manual memory risks
- 29:53Sanitizers for arenas
- 31:41Arena limits
- 33:11Real-world GC problems
- 34:35Grafana's arena solution
- 36:25Summary
- 46:35Q&A
related talks
30mMemory Management in Go: The good, the bad and the ugly
50mAn insight into Go Garbage Collection
48mGolang's Garbage
38mUnderstanding Memory Allocation in Go
51mFrom assembler to C++: structure and optimization of CGo ☠️
30mBalanced GC: A Copying Garbage Collector for Golang
26mRespecting Memory Limits In Go
27mGarbage Collection Semantics
