Flex——Array,ArrayCollection,Vector性能比较(转)
2016-06-27 22:10
357 查看
测试方法 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的优势是界面的数据绑定以及支持数据排序等高级方法。
相关文章推荐
- dumpbin命令不能使用解决方法
- 好久不见
- L2TP部署中ipsec verify出现问题的解决
- Matlab的M文件
- norm和find函数用法
- 《算法竞赛入门经典》 第二章 循环结构程序设计 习题
- mac OS安装postgreSQL和psycopg的坑
- Pnp管理器(1)
- 20160627周记
- winform事件
- 【Scipy】初步认识
- [bzoj2668] [cqoi2012]交换棋子
- Java中的NIO,BIO,AIO定义
- Nginx反向代理和负载均衡
- Mac下eclipse安装SVN插件
- -我的技术之路
- android wifi连接+基于socket的文件数据传输(上)
- 开源日志系统比较:scribe、chukwa、kafka、flume
- 用了就会上瘾的几个shell命令行快捷键
- ThinkPad X250加装固态硬盘教程