Share via


HOW TO:改善迴圈的效能

更新:2007 年 11 月

使用最有效的資料型別,即可最佳化迴圈 (Loop) 的效能。若是不需執行多次的短迴圈 (Loop),差異可能不明顯。然而,如果迴圈 (Loop) 需要執行很多次,則節省的效能可能就很明顯。

Integer 和 UInteger 是目前平台上最有效率的型別。Short、Long、UShort 和 ULong 是較沒有效率的,而 Decimal 則相當的慢。如需詳細資訊,請參閱數字資料型別

若要最佳化 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:將控制權轉移出控制結構

HOW TO:重複執行數個陳述式

HOW TO:在集合或陣列中執行各元素的多個陳述式

HOW TO:跳到迴圈的下一個反覆運算

概念

迴圈結構

參考

For...Next 陳述式 (Visual Basic)

其他資源

Visual Basic 中的控制流程