如何:提高循环的性能 (Visual Basic)

使用最高效的数据类型可以优化循环的性能。 对于不需要运行多次的短循环,差异可能微不足道。 但是,如果循环运行大量次数,性能的提高则可能相当大。

Integer 和 UInteger 是当前平台上最高效的类型。 Short、Long、UShort 和 ULong 不是那么高效,而 Decimal 则慢多了。 有关更多信息,请参见 数值型数据类型 (Visual Basic)

优化 For...Next 循环的性能

  • 在控制变量中使用最高效的数据类型。 下面的示例演示几种可能的循环变化形式。 绝对计时取决于平台,但运行时比较仍然有效。

    For fastest As Integer = 0 to 1000000
        ' Insert statements to execute for each value of fastest.
    Next fastest
    For notAsFast As Long = 0 to 1000000
        ' Insert statements to execute for each value of notAsFast.
    Next notAsFast
    For muchSlower As Decimal = 0 to 1000000
        ' Insert statements to execute for each value of muchSlower.
    Next muchSlower
    

    第一种情况运行所需时间比第二种情况稍短。 但是,Integer 能处理的最大值仅为 2,147,483,647,而 UInteger 能处理的最大值也仅为 4,294,967,295。 第二和第三种情况可以处理更大的值,这是因为 Long 和 Decimal 接受更大范围的整数,但它们的运行速度更慢。 您可能需要在所用数据类型的速度和容量之间作出设计决策。

请参见

任务

如何:将控件转移到控件结构外 (Visual Basic)

如何:重复运行多条语句 (Visual Basic)

如何:为集合或数组中的每个元素运行多个语句 (Visual Basic)

如何:跳转到循环的下一次迭代 (Visual Basic)

参考

For...Next 语句 (Visual Basic)

概念

循环结构 (Visual Basic)

其他资源

控制流 (Visual Basic)