2010-02-25 9 views
17

मुझे पता है कि अगर कोई नया .NET 4.0 मेमोरी मैप फ़ाइल सुविधाओं की कोशिश की चाहते हैं? मुझे पता है कि वे ओएस के रूप में पुराने हैं लेकिन .NET में देशी हैंडलिंग नया है।.NET 4.0 मेमोरी मैप फ़ाइलें प्रदर्शन

किसी को भी इस का परीक्षण और प्रदर्शन के बारे में कुछ कहने के लिए सक्षम हो गया है? मुझे बाइनरी फ़ाइल के यादृच्छिक हिस्सों तक पहुंचने में काफी दिलचस्पी है, गति लिखो और इसी तरह। देशी WinAPI एमएमएफ के लिए प्रदर्शन तुलना भी अच्छा होगा।

धन्यवाद!

+0

पता नहीं भाई आप नेट –

+0

पर किसी भी बेंचमार्क प्राप्त नहीं, मैं कोई ठोस संख्या ... केवल तकनीक कल्पना और फायदे नहीं मिल सकता है नहीं है। – michajas

उत्तर

4

मेमोरी (नई System.IO.MemoryMappedFiles नाम स्थान में) .NET 4.0 में मैप फ़ाइलों को आसानी से Win32 एपीआई लपेट स्मृति मैप की गई फ़ाइलों के लिए।

इसका मतलब है कि वे जितनी जल्दी संभव हो सकता है कर रहे हैं। यह वही तंत्र है जिसका उपयोग स्मृति में .NET असेंबली को लोड करने के लिए किया जाता है।

वास्तविक समय संख्या के संदर्भ में, यह 32 बिट बनाम 64 बिट पर निर्भर करेगा, आपके पास कितनी मेमोरी है, फाइलें कितनी बड़ी हैं, एक्सेस पैटर्न (और) बड़ी मात्रा में भौतिक डिस्क हार्डवेयर का प्रकार है।

रेफरी: Memory-Mapped Files

+0

धन्यवाद, मुझे यह संदर्भ पता है, इस प्रश्न के लिए अधिक सटीक यह लिंक होना चाहिए: http://msdn.microsoft.com/en-us/library/ms810613.aspx (यह आपके द्वारा उल्लिखित पृष्ठ पर था)। मुझे लगता है, मैं खुद कुछ परीक्षा केस करूँगा और यहां परिणाम पोस्ट करूंगा। लेकिन, शायद किसी ने उन्हें पहले से ही किया था? – michajas

+0

"लेकिन, शायद किसी ने उन्हें पहले से ही किया था?" - वास्तविक संख्या उपर्युक्त वर्णित कुछ कारकों पर निर्भर करेगी, जो संभवतया मानक मानक बेंचमार्क उपलब्ध नहीं है। –

+0

मुझे इन कारकों के बारे में पता है, लेकिन मैं मानकीकृत बेंचमार्क के बारे में नहीं सोच रहा हूं, लेकिन पूर्ण परीक्षण केस (हार्डवेयर इत्यादि) के साथ परिणाम। यह सबसे अच्छा होगा यदि इन्हें फाइलस्ट्रीम इत्यादि जैसे अन्य तरीकों से तुलना की गई थी। मैं इसके बारे में पूछता हूं क्योंकि मुझे बड़ी फाइलों (10 जीबी से अधिक) और उनके द्वारा यादृच्छिक डेटा पढ़ने के लिए काम करने जा रहा है। मैं जानना चाहता हूं कि एमएमएफ सबसे अच्छा विकल्प है :) – michajas

0

प्रश्न निम्नलिखित में मैं MemoryMapped फ़ाइलें के एक प्रदर्शन परीक्षण बनाम मानक आईओ बनाया:

Disadvantages of using memory mapped files

मैं अपने उद्देश्यों के लिए अस्वीकार बड़ा कमियां खोजने के लिए सक्षम नहीं था, प्रदर्शन स्मृति मैप की गई फ़ाइलों के लिए लगभग 4x तेज है और प्रश्न में आप इन फ़ाइलों के काम के तरीके के बारे में कुछ दिलचस्प संकेत प्राप्त कर सकते हैं और क्या ध्यान में रखना है।

0

मेरी परीक्षणों में .NET 4.5 MMF के प्रदर्शन देशी WinAPI कॉल के प्रदर्शन की ~ 40% है, यानी दो बार धीमी की तुलना में अधिक था।

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