|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Andrey Sapozhnikov 2:5020/400 02 Jun 2005 05:37:01 To : Bulat Ziganshin Subject : Re: garbage collector --------------------------------------------------------------------------------
Bulat Ziganshin пишет:
> Tuesday May 31 2005, Andrey Sapozhnikov writes to Kostya Lesnichenko:
> AS> сегмента данных. Теоретически ее можно подвинуть и в сторону
> AS> уменьшения, но только если освобожденый кусок находится в самом
> AS> конце,
>
> Андрей, это в Си данные переместить невозможно, поскольку указатели могут
> храниться чёрт знает где, в языках же со сбором мусора точно известно, где
> находятся указатели, и процесс сбора мусора не только освобождает уже
> неиспользуемую память, но и собирает занятые блоки вместе - иначе память будет
> всё больше и больше фрагментироваться
А интерпретатор Перл и есть программа написаная на C. И отнюдь не все
переменные внутри есть SV, многие структуры не отображаемые напрямую
в пространство переменных Перл выделены по Newz, многие выделены из
подключенных библиотек просто с помощью malloc. Да и SV (и его
наследники - AV, HV, GV,...) не хранят список ссылок на себя, а лишь
счетчик. Ссылка появляется - она увеличивает счетчик в переменной на
которую ссылается, ссылка дохнет - уменьшается счетчик. Как счетчик
доходит до нуля - объект становится кандидатом на зачистку.
--
Андрей
--- ifmail v.2.15dev5.3
* Origin: Demos online service (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/65772e2f5aaa.html, оценка из 5, голосов 10
|