Что такое object pool?

Middle
646 просмотров
AFK Offer AI

Object pool — паттерн, при котором ты не создаёшь объекты каждый раз заново, а берёшь их из пула и возвращаешь обратно после использования. В Go для этого есть sync.Pool. Кладёшь в него New-функцию, дёргаешь Get() — получаешь объект, потом Put() — возвращаешь. GC может почистить пул между циклами сборки, так что это не гарантированный кэш. Классический кейс — буферы для сериализации JSON или bytes.Buffer. Снижает нагрузку на аллокатор и GC в горячих путях.

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

Как работать с environment variables?