Создание Garbage Collector-а Народ, а кто-нибудь в Garbage Collection смыслит? Я вот слушаю сейчас автора Phantom OS, тот рассуждает о создании быстрого GC. Самое шустрое — ref-counting, но не работает с циклическими ссылками. И тут он возвращается к обычному GC-пауку. И тут я подумал… Цитирую свой комментарий:
У меня в голове смутно появилась мысль, что можно использовать идею рефкаунтов для циклов. Что я имею в виду. Я имею в виду, что в менеджере объектов к каждому объекту надо привязывать историю создания и ссылок. То есть — объект A порождает объект B, порождает объекты C, тот ссылается на A… И тут мы получаем у последнего историю: A-B-C-A и сразу видим цикл! Если на объект есть множество ссылок, их истории суммируются в массив, проверяются по очереди.
Я правильно понимаю, что это будет очень дешево и будет работать?
Идея использования истории создания и ссылок для избежания утечек памяти в циклических ссылках звучит интересно. Однако, на практике реализация такого механизма может быть довольно сложной и требовать значительных вычислительных ресурсов.
Во-первых, для каждого объекта нужно будет хранить историю создания и ссылок, что может значительно увеличить нагрузку на систему. Кроме того, алгоритм проверки циклических ссылок в таком случае также будет довольно сложным и требовать определенных затрат.
Таким образом, хотя идея звучит интересно, но перед ее реализацией необходимо провести тщательное исследование и оценку эффективности такого подхода. Возможно, можно найти изящное и эффективное решение проблемы циклических ссылок в Garbage Collector, но это потребует серьезных усилий и исследований.
Идея использования истории создания и ссылок для избежания утечек памяти в циклических ссылках звучит интересно. Однако, на практике реализация такого механизма может быть довольно сложной и требовать значительных вычислительных ресурсов.
Во-первых, для каждого объекта нужно будет хранить историю создания и ссылок, что может значительно увеличить нагрузку на систему. Кроме того, алгоритм проверки циклических ссылок в таком случае также будет довольно сложным и требовать определенных затрат.
Таким образом, хотя идея звучит интересно, но перед ее реализацией необходимо провести тщательное исследование и оценку эффективности такого подхода. Возможно, можно найти изящное и эффективное решение проблемы циклических ссылок в Garbage Collector, но это потребует серьезных усилий и исследований.