性能评测

针对某一具体情况所选的算法是否最优,有时并不好判定。为了验证假设,可以象下面的例子那样,创建一个简单的应用程序来评测其性能。示例应用程序 Optimize.vbp 包含了几个不同的测试方案。

创建性能测试应用程序

  1. 打开一个新的 .exe 工程。

  2. 创建一个窗体,该窗体有两个命令按钮:Command1 和 Command2。

  3. 在 Command1_Click 事件中添加下列代码:
    Private Sub Command1_Click()
    Dim dblStart As Double
    Dim dblEnd As Double
    Dim i as Long
    
    dblStart = Timer        '读取开始时间。
    
    For i = 0 To 9999
    Routine to test    '插入测试例程。
    Next
    
    dblEnd = Timer            '读取结束时间
    
    Debug.Print dblEnd - dblStart    '显示
    '运行时。
    End Sub
    
  4. 在 Command2_Click 事件中添加相同的代码,把要测试的程序替换成第二个版本。

  5. 运行这个应用程序,并在立即窗口中监视运行结果。

这个示例使用了 Visual Basic 的 Timer 类的缺省属性,计算循环体中代码的运行时间。针对每个命令按钮,在循环体中替换不同的程序,可以很快地比较出不同算法的性能。测试的代码可以直接写在循环体内,也可以是对其它过程的调用。

也许需要试验不同的循环上限值,尤其是评测运行快的程序。由于每次运行的结果可能不同,所以每一版本都要运行几次,然后求得其平均速度。

详细信息 也可以通过提高数据的访问速度来优化应用程序。提高数据访问速度的方法很多,有些方法在 Visual Basic 专业版和企业版中的《数据访问对象指南》中进行了讨论。