我已经在内存编辑器上工作了一段时间。其中一个关键方面是在内存中查找与搜索词匹配的值。然而,这非常缓慢。这是代码:
For i = 0 To 1318706384 - 4 Step 4
For j = 0 To 3
temparry(j) = alldata(i + j)
Next
tempint = BitConverter.ToSingle(temparry, 0)
If tempint + 0.01 > xposs AndAlso tempint - 0.01 < xposs Then
ReDim Preserve xpos(xpos.GetLength(0))
xpos(xpos.GetLength(0) - 1) = i
End If
If InStrRev(i.ToString, "000000") > 0 Then
Label1.Text = i / 1318706384 * 100
Me.Update()
End If
Next
关于如何加快速度的任何建议都会很棒! xpos数组仅重新调整大约50次,因此不会构成大量的时间(它是一个小数组)。谢谢!
答案 0 :(得分:1)
应该有助于速度的一件事是,不是创建临时数组,而是将起始索引传递给BitConverter.ToSingle
。
'For j = 0 To 3
'temparry(j) = alldata(i + j)
'Next
tempint = BitConverter.ToSingle(alldata, i)
如果你在最后一位搜索的0是在最后那么模数运算符Mod
应该比将i转换为字符串并搜索字符串
If i Mod Math.Pow(10,5) = 0 Then