Что такое victim cache в sync.Pool?

Senior
36 просмотров
AFK Offer AI

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

Следующий вопрос

Что такое counterfeiter?