С Go 1.13 при GC объекты не удаляются сразу — перемещаются в victim cache. При следующем GC victim cache очищается, а текущие объекты становятся victim. Итого объект живёт минимум 2 GC цикла. Это снижает аллокации после GC: если объект нужен сразу после сборки, он ещё в victim cache. Двухфазная очистка — компромисс между памятью и производительностью.
Что такое victim cache в sync.Pool?
Senior
61 просмотровAFK Offer AI
Что такое weak pointers в Go и зачем они нужны?