Escape analysis в Go: stack или heap?
Phuong Le
0:00 / 0:00
Escape analysis в Go: stack или heap?
764 просмотра · 4 дн. назад
Phuong Le
907 подписчиков
764 просмотра · 4 дн. назад
Это видео для простого знакомства с темой, поэтому в нём разобраны не все краевые случаи, а некоторые вещи упрощены, чтобы их было легче понять.
Кроме того, эти внутренние механизмы могут меняться от версии к версии Go. Если изменится что-то важное, напишите мне, и я сделаю продолжение.
Главы
0:00 Стеки горутин и фреймы стека
2:11 Heap и что делает escape analysis
4:03 Спросим компилятор: -gcflags=-m
6:27 Два правила безопасности escape analysis
8:28 Ограничение 1: когда компилятор не может определить
11:28 Интерфейсы, fmt.Println и function values
15:58 Go 1.27: известные функции остаются на стеке
17:12 Ограничение 2: слишком большое для стека
19:12 make([]byte, n) с неизвестным размером
20:58 Бенчмарк
22:23 Ещё случаи