如何加速这段代码

时间:2014-01-09 01:00:28

标签: vb.net optimization

我已经在内存编辑器上工作了一段时间。其中一个关键方面是在内存中查找与搜索词匹配的值。然而,这非常缓慢。这是代码:

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次,因此不会构成大量的时间(它是一个小数组)。谢谢!

1 个答案:

答案 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