How to: Improve the Performance of a Loop (Visual Basic)
You can optimize the performance of a loop by using the most efficient data types. For a short loop that does not run many times the difference might be negligible. However, if the loop runs a large number of times, the performance savings could be considerable.
Integer and UInteger are the most efficient types on current platforms. Short, Long, UShort, and ULong are not as efficient, and Decimal is considerably slower. For more information, see Numeric Data Types (Visual Basic).
To optimize the performance of a For...Next loop
Use the most efficient data type for the control variable. The following example shows some possible variations on a loop. The absolute timings are dependent on the platform, but the run-time comparisons are still valid.
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
The first case takes slightly less time to run than the second case. However, Integer can handle values only up to 2,147,483,647, and UInteger only up to 4,294,967,295. The second and third cases can handle larger values, because both Long and Decimal accept a wider range of integers, but they run more slowly. You might have to make a design decision between speed and capacity of the data types you use.