在循環範圍Vs時,性能(速度)會有任何差異Vs將相同範圍分配給數組並循環數組?循環範圍與循環數組之間的性能差異
-3
A
回答
1
循環遍歷數組比遍歷範圍要快得多。
見下面我的測試:
Option Explicit
Const strRANGE_ADDRESS As String = "A1:A100000"
Sub LoopRangeAddOne()
Dim r As Range
Dim lStart As Double
Dim lEnd As Double
lStart = Timer
For Each r In Range(strRANGE_ADDRESS)
r.Value = r.Value + 1
Next r
lEnd = Timer
Debug.Print "Duration = " & (lEnd - lStart) & " seconds"
End Sub
Sub LoopArrayAddOne()
Dim varArray As Variant
Dim var As Variant
Dim lStart As Double
Dim lEnd As Double
lStart = Timer
varArray = Range(strRANGE_ADDRESS).Value
For Each var In varArray
var = var + 1
Next var
Range(strRANGE_ADDRESS).Value = varArray
lEnd = Timer
Debug.Print "Duration = " & (lEnd - lStart) & " seconds"
End Sub
結果:
LoopRangeAddOne持續時間=2.2734375秒
LoopArrayAddOne持續時間=0.08203125秒
這使得通過陣列的速度比96.39%循環通過一個循環。
希望這會有所幫助:)
相關問題
- 1. 循環RenderPartials和部分循環之間是否存在性能差異?
- 2. R - 繪製循環和循環之間的差異
- 3. Javascript日期範圍之間的循環
- 4. 列表解析和循環之間的性能差異
- 5. 循環條件下的性能差異?
- 6. Python的循環範圍VS循環數組
- 7. 兩次分開循環和循環內循環之間的性能
- 8. 範圍外循環
- 9. 3級與循環之間的循環依賴性問題
- 10. 雙嵌套for循環之間的複雜性差異? (Java)
- 11. 循環內循環性能
- 12. 計算循環中的時間差異
- 13. PHP數組循環與子循環
- 14. Vue 2組件循環訪問循環 - 實例/範圍問題
- 15. 的Javascript範圍循環
- 16. C++的範圍循環
- 17. 基於範圍的循環
- 18. C++:for循環的範圍?
- 19. 基於範圍的循環
- 20. for循環的範圍
- 21. 循環中的C++範圍
- 22. 使用循環移動工作簿之間的數據範圍
- 23. Java直接數組索引訪問與循環訪問之間的性能差異
- 24. 爲什麼在嵌套循環的順序之間存在性能差異?
- 25. 循環的SQL性能差異vs調用函數
- 26. c# - 如何循環時間範圍
- 27. 範圍循環打印範圍?
- 28. 差異在一個循環
- 29. R編程循環差異
- 30. Java For循環差異
你有沒有想過嘗試一下呢? – pnuts