Я нахожусь в процессе разработки простого антивирусного сканера, и я искал улучшения скорости для следующей функции:
Public Function FindAInB(ByRef byteArrayA() As Byte, ByRef byteArrayB() As Byte) As Integer
Dim startmatch As Integer = -1
Dim offsetA As Integer = 0
Dim offsetB As Integer = 0
For offsetB = 0 To byteArrayB.Length - 1
If byteArrayA(offsetA) = byteArrayB(offsetB) Then
If startmatch = -1 AndAlso offsetB < byteArrayB.Length - 8 Then
startmatch = offsetB
End If
offsetA += 1
If offsetA = byteArrayA.Length Then
Exit For
End If
Else
offsetA = 0
startmatch = -1
End If
Next
Return startmatch
End Function
Мне нужно, чтобы она была турбо быстрой, потому что она ищет около 7800 байтмассивы в байтах выбранного файла.Трудно объяснить, но есть ли альтернатива приведенному выше коду или способ ускорить его?
Заранее спасибо!