Как работает reflect на низком уровне и почему он медленный?

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

reflect.ValueOf создаёт обёртку с type descriptor и data pointer. Каждый вызов метода — switch по Kind, проверка типов, часто аллокация (boxing). Reflect не инлайнится, ломает escape analysis. Type assertions через reflect в 10-50x медленнее прямого вызова. Для hot paths лучше code generation (go generate) или generic (Go 1.18+).

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

Как ты подходишь к incident response?