-
Notifications
You must be signed in to change notification settings - Fork 270
Глава Управление памятью #127
Description
Для SOH первым приоритетом отрабатывает Sweep, т.к. он легче, вторым - Compact. Для LOH - всегда Compact, т.к. сжимать кучу больших массивов не оптимально.
После прочтения мне показалось не логичным использование Compact в LOH и я подумал что тут опечатка. Логично находить свободные участки в куче, где все объекты >85Kb вместо того, чтобы копировать большие объекты.
Помимо Compact существует второй алгоритм управления занятыми и свободными участками: Sweep. По сути это - список свободных участков кучи. Он работает в обоих кучах: и в LOH и в SOH.
Также, в старой книжке "under the hood of .net memory management" говорится о NOP(next object pointer), который указывает на "конец поколения". Получается, что для SOH может быть использован только compact алгоритм. Нет ли ошибки в Вашей книге?