दिलचस्प पोस्ट
इवेंट जब एक विंडो को अधिकतम / अधिकतम-अधिकतम किया जाता है आईपैड के साथ काम नहीं कर रहे Jquery क्लिक करें सीडी में 2 डी सरणी का ब्लॉक MPI का उपयोग कर भेजना क्या PHP की गिनती () फ़ंक्शन ओ (1) या हे (एन) सरणियों के लिए है? JQuery मोबाइल में पेज-आईडी के लिए पैरामीटर पास करना जिज्ञासु रिक्त संपार्श्विक ऑपरेटर कस्टम अंतर्निहित रूपांतरण व्यवहार कॉफी स्क्रिप्ट मॉड्यूल के लिए पैटर्न स्थिर टाइप और गतिशील टाइप किए गए भाषाओं में अंतर क्या है? विभिन्न प्रक्रियाओं के बीच फाइल डिस्क्रिप्टर को पास करने का पोर्टेबल तरीका SQLite-query से पंक्तियों के माध्यम से दोहराएं सी ++ मानक पुस्तकालय और बोहेम कचरा कलेक्टर डीएओ और सर्विस लेयर (जेपीए / हाइबरनेट + स्प्रिंग) अनछुए त्रुटि: इनरिएन्ट उल्लंघन: खोजकंपनीटूट (…, … $ 110): तत्व ढूंढने में असमर्थ इसका मतलब यह है कि DOM अप्रत्याशित रूप से उत्परिवर्तित था एंड्रॉइड में देशी कोड से मेमोरी लीक कैसे खोजें क्या Git submodule के रूप में एक मर्कुरियल रिपॉजिटरी का उपयोग करने का कोई तरीका है?

सीएलआर 4.0 में एकल ऑब्जेक्ट अभी भी 2 जीबी तक सीमित हैं?

जैसा कि मैं समझता हूं कि .NET में एकल उदाहरणों पर 2 जीबी की सीमा है। मैंने उस पर बहुत ध्यान नहीं दिया है क्योंकि मैं मुख्य रूप से 32 बिट ओएस पर काम कर रहा हूं। 32 पर, लेकिन वैसे भी एक कृत्रिम सीमा अधिक या कम है हालांकि, मुझे यह जानने में बहुत आश्चर्य हुआ कि यह सीमा 64 बिट । नेट पर भी लागू होती है

चूंकि संग्रह List<T> वस्तुओं की दुकान के लिए एक सरणी का उपयोग करते हैं, इसलिए इसका मतलब है कि 32 बिट पर चलने वाला कोई नेट अनुप्रयोग 64 बिट पर चलने वाले समान अनुप्रयोग की तुलना में एक सूची में दो बार कई संदर्भ प्रकार के आइटम पकड़ने में सक्षम होगा। यह काफी आश्चर्यजनक इमो है

क्या किसी को पता है कि सीएलआर 4.0 में इस सीमा को संबोधित किया गया है (इस समय मेरे पास 4.0 स्थापना नहीं है)।

Solutions Collecting From Web of "सीएलआर 4.0 में एकल ऑब्जेक्ट अभी भी 2 जीबी तक सीमित हैं?"

यह उस से भी बदतर है – आप प्रक्रिया की जगह है, जब आप 32 बिट में .NET में काम कर रहे हैं सैद्धांतिक सीमा से बहुत कम है 32 बिट। नेट एप्स में, मेरा अनुभव यह है कि आप मेमोरी उपयोग की लगभग 1.2-1.4 जीबी मेमोरी त्रुटियों से बाहर निकलने शुरू करते हैं (कुछ लोग कहते हैं कि वे 1.6 तक पहुंच सकते हैं … लेकिन मैंने कभी नहीं देखा )। बेशक, यह 64 बिट सिस्टम पर कोई समस्या नहीं है

कहा जा रहा है कि, संदर्भ प्रकारों की एक भी 2 जीबी सरणी, यहां तक ​​कि 64 बिट सिस्टम पर, वस्तुओं की एक बड़ी मात्रा है यहां तक ​​कि 8 बाइट संदर्भों के साथ, आपके पास 268,435,456 ऑब्जेक्ट संदर्भों की एक सरणी आवंटित करने की क्षमता है – जिनमें से प्रत्येक बहुत बड़ी हो सकते हैं (2 जीबी तक, और अधिक अगर वे नेस्टेड ऑब्जेक्ट्स का उपयोग कर रहे हैं)। यह अधिक स्मृति की तुलना में वास्तव में सबसे अधिक अनुप्रयोगों के लिए आवश्यक होगा।

सीएलआर टीम के सदस्यों में से एक ने इस बारे में ब्लॉग किया , इन सीमाओं के आसपास काम करने के तरीकों के लिए कुछ विकल्प एक 64 बिट सिस्टम पर, अपने BigArray <T> की तरह कुछ करना, किसी भी संख्या में ऑब्जेक्ट को सरणी में आवंटित करने के लिए एक सक्षम समाधान होगा – 2 जीबी एकल ऑब्जेक्ट सीमा से अधिक है पी / इंवोक भी आपको बड़ी सरणी आवंटित करने की अनुमति दे सकता है।


संपादित करें: मुझे इसका उल्लेख करना चाहिए था, साथ ही – मुझे विश्वास नहीं है कि इस व्यवहार को बिल्कुल भी नेट पर बदल दिया गया है। एनएटी की शुरुआत के बाद से व्यवहार अपरिवर्तित रहा है।


संपादित करें: .NET 4.5 में अब विकल्प x64 में स्पष्ट रूप से ऑब्जेक्ट्स को 2 जीबी से अधिक के लिए app.config में gcAllowVeryLargeObjects सेट करके अनुमति देंगी ।

.NET Framework 4.5 64 बिट प्लेटफ़ॉर्म पर 2GB से बड़ा एरे बनाने की अनुमति देता है यह सुविधा डिफ़ॉल्ट रूप से नहीं है, इसे gcAllowVeryLargeObjects तत्व का उपयोग कर config फाइल के माध्यम से सक्षम होना चाहिए।

http://msdn.microsoft.com/en-us/library/hh285054(v=vs.110).aspx

यह संख्यात्मक क्षेत्र में एक बड़ा सौदा है। .NET में संख्यात्मक कक्षा पुस्तकालयों का उपयोग करने वाले कोई भी उनके मैट्रिक्स को नीचे के एरे के रूप में संग्रहीत किया गया है। यह इतनी मूल लाइब्रेरी है जिसे नंबर क्रंचिंग करने के लिए कहा जा सकता है। 2 जीबी की सीमा गंभीर रूप से 64-बिट। नेट में मैट्रिक्स के आकार को रोकती है। और यहां पर