在循环范围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