मैं एक मास्टर-गुलाम शैली अनुप्रयोग विकसित कर रहा हूं। मास्टर एप्लिकेशन कुछ स्थिर दर पर प्रक्रिया और प्रदर्शन करने के लिए दास (ओं) को राज्य डेटा भेज देगा। राज्य डेटा एक वर्ग में लपेटा जाता है जिसमें कई फ़ील्ड होते हैं। इन फ़ील्ड प्रकारों में प्राइमेटिव, कक्षाएं, इंटरफेस, इंटरफेस की सूचियां, आदि शामिल हैं। सभी प्रकार या तो बीसीएल या कस्टम प्रकार हैं, इसलिए यदि आवश्यक हो तो कस्टम प्रकारों को संशोधित किया जा सकता है। मास्टर और दास दोनों अनुप्रयोग .NET 4.0 होंगे। मैं धारावाहिक संस्करण के साथ चिंतित नहीं हूं क्योंकि मास्टर और गुलाम अनुप्रयोगों को एक जोड़ी के रूप में वितरित किया जाएगा।क्या मुझे अभी भी .NET 4.0 में सरल सीरियलाइजेशन के लिए बाइनरीफॉर्मेटर का उपयोग करना चाहिए?
मुझे मास्टर पर राज्य डेटा को क्रमबद्ध करने और दासों पर इसे विलुप्त करने के लिए "त्वरित" तरीका चाहिए। जब मैं "त्वरित" कहता हूं, तो मैं विकास के समय के बारे में और बात कर रहा हूं (लेकिन अगर समाधान भयानक था तो प्रसंस्करण समय एक कारक हो सकता है)। हालांकि, मास्टर और गुलामों को एक वैन पर वितरित किया जाएगा, इसलिए कॉम्पैक्टनेस का कुछ स्तर भी अच्छा होगा।
एक त्वरित समाधान के लिए, मैं वर्तमान में BinaryFormatter
का उपयोग करने और फिर GZipStream
के साथ स्ट्रीम को संपीड़ित करने के बारे में सोच रहा हूं। क्या यह .NET 4.0 के लिए जाने का तरीका है?
BinaryFormatter ठीक है, अपनी आवश्यकताओं और उपयोग करने के लिए अपने मृत-सरल के लिए एक 3 पार्टी समाधान के आसपास खींचें करने के लिए कोई जरूरत नहीं। GZipStream का उपयोग न करें, यह केवल ओवरहेड जोड़ता है। मेमोरी बैंडविड्थ इसे भुगतान करने के लिए बहुत अधिक है। –
@ हंस: वह एक वैन पर डेटा भेजने के बारे में बात कर रहा है (जिसका शायद बैंडविड्थ 10 एमबीपीएस से कम है)। मुझे लगता है कि इस एप्लिकेशन के लिए 'GZipStream' लगभग अनिवार्य है। – Gabe
@Gabe: याद किया कि, सहमत हो गया। –