优化TryCatch性能

 我们知道使用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 
 

网站经营许可证号:苏ICP备05047367
版权所有:Copyright 2005 Yookey.com Inc. All rights reserved.