我试图让我的 vb6 应用程序运行得更快,原因是我一次用大约 10k 个项目填充vbaccelerators sgrid(这是客户的要求)。
我必须为 10k 项中的每一项填充大约 20 列,并且我必须在其中大约一半以上执行字符串比较,所以我编写了一个字符串比较函数并进行了分析
Function IsEqual(byval value1 as string, Byval value2 as string) as boolean
' content, various versions are below
End function
目前 items = 5000 并且下面的每个时间都显示了所花费的时间和功能的各种版本:
LCase$(Value1) = LCase$(value2)
时间:29149 毫秒
(StrComp(Value1, value2, 1) = 0 )
时间:30836 毫秒
If StrComp(Value1, value2, 1) = 0 Then
IsEqual = True
Else
IsEqual = False
End If
时间 34180 毫秒
If StrComp(Value1, value2, 1) = 0 Then IsEqual = True
时间 28387 毫秒
计时完成:
Declare Function timeBeginPeriod Lib "winmm.dll" (ByVal uPeriod As Long) As Long
Declare Function timeEndPeriod Lib "winmm.dll" (ByVal uPeriod As Long) As Long
Declare Function timeGetTime Lib "winmm.dll" () As Long
它以毫秒为单位返回时间。
反正有没有让比较更快?