अजगर कचरा कलेक्टर दस्तावेज [बंद]


132

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

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

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

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

जवाबों:


126

पाइथन अपने कचरा संग्रह (स्रोत कोड के अलावा) को कैसे करता है, इस पर कोई निश्चित संसाधन नहीं है, लेकिन उन 3 लिंक आपको एक बहुत अच्छा विचार देना चाहिए।

अपडेट करें

स्रोत वास्तव में बहुत उपयोगी है। आप इससे कितना बाहर निकलते हैं यह इस बात पर निर्भर करता है कि आप C को कितनी अच्छी तरह से पढ़ते हैं, लेकिन टिप्पणियाँ वास्तव में बहुत सहायक हैं। collect()फ़ंक्शन को छोड़ दें और टिप्पणियां प्रक्रिया को अच्छी तरह से समझाती हैं (यद्यपि बहुत तकनीकी शब्दों में)।


3
सीपीथॉन अब तोड़फोड़ का उपयोग नहीं करता है। उन्होंने hg.python.org पर होस्ट किए गए मर्क्यूरियल पर स्विच किया। चूँकि मैं उस साइट पर किसी फ़ाइल के वर्तमान संस्करण से लिंक करने के तरीके का पता नहीं लगा सकता हूँ, मैं इसके बजाय एक अनौपचारिक GitHub दर्पण से लिंक करूँगा ।
मारियस गेदमिनस

1
कभी भी यह मत समझो कि आधिकारिक साइट पर नवीनतम gcmodule.c से कैसे लिंक किया जाए । मुझे अभी भी GitHub अधिक पठनीय लगता है।
मारियस गेदमिनस

बहुत कुछ सीखो। Thx
गस

1
पहला लिंक पायथन कचरा संग्रहण से संबंधित किसी बात की ओर इशारा नहीं करता है। कृपया लिंक को अपडेट करें।
मनीष बर्णवाल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.