HOW TO:改善迴圈的效能 (Visual Basic)
使用最有效的資料型別,即可最佳化迴圈 (Loop) 的效能。 若是不需執行多次的短迴圈 (Loop),差異可能不明顯。 然而,如果迴圈 (Loop) 需要執行很多次,則節省的效能可能就很明顯。
Integer 和 UInteger 是目前平台上最有效率的型別。 Short、Long、UShort 和 ULong 是較沒有效率的,而 Decimal 則相當的慢。 如需詳細資訊,請參閱數字資料型別 (Visual Basic)。
若要最佳化 For...Next 迴圈的效能
使用控制項變數的最有效率資料型別。 下列範例顯示迴圈 (Loop) 上的一些可能變化。 絕對時間與平台有關,但執行階段比較仍是有效的。
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 都接受較大範圍的整數,但它們的執行速度較慢。 可能需要在所使用之資料型別的速度和容量間做設計上的取捨。
請參閱
工作
HOW TO:將控制權轉移出控制結構 (Visual Basic)
HOW TO:重複執行數個陳述式 (Visual Basic)
HOW TO:在集合或陣列中執行各元素的多個陳述式 (Visual Basic)
HOW TO:跳到迴圈的下一個反覆運算 (Visual Basic)