Как стать автором
Обновить

Комментарии 8

Интересный метод. Спасибо.
Ценные исправления и отличная статья по отладке сбоки мусора. Спасибо!
Пороги в gc жесткие. Нужно понимать, что они означают.
Garbage collector срабатывает, если с момента последнего запуска gc.collect() количество созданных объектов превысило количество удалённых в конкретном поколении на пороговое значение.
Не количество объектов в поколении вообще, а именно разница между созданными и удаленными.
Да, кстати. В 3.3 есть занятная штука — docs.python.org/3/library/gc#gc.callbacks
Спасибо, полезное замечание. Но оно все равно не объясняет, каким образом может накопиться 107 тысяч объектов мусора. Можете рассказать поподробнее?
Написал asvetlov.blogspot.com/2013/05/gc.html в качестве подробного объяснения.
Спасибо, что своим постом помогли мне оформить свои мысли.
Если для какого-то объекта количество ссылок становится равным нулю, он немедленно уничтожается.

А немедленно ли? Насколько мне известно, в современных сборщиках мусора делается несколько проходов и, например, в Java время реального уничтожения объекта не определено и конечно.
Для CPython — немедленно. В других реализациях чаще используют подход Java и там нет счётчика ссылок вообще.
НЛО прилетело и опубликовало эту надпись здесь
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации