"चिंता" गलत है, लेकिन अगर आपके प्रोग्राम पता चला है धीमी गति से हो सकता है, अपेक्षा से अधिक स्मृति उपभोग करते हैं, या अजीब भरी है विराम, कारण वास्तव में उन कचरा संदर्भ लूपों में होने की संभावना है - उन्हें "सामान्य" (विश्वकोश) संदर्भ ग्राफ की तुलना में एक अलग प्रक्रिया द्वारा एकत्रित कचरा होने की आवश्यकता है, और यह संग्रह कभी-कभी होता है और यदि आपके पास बहुत कुछ हो तो धीमा हो सकता है ऐसे लूपों में बंधे ऑब्जेक्ट्स (चक्रीय-कचरा संग्रह भी अवरुद्ध होता है यदि लूप में किसी ऑब्जेक्ट में __del__
विशेष विधि है)।
तो, संदर्भ लूप आपके प्रोग्राम की शुद्धता को प्रभावित नहीं करेंगे, लेकिन इसके प्रदर्शन और/या पदचिह्न को प्रभावित कर सकते हैं।
यदि आप संदर्भों के अवांछित लूप को हटाना चाहते हैं, तो आप अक्सर पाइथन की मानक लाइब्रेरी में weakref मॉड्यूल का उपयोग कर सकते हैं।
हैं और जब आप चक्रीय कचरा संग्रहण के बारे में अधिक प्रत्यक्ष नियंत्रण लागू करने के लिए (या डिबगिंग करते हैं, देखते हैं कि क्या वास्तव में हो रहा है) चाहते हैं, पायथन के मानक पुस्तकालय में gc मॉड्यूल का उपयोग करें।
स्रोत
2010-03-11 21:37:46
प्लस 1। यदि आपके ऑब्जेक्ट विनाशकों के साइड इफेक्ट्स हैं, तो आप चक्रीय संदर्भों (और जब चीजें नष्ट हो जाती हैं) के बारे में कुछ और सावधानी से सोचना चाहेंगे। – speedplane