Skip to content

Глава Управление памятью #127

@dkrasilnikoff

Description

@dkrasilnikoff

Для 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 алгоритм. Нет ли ошибки в Вашей книге?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions