如何:提高循环的性能 (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)