Что такое segmented stack vs contiguous stack?

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

Segmented stack — старый подход Go (до 1.3): стек состоит из связанных сегментов, при переполнении аллоцируется новый сегмент. Проблема — hot split: если функция на границе сегмента вызывается в цикле, стек постоянно растёт и сжимается. Contiguous stack решил это: при нехватке места выделяется новый непрерывный кусок памяти в 2 раза больше, старый стек копируется целиком, указатели обновляются. Дороже одна операция, зато нет hot split и лучше cache locality.

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

Что такое HTTP/1.1 keep-alive?