मुझे टेक्स्ट फ़ाइल में हजारों गतिशील रूप से जेनरेट की गई पंक्तियां लिखनी होंगी। मेरे पास दो विकल्प हैं, जो कम संसाधनों का उपभोग करते हैं और दूसरे की तुलना में तेज़ हैं?कम संसाधनों का उपभोग करता है और तेज़ी से फ़ाइल करता है File.AppendText या File.WriteAllText स्ट्रिंगबिल्डर में पहले संग्रहित करता है?
ए StringBuilder और File.WriteAllText का उपयोग
StringBuilder sb = new StringBuilder();
foreach(Data dataItem in Datas)
{
sb.AppendLine(String.Format("{0}, {1}-{2}",dataItem .Property1,dataItem .Property2,dataItem .Property3));
}
File.WriteAllText("C:\\example.txt", sb.ToString(), new UTF8Encoding(false));
बी File.AppendText
using(StreamWriter sw = File.AppendText("C:\\example.txt")){
foreach (Data dataItem in Datas)
{
sw.WriteLine(String.Format("{0}, {1}-{2}",dataItem .Property1,dataItem .Property2,dataItem .Property3));
}
}
http://ericlippert.com/2012/12/17/performance-rant/ –
मुझे इस ऑपरेशन को जितनी जल्दी हो सके करने की आवश्यकता है, क्योंकि नेटवर्किंग और डेटाबेस लेखन शामिल है। और मेरे पास कुछ बाधाएं हैं, इसलिए मैं इस सवाल से पूछ रहा हूं क्योंकि मुझे इसकी आवश्यकता है, क्योंकि नहीं, क्योंकि मुझे आपके द्वारा लिंक किए गए लेख के बारे में पता नहीं है। –
मुझे यकीन नहीं है कि गति आपकी मुख्य चिंता यहां होनी चाहिए। मेमोरी उपयोग स्पष्ट रूप से आपके निर्णय को ड्राइव करना चाहिए। यदि डेटा हमेशा छोटा होता है तो आप यह निर्धारित करने के लिए कुछ परीक्षण चला सकते हैं कि कौन सा तेज़ है। – juharr