मैं खुद के लिए एक सरल फ़ोल्डर समन्वयन बैकअप उपकरण बना रही हूँ और File.Copy का उपयोग कर काफी अवरोध का सामना किया। मेरे सिस्टम में ~ 44,000 छोटी फाइलों (विंडोज़ मेल फ़ोल्डर्स) के किसी फ़ोल्डर को कॉपी करने के परीक्षणों का परीक्षण करते हुए, मैंने पाया कि फ़ाइल.कॉपी का उपयोग कमांड लाइन का उपयोग करने से 3x धीमी थी और उसी फाइल/फ़ोल्डरों की प्रतिलिपि बनाने के लिए xcopy चल रहा था। फाइलों की प्रतिलिपि बनाने के लिए मेरे सी # संस्करण में 16+ मिनट लगते हैं, जबकि एक्सकॉपी केवल 5 मिनट लेता है। मैंने इस विषय पर मदद की तलाश करने की कोशिश की है, लेकिन मुझे लगता है कि लोग नेटवर्क पर बड़ी फ़ाइलों की धीमी फ़ाइल प्रतिलिपि के बारे में शिकायत करते हैं। यह न तो एक बड़ी फाइल समस्या है और न ही नेटवर्क कॉपी करने की समस्या है।.net File.Copy बहुत धीमी गति से जब कई छोटे फ़ाइलों की प्रतिलिपि (नेटवर्क पर नहीं)
मुझे interesting article about a better File.Copy replacement मिला, लेकिन पोस्ट किए गए कोड में कुछ त्रुटियां हैं जो ढेर के साथ समस्याएं पैदा करती हैं और मैं उनके कोड में समस्याओं को ठीक करने के लिए पर्याप्त जानकारी के पास कहीं भी नहीं हूं।
क्या फ़ाइल को कॉपी करने के लिए कोई सामान्य या आसान तरीका है। कुछ और तेज़ी से?
अच्छी जानकारी के लिए धन्यवाद! मैं विशेष रूप से एक्सकॉपी करने के बारे में बताए गए पढ़ने/लिखने को बफर करने की कोशिश करने में रूचि रखता था। मैंने 50 एमबी बफर के साथ कुछ परीक्षण किए और पाया कि मुझे मेरी प्रतिलिपि 14 मिनट 40 सेकंड तक मिल गई है। तो एक अद्भुत सुधार नहीं, लेकिन बेहतर है। XCopy के समय के पीछे अभी भी lightyears। मैं देखता हूं कि पढ़ना/लिखना थ्रेडिंग अगली मदद करता है ... – Guavaman
दरअसल, मुझे लगता है कि मेरी फ़ाइलस्ट्रीम आधारित बफर्ड कॉपी सिस्टम फ़ाइल गुणों (विशेषताओं, निर्माण समय इत्यादि) की प्रतिलिपि नहीं बना रहा था, मुझे 16 मिनट बाद वापस आ गया है। उन्हें वापस जोड़ने के बाद, प्रतिलिपि समय वापस फाइल.कॉपी के साथ था, केवल मैंने 50 एमबी मेमोरी को बफर करने के लिए खो दिया है। :( – Guavaman