数组方法执行效率的比较
2011-05-18 14:30
239 查看
public class ForEachTest extends Sprite { private var _len:int = 500000; private var _arr1:Vector.<Number>; private var _arr2:Vector.<Number>; private var _arr3:Vector.<Number>; private var _arr4:Vector.<Number>; private var _arr5:Vector.<Number>; public function ForEachTest() { super(); _arr1 = new Vector.<Number>(_len); _arr2 = new Vector.<Number>(_len); _arr3 = new Vector.<Number>(_len); _arr4 = new Vector.<Number>(_len); _arr5 = new Vector.<Number>; test(); } private function test():void { var time:int; time = getTimer(); for(var i:int=0; i<_len; i++) { _arr5.push(1); } traceTime("push", time); time = getTimer(); _arr4.forEach(arrFunction3); function arrFunction3(item:Number, index:int, arr:Vector.<Number>):void { arr[index] = 1; } traceTime("内联:", time); time = getTimer(); _arr2.forEach(arrFunction1); traceTime("item", time); time = getTimer(); _arr3.forEach(arrFunction2); traceTime("index", time); var len1:int = _arr1.length; time = getTimer(); for(var j:int=0; j<len1; j++) { _arr1[j] = 1; } traceTime("i=", time); } private function arrFunction1(item:Number, index:int, arr:Vector.<Number>):void { arr[index] = 1; } private function arrFunction2(item:Number, index:int, arr:Vector.<Number>):void { arr[index] = 1; } private function traceTime(name:String, start:int):void { trace(name, getTimer() - start); } }
比较效率后,发现还是最原始的 for(var i=0; i<len; i++)效率最高……
相关文章推荐
- 比较C#中几种常见的复制字节数组方法的效率[转]
- for-forEach-stream三种遍历方法执行效率比较与选用思考
- JavaScript判断是否为数组的3种方法及效率比较
- 三种数组去重方法的遍历效率比较
- 比较两种数组随机排序方法的效率 JavaScript版
- 测试代码执行效率的几种方法比较
- 四中copy数组方法的效率比较
- 比较C#中几种常见的复制字节数组方法的效率
- Python执行效率测试模块timei的使用方法与与常用Python用法的效率比较
- eval执行效率测试 ——直接调用方法传递参数和通过eval方法调用并传递参数 耗时比较
- Haskell、C#、Java、C 程序执行效率比较 :Write your first parallel Haskell program
- 三种常用的字符串判空串方法执行速度比较
- 两种数组去重方法比较
- [测试]java IO写入文件效率——几种方法比较
- java数组复制的四种方法效率对比
- C#比较二个数组并找出相同或不同元素的方法
- Oracle提高SQL执行效率的3种方法
- OFFICE文档转换到PDF的几种方法与转换效率和性能的简单比较
- C++和Java的属性访问和方法调用 效率比较
- .net字符串数组查找方式效率比较