测试方法
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性能比较(转)的更多相关文章

  1. C++中的数组array和vector,lambda表达式,C字符串加操作,C++中新类型数组(数组缓存),多元数组,new缓冲

     使用C++风格的数组.不须要管理内存. array要注意不要溢出,由于它是栈上开辟内存. array适用于不论什么类型 #include<iostream> #include< ...

  2. 【译】Rust中的array、vector和slice

    原文链接:https://hashrust.com/blog/arrays-vectors-and-slices-in-rust/ 原文标题:Arrays, vectors and slices in ...

  3. Flex Array 与 ArrayCollection.转自网络

    1.array作为控件使用 FLEX3写法: <mx:Array id="barname"> <mx:String>Flash</mx:String& ...

  4. Flex 集合 ArrayCollection 的使用

    转:http://keren.iteye.com/blog/380847 转:http://callan.iteye.com/blog/335551 集合是ActionScript 中功能强大的基于索 ...

  5. C++ 数组array与vector的比较

    转:http://blog.csdn.net/yukin_xue/article/details/7391897 1. array 定义的时候必须定义数组的元素个数;而vector 不需要: 且只能包 ...

  6. Flex Array内置排序方法的使用

    在Array类中,提供内置的排序方法.排序是在软件开发的过程中,经常遇到的问题.通过这些内置的方法,可以快速轻便的进行排序操作. Array类提供sort方法对Array实例进行排序.sort方法没有 ...

  7. AS代码优化和Flex应用程序的性能

    1.在局部变量够用时,不要使用全局变量.类静态变量也要少用.全局变量是开发者的恶梦.实在需要全局变量的话,我建议使用singleton设 计模式来进行管理. 2.读取数组中的数据,尽量使用for in ...

  8. essential c++ 第一章 array及vector相关使用

    将对象初始化: 1.用等号(=)赋值运算符初始化,针对对象是内置类型或者对象可以单一值初始化 2.构造函数初始化,针对对象需要多个初始值的情况 单括号括住的字符表示字符常量(‘ ’): 第一个反斜线表 ...

  9. 提升vector性能的几个技巧

    原文:https://www.sohu.com/a/120595688_465979 Vector 就像是 C++ STL 容器的瑞士军刀.Bjarne Stoutsoup 有一句话 – “一般情况下 ...

随机推荐

  1. android 相对布局里面的一些属性

    一.   有关于RelativeLayout布局的一些属性 1.  相对于兄弟控件的位置:android:layout_below Android:layout_toLeftof Android:la ...

  2. PHP商品秒杀计时实现(解决大流量方案)

    PHP商品秒杀功能我们多半以整点或时间点为例子,这样对于php来说处理不复杂,但有一个问题就是如果流量大要如何来处理,下面我们一起来看看解决办法. 要求要有小时分钟秒的实时倒计时的显示,用户端修改日期 ...

  3. hdu 4763 kmp ***

    找AEAEA形式的字符串最长的A长度,E可以为空 只可意会,不可言传,懂kmp即可 #include <stdio.h> #include <string.h> #includ ...

  4. VS2012 OpenCV2.4.9 Debug可以允许,Release不可以

    一个简单的程序 #include <iostream> #include <opencv2/core/core.hpp> #include <opencv2/highgu ...

  5. 内容分发网络CDN(互联网技术)

    内容分发网络(互联网技术)CDN的全称是Content Delivery Network,即内容分发网络.其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快.更 ...

  6. python web编程-CGI帮助web服务器处理客户端编程

    这几篇博客均来自python核心编程 如果你有任何疑问,欢迎联系我或者仔细查看这本书的地20章 另外推荐下这本书,希望对学习python的同学有所帮助 概念预热 eb客户端通过url请求web服务器里 ...

  7. 关于SQLSERVER联合查询一点看法

    首先看一段代码 这个数据库表我就不发了,这段代码的意思是:查询Book表中大于该类图书价格平均值的图书信息, 先看()里的内容,我一个表起了两个别名,让这个表的相同的id相等,查出平均分,然后再看() ...

  8. Linux学习笔记(21) Linux日志管理

    1. 简介 (1) 日志服务 在CentOS 6.x中日志服务已经由rsyslogd取代了原先的syslogd服务.rsyslogd日志服务更加先进,功能更多.但是不论该服务的使用,还是日志文件的格式 ...

  9. vim 分屏功能

    分屏启动Vim 使用大写的O参数来垂直分屏. vim -On file1 file2 ... 使用小写的o参数来水平分屏. vim -on file1 file2 ... 注释: n是数字,表示分成几 ...

  10. JavaScript设计模式——工厂模式

    工厂模式:是一种实现“工厂”概念的面上对象设计模式.实质是定义一个创建对象的接口,但是让实现这个接口的类来决定实例化哪个类.工厂方法让类的实例化推迟到子类中进行.创建一个对象常常需要复杂的过程,所以不 ...