We'll not only talk about what sync.Pool is, but also look into how empty interfaces and slices behave under the hood, so we can understand how to use sync.Pool correctly in real situations.
Keep in mind this video is for learning purposes, so NOT every detail is covered, NOT every edge case is mentioned, and some explanations are simplified to make things easier to understand.
Follow me on X:
https://x.com/func25
Timeline:
0:00 Heap allocation problem
1:27 sync.Pool basics
4:14 When to use sync.Pool
4:54 When objects in sync.Pool are cleared
6:49 Why bytes.Buffer is suitable for sync.Pool
8:15 Heap allocation traps