सूची 1 एक सॉर्टेडलिस्ट (MyClass का) है और इसमें 251 सदस्य हैं।एक सॉर्टेडलिस्ट के माध्यम से साइकिल चलाना - यह तेज़ क्यों है? निम्नलिखित उदाहरणों में
पहले दो कोडब्लॉक 15.5 सेकेंड में निष्पादित होते हैं।
For cnt As Integer = 1 To 1000000
For Each TempDE In List1
Dim F As String = TempDE.Key
TempDE.Value.x1 = 444
Next
Next
For cnt As Integer = 1 To 1000000
For Each TempDE As KeyValuePair(Of String, phatob) In List2
Dim F As String = TempDE.Key
TempDE.Value.x1 = 444
Next
Next
यह एक 5.6 सेकंड में निष्पादित करता है।
For cnt As Integer = 0 To 999999
For cnt2 As Integer = 0 To 250
Dim F As String = List1.Keys(cnt2)
List1.Values(cnt2).x1 = 444
Next
Next
क्यों इतना धीमी पहले दो codeblocks कर रहे हैं?
सुनिश्चित नहीं है लेकिन शायद प्रत्येक लूप के लिए पूर्णांक पर फॉर लूप की तुलना में एक बड़ा ओवरहेड है। इस प्रकार दूसरी पंक्ति speedup के लिए जिम्मेदार हो सकता है? मैं वास्तव में नहीं जानता। –
क्या पहले दो लूप 15.5 सेकेंड एक साथ लेते हैं, या हर? – Artelius
@Artelius - प्रत्येक –