आवंटित बहुत सारी वस्तुओं के साथ त्वरित सी बाहर निकलने के लिए मैं एक सी ++ से बाहर निकलने का एक तरीका ढूंढ रहा हूं जिसने सी ++ कक्षाओं का उपयोग करके स्मृति में कई संरचनाओं को आवंटित किया है। कार्यक्रम सही ढंग से खत्म हो जाता है, लेकिन कार्यक्रम में अंतिम "वापसी" के बाद, सभी ऑटो-डिस्ट्रक्टर्स लात मारते हैं। समस्या यह है कि प्रोग्राम ने सी ++ वर्ग संरचनाओं के माध्यम से लगभग 15 जीबी मेमोरी आवंटित की है, और यह स्वत: विनाश प्रक्रिया लेती है लगभग 1 घंटे तक पूरा होने के लिए यह सभी संरचनाओं के माध्यम से चलता है - भले ही मुझे परिणामों की परवाह नहीं है। कार्यक्रम को इस बिंदु तक कार्य को पूरा करने में केवल 1 घंटा लग गए। मैं सिर्फ ओएस पर लौटना चाहता हूं और इसे अपनी सामान्य थोक प्रक्रिया आवंटन हटाना चाहता हूं - जो बहुत तेज़ है। मैं क्लीनअप चरण के दौरान प्रक्रिया को मैन्युअल रूप से मार कर ऐसा कर रहा हूं - लेकिन एक बेहतर प्रोग्रामिक समाधान की तलाश में हूं।सी ++ से त्वरित सफल निकास
मैं ओएस में सफलता वापस करना चाहता हूं, लेकिन मेमोरी सामग्री को रखने की परवाह नहीं करता हूं। कार्यक्रम सामान्य प्रसंस्करण के दौरान बहुत गतिशील आवंटन/डीलोकेशन करता है, इसलिए यह केवल सरल ढेर प्रबंधन नहीं है।
कोई राय?
यदि आप विनाशक में कुछ भी नहीं कर रहे हैं तो यह केवल एक घंटा नहीं ले सकता है। ऐसा कुछ होना चाहिए जो इसे अवरुद्ध कर रहा हो। क्या आपने इसे प्रोफाइल करने की कोशिश की है? – Naveen