Что такое escape analysis («эвакуация») в Go?

Escape analysis — анализ времени жизни и использования значений, помогающий выбрать размещение в стеке или куче. Это не то же самое, что эвакуация данных при росте структуры.

Короткий ответ

Что ответить на собеседовании

Escape analysis — анализ времени жизни и использования значений, помогающий выбрать размещение в стеке или куче. Это не то же самое, что эвакуация данных при росте структуры.

Подробный разбор

Ответ с пояснениями

Escape analysis — анализ времени жизни и использования значений, помогающий выбрать размещение в стеке или куче. Это не то же самое, что эвакуация данных при росте структуры.

Возврат ссылки не всегда означает дорогую аллокацию после оптимизаций, а локальная переменная не обязана остаться в стеке. Проверяйте диагностику компилятора и профиль, а не угадывайте по синтаксису. Heap allocations важны из-за затрат на выделение и дальнейшую работу GC.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее