2012-01-30 12 views
18

मेरा सवाल यह है कि पाइथन जीसी के लिए संदर्भ गणना और मार्क-एंड-स्वीप दोनों का उपयोग क्यों करता है? क्यों न केवल मार्क-एंड-स्वीप?पाइथन जीसी के लिए संदर्भ गणना और मार्क-एंड-स्वीप दोनों का उपयोग क्यों करता है?

मेरा प्रारंभिक अनुमान यह है कि संदर्भ गणना का उपयोग करके गैर-चक्रीय संदर्भित वस्तुओं को आसानी से हटाया जा सकता है, यह कुछ हद तक मार्क-एंड-स्वीप बढ़ा सकता है और तुरंत स्मृति प्राप्त कर सकता है। पता नहीं है कि मेरा अनुमान सही है या नहीं?

कोई विचार?

बहुत बहुत धन्यवाद।

उत्तर

16

पायथन (भाषा) यह नहीं कहता कि किस प्रकार का कचरा संग्रह इसका उपयोग करता है। जैसा कि आप वर्णन करते हैं, मुख्य कार्यान्वयन (अक्सर सीपीथॉन के रूप में जाना जाता है) कार्य करता है। ज्योथन या आयरनपीथन जैसे अन्य संस्करण पूरी तरह से कचरा एकत्रित प्रणाली का उपयोग करते हैं।

हां, संदर्भ गणना के साथ पहले संग्रह का लाभ है, लेकिन मुख्य कारण सीपीथन इसका उपयोग ऐतिहासिक है। मूल रूप से चक्रीय वस्तुओं के लिए कोई कचरा संग्रह नहीं था इसलिए चक्रों ने स्मृति रिसाव का नेतृत्व किया। सी एपीआई और डेटा संरचना संदर्भ गणना के सिद्धांत के चारों ओर भारी आधारित हैं। जब वास्तविक कचरा संग्रह जोड़ा गया था तो मौजूदा बाइनरी एपीआई और उन पर मौजूद सभी पुस्तकालयों को तोड़ने का विकल्प नहीं था, इसलिए संदर्भ गणना को रहना पड़ा।

14

संदर्भ गिनती कचरा संग्रह से जल्द ही वस्तुओं को हटा देता है।

लेकिन संदर्भ गणना के रूप में पहुंचने योग्य वस्तुओं के बीच संदर्भ चक्र संभाल नहीं सकते हैं, इसलिए पाइथन उन चक्रों को इकट्ठा करने के लिए एक कचरा कलेक्टर (वास्तव में केवल एक चक्र संग्रहकर्ता) का उपयोग करता है।

1

मेरा प्रारंभिक अनुमान यह है कि संदर्भ गणना का उपयोग करके गैर-चक्रीय संदर्भित वस्तुओं को आसानी से हटाया जा सकता है, यह कुछ हद तक मार्क-एंड-स्वीप बढ़ा सकता है और तुरंत स्मृति प्राप्त कर सकता है। पता नहीं है कि मेरा अनुमान सही है या नहीं?

हां। जैसे ही refcount शून्य हो जाता है और ऑब्जेक्ट को हटाया जा सकता है। यह चक्रीय संदर्भित वस्तु में नहीं होगा। AFAIK, मार्क और स्वीप एक महंगा संचालन है और इसे लागू करने का सबसे आसान तरीका आपको वस्तुओं को चिह्नित करते समय "दुनिया को रोकना" की आवश्यकता है। जब सभी वस्तुओं को पार किया जाता है, एंडी ऑब्जेक्ट चिह्नित नहीं होता है (पहुंचने योग्य) जारी किया जाता है।

संबंधित मुद्दे