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 有一句话 – “一般情况下 ...
随机推荐
- 异常:System.BadImageFormatException,未能加载正确的程序集XXX
IDE:VS2015 语言:C# 异常:System.BadImageFormatException,未能加载正确的程序集XXX或其某一依赖项... 一般是由于目标程序的目标平台与其某一依赖项的目标编 ...
- Oracle里SID、SERVICE_NAME
本文仅用作备忘,无实际指导意义,逻辑略混乱. 1.命令show parameter name; SQL> show parameter name; NAME TYPE VALUE ------- ...
- PHP判断当前访问的是 微信、iphone、android 浏览器
<?phpvar ua = navigator.userAgent.toLowerCase(); if (ua.match(/MicroMessenger/i)=="micromess ...
- TortoiseSVN常用操作说明
TortoiseSVN是windows下其中一个非常优秀的SVN客户端工具.通过使用它,我们可以可视化的管理我们的版本库.不过由于它只是一个客户端,所以它不能对版本库进行权限管理. TortoiseS ...
- [WebService] the namespace on the "definitions" element, is not a valid SOAP version
公司对外通过webservice访问别人接口,对方webservice IP地址发生变化,切换过去之后,始终报错,在网上搜索了各种办法之后,暂时总结该问题几种可能解决办法,待真正解决时用的到. 异常详 ...
- 解决Android解析图片的OOM问题!!!(转)
大家好,今天给大家分享的是解决解析图片的出现oom的问题,我们可以用BitmapFactory这里的各种Decode方法,如果图片很小的话,不会出现oom,但是当图片很大的时候 就要用BitmapFa ...
- 编译原理实习(应用预测分析法LL(1)实现语法分析)
#include<iostream> #include<fstream> #include<iomanip> #include<cstdio> #inc ...
- javase基础笔记3——this关键字和内存图
什么是面向对象? 面向过程. 面向过程:解决一个问题的思路和方法以及步骤 面向对象:把一些具有相同特征的问题抽象成一个对象,用""""对象.方法()" ...
- 【设计模式】MVC模式
MVC 模式代表 Model-View-Controller(模型-视图-控制器) 模式.这种模式用于应用程序的分层开发. Model(模型) - 模型代表一个存取数据的对象或 JAVA POJO.它 ...
- 【hibernate 报错】No serializer found for class org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer 【get和load的区别】
报错: HTTP Status 500 - Could not write content: No serializer found for class org.hibernate.proxy.poj ...