您的位置:首页 > 其它

as3 反向for循环测试总结

2016-02-25 17:01 281 查看
今天看adobe官方的性能优化策略文档里,有一条是反向for循环,以前没怎么注意,今天写代码测试了下。

经过测试得到结论如下:1,绝大多数时候,反向循环是比正向循环的性能要高。(我测试的时候,偶尔会出现正向循环的性能更高)。

2,当数据计算量越庞杂的时候,反向循环的性能比正向循环的提升越明显。当数据计算量比较小的时候,反向循环的比正向循环的快几毫妙,当计算量增大的时候,会快几十毫妙。

结论:推荐使用反向循环!

推测:其他语言估计也是存在这种情况,只是没有测试过,有做过测试的朋友告知一声,其他语言这种情况会提升多少!

package

{

import flash.display.Sprite;

import flash.utils.getTimer;

public class Test extends Sprite

{

private var count:int=9999900;

private var totalCount:int=0;

private var timer:int;

private var i:int=1;

public function Test()

{

addCount2();

addCount();

}

public function addCount():void

{

totalCount=0;

timer = getTimer();

for(i=1;i<=count;i++)

{

totalCount+=i;

}

timer=getTimer()-timer;

trace("正向:",timer,totalCount);

}

public function addCount2():void

{

totalCount=0;

timer = getTimer();

for(i=count;i>=1;i--)

{

totalCount+=i;

}

timer=getTimer()-timer;

trace("反向:",timer,totalCount);

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: