के प्रदर्शन में सुधार करें मैं ठीक से काम करने वाली फ़ाइल के चेकसम करने के लिए निम्न कोड का उपयोग कर रहा हूं। लेकिन जब मैं एक बड़ी फाइल के लिए हैश उत्पन्न करता हूं, तो 2 जीबी कहें, यह काफी धीमी है। मैं इस कोड के प्रदर्शन में सुधार कैसे कर सकता हूं?SHA-1 ComputeHash
fs = new FileStream(txtFile.Text, FileMode.Open);
formatted = string.Empty;
using (SHA1Managed sha1 = new SHA1Managed())
{
byte[] hash = sha1.ComputeHash(fs);
foreach (byte b in hash)
{
formatted += b.ToString("X2");
}
}
fs.Close();
अद्यतन:
सिस्टम:
ओएस: विन 7 64 बिट, सीपीयू: I5 750, राम: 4GB, HDD: 7200rpm
टेस्ट:
टेस्ट 1 = 59.895 सेकेंड
टेस्ट 2 = 59.9 4 सेकंड
+1 केवल भारी बिट के प्रदर्शन में सुधार करने की कोशिश करने के लिए, और स्वरूपित नहीं है कि स्वरूपित एक अपेक्षाकृत अक्षम तरीके से बनाया गया है :) –
:) शायद इसे स्ट्रिंगबिल्डर में बदलना चाहिए? –
अब आह, आप खुद को उस +1 से बाहर कर रहे हैं! क्या सार्थक हो सकता है यद्यपि यदि आप ऐसे हेक्स स्ट्रिंग का उत्पादन करते हैं तो अक्सर ऐसा करने की विधि होती है जो यह करता है (एक विस्तार विधि के लिए अच्छा मामला)। इसके बाद संभावित रूप से कहीं भी इसका उपयोग किया जा रहा है जहां प्रदर्शन अधिक वास्तविक अंतर बनाएगा, यह स्ट्रिंगबिल्डर (उचित क्षमता पर बनाए गए) या निश्चित आकार के चार सरणी दृष्टिकोणों को आगे ले जाने के लिए अधिक उपयुक्त होगा। –