优化TryCatch性能
Author: 杨宁 From:Internet
我们知道使用TryCatch,会引起轻微的性能损失。为了避免这个损失,可以将TryCatch中的语句保持的尽量的短。或者将之间的语句写到一个Sub中。但是调用一个子程序也会引起性能损失。
在下面的例子中说明:调用一个子程序,已经可以带来一定的性能优势。同时也说明TryCatch引起的性能损失是微不足道的。
Private Sub TestTry1()
Dim k As Long = 0
Try
Do
TestSub()‘- Or replace use sub statements
k = 1
If k = 1000000 Then Return
Loop
Catch ex As Exception
End Try
End Sub
Private Sub TestSub()
Dim i As Double
Dim j As Double
i = 1345413433
j = 23413
i = i j
i = i * j
i = i / j
i = i - j
i = 1345413433
j = 23413
i = i j
i = i * j
i = i / j
i = i - j
i = 1345413433
j = 23413
i = i j
i = i * j
i = i / j
i = i - j
i = 1345413433
j = 23413
i = i j
i = i * j
i = i / j
i = i - j
i = 1345413433
j = 23413
i = i j
i = i * j
i = i / j
i = i - j
i = 1345413433
j = 23413
i = i j
i = i * j
i = i / j
i = i - j
i = 1345413433
j = 23413
i = i j
i = i * j
i = i / j
i = i - j
i = 1345413433
j = 23413
i = i j
i = i * j
i = i / j
i = i - j
i = 1345413433
j = 23413
i = i j
i = i * j
i = i / j
i = i - j
i = 1345413433
j = 23413
i = i j
i = i * j
i = i / j
i = i - j
i = 1345413433
j = 23413
i = i j
i = i * j
i = i / j
i = i - j
End Sub
Not to use Sub:
Start: 02:32:03 281814
End: 02:32:04 047425 = 0.765611
Start: 02:32:05 156778
End: 02:32:06 000512 = 0.843734
Start: 02:32:08 625462
End: 02:32:09 375447 = 0.749985
Use Sub:
Start: 02:32:54 358959
End: 02:32:55 124569 = 0.765610
Start: 02:32:55 937053
End: 02:32:56 671414 = 0.734361
Start: 02:32:57 437025
End: 02:32:58 171385 = 0.734360
| 感谢原创者的辛勤劳动,希望对您有所帮助,转载请注明原出处。 |