OberonCore
https://forum.oberoncore.ru/

Сборщик мусора, сравнить с С#
https://forum.oberoncore.ru/viewtopic.php?f=2&t=725
Страница 1 из 1

Автор:  Сергей Губанов [ Среда, 07 Ноябрь, 2007 09:54 ]
Заголовок сообщения:  Re: Сборщик мусора, сравнить с С#

1) Деструкторов в C# не существует, то что там ими обзывается есть финализаторы. Метод Dispose в совокупности с using - просто синтаксический сахар.

2) Ранжирование объектов по поколениям эффективно в случае когда есть большое количество долгоживущих (примерно 5'000'000) объектов на фоне которых то и дело создаётся и удаляется некое количество короткоживущих.

Автор:  Евгений Темиргалеев [ Среда, 07 Ноябрь, 2007 11:17 ]
Заголовок сообщения:  Re: Сборщик мусора, сравнить с С#

Temirgal писал(а):
Сделано это для того, чтобы можно было удалять ресурсы по своему усмотрению, а не так, как это будет сделано сборщиком
В КП тоже есть финализаторы, не стоит забывать. Которые сборщик вызывает перед освобождением памяти, давая им возможность удалить ресурс "по-своему усмотрению".

Автор:  Илья Ермаков [ Четверг, 08 Ноябрь, 2007 12:22 ]
Заголовок сообщения:  Re: Сборщик мусора, сравнить с С#

По поводу подсчёта ссылок - этот метод не годится для циклически ссылающихся объектов, а они неизбежно возникают.

По поводу других сборщиков - в Яве и Шарпе используются разные алгоритмы (поколения, маркирующе-копирующий сборщик в сочетании с поколениями, алгоритм "поезд" - это в Яве).
В последних поставках Явы присутсвует до пяти реализаций, из которых надо выбирать под конкретную задачу. В общем случае их параметры несбалансированы (т.е. на некоторых задачах проигрывают обычному Mark&Sweep). Причина, почему в Яве возникли поколения - только динамическое ООП. Каждый мелкий "чих" вроде передачи параметра в обёртке, типизированного сообщения и т.п. - это выделение в куче. Для такого рода мелких объектов и вводится первое поколение, в котором работает маркирующе-копирующий сборщик.
В КП/ББ количество мелких короткоживущих объектов мало, и первое поколение особого выигрыша не даст, скорее наоборот.

Неплохо про сборщики рассказывалось на http://www.ibm.com/ru/. Поищите.

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/