加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Flex——Array,ArrayCollection,Vector性能比较

发布时间:2020-12-15 01:41:52 所属栏目:百科 来源:网络整理
导读:测试方法 private function Test(): void { ???? for ( var j:int=0;j5;j++) ????{ ???????? trace ( "插入10000项============" ); ???????? var t1:int,t2:int; ???????? var i:int = 0; ???????? var a:Array = new Array(); ???????? var al :ArrayColle

测试方法

private function Test():void

{

????for(var j:int=0;j<5;j++)

????{

????????trace("插入10000项============");

????????var t1:int,t2:int;

????????var i:int = 0;

????????var a:Array = new Array();

????????var al:ArrayCollection = new ArrayCollection();

????????var item:String;

????????var v:Vector.<String> = new Vector.<String>();

????????

????????t1 = getTimer();

????????for(i=0;i<10000;i++)

????????????a.push(StringUtil.NewGuid());????

????????t2 = getTimer();

????????trace("Array耗时:/t/t",t2-t1);

????????

????????t1 = getTimer();

????????for(i=0;i<10000;i++)

????????????al.addItem(StringUtil.NewGuid());????

????????t2 = getTimer();

????????trace("ArrayCollection耗时:/t",t2-t1);

????????

????????t1 = getTimer();

????????for(i=0;i<10000;i++)

????????????v.push(StringUtil.NewGuid());

????????t2 = getTimer();

????????trace("Vector耗时:/t/t",t2-t1);

????????

????????trace("");

????????trace("遍历10000项==========");

????????

????????t1 = getTimer();

????????for(i=0;i<10000;i++)

????????????item = a[0];

????????t2 = getTimer();

????????trace("Array耗时:/t/t",t2-t1);

????????

????????t1 = getTimer();

????????for(i=0;i<10000;i++)

????????????item = al[0];

????????t2 = getTimer();

????????trace("ArrayCollection耗时:/t",t2-t1);

????????

????????t1 = getTimer();

????????for(i=0;i<10000;i++)

????????????item = v[0];

????????t2 = getTimer();

????????trace("Vector耗时:/t/t",t2-t1);

????????trace("");

????}

}

测试输出

插入10000项============

Array耗时:???????? 465

ArrayCollection耗时:???? 788

Vector耗时:???????? 444

?

遍历10000项==========

Array耗时:???????? 2

ArrayCollection耗时:???? 98

Vector耗时:???????? 2

?

插入10000项============

Array耗时:???????? 433

ArrayCollection耗时:???? 791

Vector耗时:???????? 430

?

遍历10000项==========

Array耗时:???????? 2

ArrayCollection耗时:???? 97

Vector耗时:???????? 2

?

插入10000项============

Array耗时:???????? 427

ArrayCollection耗时:???? 805

Vector耗时:???????? 415

?

遍历10000项==========

Array耗时:???????? 1

ArrayCollection耗时:???? 97

Vector耗时:???????? 1

?

插入10000项============

Array耗时:???????? 422

ArrayCollection耗时:???? 824

Vector耗时:???????? 401

?

遍历10000项==========

Array耗时:???????? 2

ArrayCollection耗时:???? 97

Vector耗时:???????? 2

?

插入10000项============

Array耗时:???????? 467

ArrayCollection耗时:???? 772

Vector耗时:???????? 438

?

遍历10000项==========

Array耗时:???????? 2

ArrayCollection耗时:???? 98

Vector耗时:???????? 2

结论

Array与Vector性能接近,插入时Vector略快,遍历相近,Vector的优点是强类型,缺点是要Flash Player 10,所以作数据存储运算等建议使用Array。

ArrayCollection性能最差,插入时约比Array慢了一倍,遍历慢了几十倍,ArrayCollection的优势是界面的数据绑定以及支持数据排序等高级方法。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读