2009-03-10 13 views
5

प्रबंधन ओवरहेड सहित .net में एक हीप-आवंटित ऑब्जेक्ट का आकार क्या है? मुझे लगता है कि वस्तुओं को 4-बाइट सीमाओं के साथ आवंटित किया गया है, या एक अलग दृष्टिकोण का उपयोग किया जाता है?.NET ऑब्जेक्ट आकार

+0

देखें: http://stackoverflow.com/questions/324053/find-out-the-size-of-a-net-object –

+0

जॉन बी: ​​यह प्रश्न .NET में किसी ऑब्जेक्ट के आकार के बारे में है सवाल .NET ऑब्जेक्ट क्लास के उदाहरणों के आकार के बारे में है। एक बिल्कुल अलग सवाल है। –

उत्तर

5

x86 पर 4 बाइट सीमाएं। संभवतः x64 पर 8 बाइट सीमाएं।

एक प्रकार के संदर्भ और सिंक ब्लॉक के लिए x86 पर 8 बाइट ओवरहेड है। मैं x64 पर 12 या 16 बाइट्स खोजने के लिए आश्चर्यचकित नहीं होगा। एक intसाथ, लेकिन एक वर्ग भी 12 बाइट्स लेता है -

किसी कारण से, 86 पर बस System.Object का एक उदाहरण 12 बाइट्स लेने के लिए, 12 बाइट्स निरपेक्ष न्यूनतम आकार संभव बनाने के लिए प्रकट होता है। मुझे नहीं पता कि यह मामला क्यों है।

+0

आपको उच्च और निम्न स्तर के प्रश्नों का उत्तर देने में सक्षम नहीं होना चाहिए। मैं एक नए टैग के साथ पुनः लोड कर रहा हूं: स्टंप-द-स्कीट। इस मामले में, यह सवाल स्टंप-द-स्कीट है: असफल। –

+0

वह टैग लंबे समय तक नहीं टिक पाया। ;-) –

+0

लगाया गया। सोचा मैं कोशिश करता हूँ। :) –

1

मशीन पर निर्भर करता है, 32 बिट मशीन पर यह आमतौर पर 4-बाइट होता है। हालांकि, 64 बिट बॉक्स पर, यह 8-बाइट्स है, और इसी तरह।

+0

मुझे लगता है कि आप ऑब्जेक्ट ओवरहेड के बजाए * संदर्भ * के आकार के बारे में बात कर रहे हैं। –

+0

argh, हाँ। धन्यवाद –

संबंधित मुद्दे