Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
dkrasilnikoff opened this issue Jan 9, 2025 · 0 comments
Open

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

dkrasilnikoff opened this issue Jan 9, 2025 · 0 comments

Comments

@dkrasilnikoff
Copy link

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant