Flex——Array,ArrayCollection,Vector性能比较(转)
测试方法
private function Test():void
{
for(var j:int=;j<;j++)
{
trace("插入10000项============");
var t1:int, t2:int;
var i:int = ;
var a:Array = new Array();
var al:ArrayCollection = new ArrayCollection();
var item:String;
var v:Vector.<String> = new Vector.<String>(); t1 = getTimer();
for(i=;i<;i++)
a.push(StringUtil.NewGuid());
t2 = getTimer();
trace("Array耗时:/t/t",t2-t1); t1 = getTimer();
for(i=;i<;i++)
al.addItem(StringUtil.NewGuid());
t2 = getTimer();
trace("ArrayCollection耗时:/t",t2-t1); t1 = getTimer();
for(i=;i<;i++)
v.push(StringUtil.NewGuid());
t2 = getTimer();
trace("Vector耗时:/t/t",t2-t1); trace("");
trace("遍历10000项=========="); t1 = getTimer();
for(i=;i<;i++)
item = a[];
t2 = getTimer();
trace("Array耗时:/t/t",t2-t1); t1 = getTimer();
for(i=;i<;i++)
item = al[];
t2 = getTimer();
trace("ArrayCollection耗时:/t",t2-t1); t1 = getTimer();
for(i=;i<;i++)
item = v[];
t2 = getTimer();
trace("Vector耗时:/t/t",t2-t1);
trace("");
}
}
测试输出
插入10000项============
Array耗时:
ArrayCollection耗时:
Vector耗时: 遍历10000项==========
Array耗时:
ArrayCollection耗时:
Vector耗时: 插入10000项============
Array耗时:
ArrayCollection耗时:
Vector耗时: 遍历10000项==========
Array耗时:
ArrayCollection耗时:
Vector耗时: 插入10000项============
Array耗时:
ArrayCollection耗时:
Vector耗时: 遍历10000项==========
Array耗时:
ArrayCollection耗时:
Vector耗时: 插入10000项============
Array耗时:
ArrayCollection耗时:
Vector耗时: 遍历10000项==========
Array耗时:
ArrayCollection耗时:
Vector耗时: 插入10000项============
Array耗时:
ArrayCollection耗时:
Vector耗时: 遍历10000项==========
Array耗时:
ArrayCollection耗时:
Vector耗时:
结论
Array与Vector性能接近,插入时Vector略快,遍历相近,Vector的优点是强类型,缺点是要Flash Player ,所以作数据存储运算等建议使用Array。
ArrayCollection性能最差,插入时约比Array慢了一倍,遍历慢了几十倍,ArrayCollection的优势是界面的数据绑定以及支持数据排序等高级方法。
Flex——Array,ArrayCollection,Vector性能比较(转)的更多相关文章
- C++中的数组array和vector,lambda表达式,C字符串加操作,C++中新类型数组(数组缓存),多元数组,new缓冲
使用C++风格的数组.不须要管理内存. array要注意不要溢出,由于它是栈上开辟内存. array适用于不论什么类型 #include<iostream> #include< ...
- 【译】Rust中的array、vector和slice
原文链接:https://hashrust.com/blog/arrays-vectors-and-slices-in-rust/ 原文标题:Arrays, vectors and slices in ...
- Flex Array 与 ArrayCollection.转自网络
1.array作为控件使用 FLEX3写法: <mx:Array id="barname"> <mx:String>Flash</mx:String& ...
- Flex 集合 ArrayCollection 的使用
转:http://keren.iteye.com/blog/380847 转:http://callan.iteye.com/blog/335551 集合是ActionScript 中功能强大的基于索 ...
- C++ 数组array与vector的比较
转:http://blog.csdn.net/yukin_xue/article/details/7391897 1. array 定义的时候必须定义数组的元素个数;而vector 不需要: 且只能包 ...
- Flex Array内置排序方法的使用
在Array类中,提供内置的排序方法.排序是在软件开发的过程中,经常遇到的问题.通过这些内置的方法,可以快速轻便的进行排序操作. Array类提供sort方法对Array实例进行排序.sort方法没有 ...
- AS代码优化和Flex应用程序的性能
1.在局部变量够用时,不要使用全局变量.类静态变量也要少用.全局变量是开发者的恶梦.实在需要全局变量的话,我建议使用singleton设 计模式来进行管理. 2.读取数组中的数据,尽量使用for in ...
- essential c++ 第一章 array及vector相关使用
将对象初始化: 1.用等号(=)赋值运算符初始化,针对对象是内置类型或者对象可以单一值初始化 2.构造函数初始化,针对对象需要多个初始值的情况 单括号括住的字符表示字符常量(‘ ’): 第一个反斜线表 ...
- 提升vector性能的几个技巧
原文:https://www.sohu.com/a/120595688_465979 Vector 就像是 C++ STL 容器的瑞士军刀.Bjarne Stoutsoup 有一句话 – “一般情况下 ...
随机推荐
- 7z命令行工具
7z (中文)是优秀开源的压缩解压缩软件(wiki: en 中文),有windows版本与linux版本,最新的9.32版本支持的格式包括: 压缩与解压缩均支持:7z, XZ, BZIP2, GZI ...
- 攻城狮在路上(壹) Hibernate(十八)--- 管理Hibernate的缓存
一般Session的缓存被称为Hibernate的第一级缓存,SessionFactory的外置缓存是一个可配置的缓存插件,称为Hibernate的第二级缓存.一.缓存的基本原理: 1.持久化层的缓存 ...
- yaf框架使用(centos6.5)
安装好php环境之后 安装扩展包 $yum install php-devel /usr/bin/ 就会出现phpize工具包 下载yaf-2.2.8.gz源文件,解压后,进入源文件 phpize [ ...
- Java Hour 66 Spring 相关
这章简单的来了解下Spring 和 Hibernate 是如何勾搭在一起的. <bean id="sessionFactory" class="org.spring ...
- 6-02使用SQL语句向表中插入数据
插入语句的语法: INSERT INTO 表() VALUES(值列表) 注意事项: 1:每次插入一行数据,不能只插入半行或几列数据. 2:每一个数据值的数据类型.精度和小数位数必须与相应的列匹配. ...
- 【leetcode】Remove Duplicates from Sorted Array
题目描述: Given a sorted array, remove the duplicates in place such that each element appear only once a ...
- 【java基础】]IO流
IO流 概念: 流的概念源于unix中管道(pipe)的概念,在unix中,管道是一条不间断的字节流,用来实现程序或进程间的通信,或读写外围设备,外部文件等 一个流,一定能够会有源和去向(目的地),他 ...
- em与rem
em是相对于父元素的font-size,rem是相对于根元素的font-size. rem的补充: ① 对于不支持它的浏览器,应对方法也很简单,就是多写一个绝对单位的声明.这些浏览器会忽略用rem设定 ...
- Codeforces Round #371 (Div. 2) - A
题目链接:http://codeforces.com/contest/714/problem/A 题意:有两个人A,B 给定A的时间区间[L1,R1], B的时间区间[L2,R2],然后在正好K分钟的 ...
- MatLab有关路径的几个命令
窗外雨如注,国庆的第3天,没钱出去逛,更新我的博客吧 今天要说的命令有path.cd.userpath.savepath.pathtool 有两种改变启动目录的方法,第1种使用userpath和sav ...