Что такое inline и когда Go инлайнит функции?

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

Inlining — замена вызова функции её телом. Снижает overhead вызова и открывает путь для дальнейших оптимизаций (escape analysis, constant folding). Go инлайнит функции с cost < 80 (маленькие, без циклов в старых версиях). go build -gcflags="-m" показывает inlining decisions. //go:noinline запрещает. С Go 1.21 улучшен mid-stack inlining.

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

Как работать с encoding/binary?