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 pytanieSzukam 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ę.
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ź docollect()
function i komentarze dobrze wyjaśniają proces (choć w bardzo techniczny sposób).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