Dokumentacja Pythona garbage collector [zamknięta]

Zamknięte. to pytanie nie spełnia wytycznych dotyczących przepełnienia stosu . Obecnie nie przyjmuje odpowiedzi.


Chcesz poprawić to pytanie? Update the pytanie więc to on-topic {[7] } dla przepełnienia stosu.

Zamknięte 6 lat temu .

Popraw to pytanie

Szukam dokumentów, które szczegółowo opisują, jak działa Python garbage collection.

Ciekawi mnie, co się robi na jakim etapie. Jakie przedmioty znajdują się w tych 3 kolekcjach? Jakie rodzaje obiektów są usuwane w każdym kroku? Jaki algorytm jest używany do znajdowania cykli referencyjnych?

Tło: wdrażam kilka wyszukiwań, które muszą zakończyć się w krótkim czasie. Kiedy śmieciarka zaczyna zbierać najstarszą generację, jest "dużo" wolniejsza niż w innych przypadkach. Zajęło to więcej czasu niż jest przeznaczone na poszukiwania. Zastanawiam się, jak przewidzieć, kiedy zbierze najstarsze pokolenie i jak długo to potrwa.

Łatwo przewidzieć, kiedy zbierze najstarsze pokolenie z get_count() i get_threshold(). To również można manipulować za pomocą set_threshold(). Ale nie wiem, jak łatwo zdecydować, czy lepiej zrobić collect() siłą lub poczekać na zaplanowaną kolekcję.

Author: gokul_uf, 2010-12-19

1 answers

Nie ma definitywnego źródła informacji o tym, jak Python zbiera śmieci (poza samym kodem źródłowym), ale te 3 Linki powinny dać ci całkiem dobry pomysł.

Update

Źródło jest bardzo pomocne. To ile z tego wyjdziesz zależy od tego jak dobrze przeczytasz C, ale komentarze są rzeczywiście bardzo pomocne. Przejdź do collect() function i komentarze dobrze wyjaśniają proces (choć w bardzo techniczny sposób).
 126
Author: Rafe Kettler,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-02-13 21:18:38