1
A
回答
4
我写了下面的测试程序:
var array:Array = [];
var start:int = getTimer();
for (var index:int = 0; index < 10000; index++)
{
array.push(4);
array = [];
//array.length = 0;
}
var end:int = getTimer();
trace (end - start);
使用。长度= 0报告10毫秒。使用array = []报告21毫秒。显然,做.length = 0要快得多。此外,执行array = []可能会导致更早/更频繁的垃圾回收,因为它可能会执行堆分配。垃圾收集会在稍后减慢应用程序的速度。
.length = 0由于多种原因而获胜。
+0
谢谢,相当清晰的答案。 – tony 2011-06-16 16:50:01
相关问题
- 1. 在AS3中清空矢量或阵列的最佳方法是什么?
- 2. 洗牌阵列的最佳算法
- 3. 阵列或阵列的加权混洗?
- 4. 重建numpy的阵列,需要更快的方法
- 5. 有更快的方法来检查使用AS3的BitmapData.getPixel32()吗?
- 6. 洗牌出从阵列
- 7. 混洗阵列一后
- 8. 洗牌阵列在PHP
- 9. JavaScript中的快速方式用新值更新现有阵列
- 10. Python更快的方法做排列
- 11. 更快的方法来分开列表
- 12. 无法清空JS阵列
- 13. 插槽清洗
- 14. AS3 - 可拖动方块从阵列
- 15. MongoDB的query.update方法不更新阵列
- 16. AS3吐温阵列
- 17. 排序阵列AS3
- 18. AS3向量阵列
- 19. 酸洗类方法
- 20. 洗牌NumPy的阵列沿给定轴
- 21. 洗牌单元阵列(Matlab的)
- 22. 最有效的阵列洗牌机
- 23. 可预测的Javascript阵列洗牌
- 24. 无效的阵列洗牌器
- 25. Javascript - 将阵列部分复制到另一个阵列的最快方法
- 26. 使用Javascript - 更清洁的方式在阵列
- 27. 在AS3阵列中查找序列
- 28. 将增加spark.executor.cores使洗牌更快
- 29. PHP代码清洗
- 30. Tablesorter货币清洗
如果你需要经常这样做(它们本身很小),速度差异实际上会变得很明显,你可以做一些非常错误的事情。甚至忽略了这一点,我敢打赌,有十几个地方可以进行更多的优化(如在很多数量级上)。 – delnan 2011-06-16 16:33:01
我猜想第二个选项,因为第一个是实例化。 – RIAstar 2011-06-16 16:34:25
在第一个中,你实际上是在创建一个新的数组并将其分配给myArray变量。在第二个中,您正在重置长度 – divillysausages 2011-06-16 16:39:43