Saya mencari dokumen yang menjelaskan secara detail cara kerja pengumpulan sampah python.
Saya tertarik dengan apa yang dilakukan pada langkah mana. Benda apa yang ada dalam 3 koleksi ini? Jenis objek apa yang dihapus pada setiap langkah? Algoritma apa yang digunakan untuk menemukan siklus referensi?
Latar Belakang: Saya menerapkan beberapa pencarian yang harus diselesaikan dalam waktu sedikit. Ketika pemulung mulai mengumpulkan generasi tertua, itu "jauh" lebih lambat daripada dalam kasus lain. Butuh lebih banyak waktu daripada yang dimaksudkan untuk pencarian. Saya mencari cara memprediksi kapan akan mengumpulkan generasi tertua dan berapa lama.
Sangat mudah untuk memprediksi kapan akan mengumpulkan generasi tertua dengan get_count()
dan get_threshold()
. Itu juga bisa dimanipulasi set_threshold()
. Tapi saya tidak melihat betapa mudahnya memutuskan apakah lebih baik dibuat collect()
secara paksa atau menunggu koleksi yang dijadwalkan.