में मेमोरी मैनेजमेंट मुझे पर्ल में मेमोरी को संभालने का एक अजीब मुद्दा सामना करना पड़ रहा है। मैं एक पर्ल आवेदन में काम कर रहा हूं जो बहुत बड़े हैश-संरचनाओं का उपयोग करता है। मैं ऑब्जेक्ट्स को रेफरी कर रहा हूं और ऑब्जेक्ट कर रहा हूं। लेकिन अंत में ऐसा लगता है कि अगर मैं ऑब्जेक्ट और हैश को हटा रहा हूं, तो स्मृति उपयोग समान रहता है।पर्ल
my $hash = {};
.............
this ds gets populated with a lot of data ...
.......
{
my $obj = new Class("data"=>$hash);
.......
.......
......
}
#even undefing the $hash
undef $hash;
# I can expect some improvement in Memory Utilization, but its not happening
मुझे लगता है कि मैं कुछ बहुत ही बुनियादी गलतियों कर रहा हूँ:
यहाँ समस्या का एक नमूना है। क्या कोई सुझाव दे सकता है?
वस्तुओं के मामले में क्या होता है? जब कोई वस्तु दायरे से बाहर हो जाती है, तो विनाशक को बुलाया जाता है। क्या यह अभी भी ऑब्जेक्ट में परिभाषित शब्दावली चर की स्मृति रखेगा? – Kallol
@ कॉलोल, यह मामला दायरे से बाहर जाने वाले सामान्य चर से अलग नहीं है, सिवाय इसके कि आप अपने ऑब्जेक्ट का कुछ कस्टम क्लीनअप कर सकते हैं। मेमोरी * कुछ और के लिए उपयोग करने के लिए पर्ल के लिए स्वतंत्र होगा, लेकिन पर्ल अभी भी इसे सिस्टम पर वापस नहीं देगा। – dan1111
किस तरह का custome सफाई किया जा सकता है? – Kallol