Table of Contents
पायथन प्रदर्शन और उपयोग में आसानी को अनुकूलित करने के लिए स्वचालित रूप से स्मृति का प्रबंधन करता है। यह समझना कि कैसे पायथन स्मृति आवंटन और कचरा संग्रह को संभालता है, डेवलपर्स को अधिक कुशल कोड लिखने और स्मृति से संबंधित मुद्दों को परेशान करने में मदद कर सकता है।
पायथन में मेमोरी प्रबंधन
पायथन सभी वस्तुओं और डेटा संरचनाओं के लिए एक निजी हेप स्पेस का उपयोग करता है। पायथन अनुवादक इस हेप का प्रबंधन करता है, जो प्रोग्रामर के लिए सीधे सुलभ नहीं है। जब एक नया ऑब्जेक्ट बनाया जाता है, तो स्मृति इस हेप से आवंटित की जाती है।
मेमोरी आवंटन को एक आंतरिक आवंटन के माध्यम से कुशलतापूर्वक संभाला जाता है जो विखंडन को कम करता है और आवंटन और सौदे के लिए प्रक्रिया को गति देता है। पायथन का मेमोरी मैनेजर भी आवश्यकतानुसार मेमोरी का अनुरोध करने या रिलीज करने के लिए ऑपरेटिंग सिस्टम के साथ बातचीत करता है।
पायथन में कचरा संग्रह
पायथन उन वस्तुओं द्वारा कब्जा कर लिया गया है जो अब उपयोग में नहीं हैं। प्राथमिक विधि संदर्भ गिनती है, जहां प्रत्येक वस्तु के पास इसके संदर्भों की गिनती है। जब यह गिनती शून्य हो जाती है, तो वस्तु तुरंत निपटा जाता है।
हालांकि, अकेले संदर्भ की गिनती चक्रीय संदर्भों को संभाल नहीं सकती है-स्थिति जहां वस्तुएं एक दूसरे का संदर्भ देती हैं। इस पते पर, पायथन में एक चक्रीय कचरा कलेक्टर शामिल है जो समय-समय पर इन चक्रों का पता लगाता है और एकत्र करता है।
पाइथन की मेमोरी प्रबंधन की प्रमुख अवधारणाएं
- ]Private Heap: मेमोरी स्पेस को आंतरिक रूप से पाइथन द्वारा प्रबंधित किया गया।
- Reference counting: प्रत्येक वस्तु के संदर्भ की संख्या ट्रैक करता है।
- Cyclic Garbage Collector: cyclic संदर्भों का पता लगाता है और मुक्त करता है।
- Memory Allocation: ने विखंडन को कम करने के लिए कुशलतापूर्वक संभाला।