पायथन कचरा संग्रहकर्ता प्रलेखन

| | | | | | | | | | |

मैं उन दस्तावेज़ों की तलाश कर रहा हूं जो विवरण में वर्णन करते हैं कि पायथन कचरा संग्रह कैसे काम करता है।

मुझे दिलचस्पी है कि किस चरण में क्या किया जाता है। इन 3 संग्रहों में कौन सी वस्तुएं हैं? प्रत्येक चरण में किस प्रकार के ऑब्जेक्ट हटा दिए जाते हैं? संदर्भ चक्र खोजने के लिए किस एल्गोरिथम का उपयोग किया जाता है?

पृष्ठभूमि: मैं कुछ खोजों को लागू कर रहा हूं जिन्हें कम समय में पूरा करना है। जब कचरा संग्रहकर्ता सबसे पुरानी पीढ़ी को इकट्ठा करना शुरू करता है, तो यह "बहुत" धीमा होता है अन्य मामलों की तुलना में। खोजों के लिए निर्धारित समय से अधिक समय लगा। मैं देख रहा हूं कि यह कैसे अनुमान लगाया जाए कि यह सबसे पुरानी पीढ़ी को कब एकत्र करेगा और इसमें कितना समय लगेगा।

यह अनुमान लगाना आसान है कि यह कब होगा get_count() और get_threshold() के साथ सबसे पुरानी पीढ़ी को एकत्रित करेगा। उसमें भी set_threshold() के साथ हेर-फेर किया जा सकता है। लेकिन मैं यह नहीं देखता कि यह तय करना कितना आसान है कि संग्रह () को बलपूर्वक करना या निर्धारित संग्रह की प्रतीक्षा करना बेहतर है।