优化TryCatch性能
发表于:2007-06-30来源:作者:点击数:
标签:
我们知道使用TryCatch,会引起轻微的 性能 损失。 为了避免这个损失,可以将TryCatch中的语句保持的尽量的短。 或者将之间的语句写到一个Sub中。 但是调用一个子程序也会引起性能损失。 在下面的例子中说明:调用一个子程序,已经可以带来一定的性能优势。
我们知道使用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
原文转自:http://www.ltesting.net