var a = new double[7000,7000];
FillValue(a,3);
ऐसा लगता है कि नेट वास्तव में पहली पंक्ति को निष्पादित करने के बाद a
पर किसी भी स्मृति को आवंटित नहीं करता है। केवल FillValue
कॉल चल रहा है, जबकि यह धीरे-धीरे स्मृति खा रहा है। (जो लगभग 400 एमबी है)2 डी सरणी प्रारंभ करते समय .net स्मृति आवंटित क्यों नहीं करता है?
क्या कोई मुझे इसके बारे में अधिक जानकारी प्रदान कर सकता है? मैंने सोचा कि a
डिफ़ॉल्ट प्रारंभिकरण के बाद 0 से भरा हुआ है, यह कोई स्मृति नहीं ले सकता है?
आप कैसे माप रहे हैं कि यह स्मृति आवंटित करता है या नहीं? –
@ सेठ कार्नेगी दुख की बात है, मैंने बहुत क्रूर तरीके से उपयोग किया ... बस विंडोज़ टास्क मैनेजर को देखो .. और ब्रेक पॉइंट सेट अप करें, लूप में कुछ बार चलाएं। यह प्रति 'fill' 400 एमबी मेमोरी है जो स्पॉट करना आसान है। – colinfang
यह ऑपरेटिंग सिस्टम की वजह से भी हो सकता है। "मेमोरी संयोजन" देखें http://blogs.msdn.com/b/b8/archive/2011/10/07/reducing-runtime-memory-in-windows-8.aspx –