Я шукаю документи, які детально описують, як працює збір сміття пітон.
Мене цікавить, що робиться на якому кроці. Які об’єкти є у цих 3 колекціях? Які види об’єктів видаляються на кожному кроці? Який алгоритм використовується для пошуку еталонних циклів?
Передумови: я здійснюю деякі пошуки, які доведеться закінчити за невелику кількість часу. Коли сміттєзбірник починає збирати найстаріше покоління, це "набагато" повільніше, ніж в інших випадках. На пошуки пішло більше часу, ніж призначено. Я дивлюсь, як спрогнозувати, коли воно збиратиме найстаріше покоління і скільки часу це займе.
Неважко передбачити, коли воно збиратиме найстарше покоління з get_count()
та get_threshold()
. Цим також можна маніпулювати set_threshold()
. Але я не бачу, як легко визначитися, чи краще це зробити collect()
силою або чекати запланованого збору.