Что такое escape analysis?

Middle+
679 просмотров
AFK Offer AI

Escape analysis — это когда компилятор решает, жить переменной на стеке или в куче. Если переменная не "убегает" за пределы функции — стек, быстро и бесплатно. Если возвращаешь указатель на локальную переменную или передаёшь в горутину — она "escapes" в кучу, и за ней потом придёт GC. Посмотреть решения компилятора можно через go build -gcflags="-m". Понимание escape analysis помогает писать код с меньшим давлением на GC.

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

Что такое GraphQL?