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 有一句话 – “一般情况下 ...
随机推荐
- [LeetCode] Add Two Numbers
You are given two linked lists representing two non-negative numbers. The digits are stored in rever ...
- 攻城狮在路上(肆)How tomcat works(二) 一个简单的servlet容器
该节在上一节的基础上增加了所谓对静态资源和动态资源访问的不同控制流程.示例里面采用的是对路径“/servlet/”进行了特殊处理. 一. 主要还是从HttpServer1中的main方法开始,先解析出 ...
- java 杂物间 (一) Mybatis
这里放置的是一些杂物,生人勿入. Token的一般parse 过程. @Test public void shouldDemonstrateGenericTokenReplacement() { Ge ...
- Win10 创建应用程序包及部署
https://msdn.microsoft.com/zh-cn/library/windows/apps/xaml/hh454036.aspx https://msdn.microsoft.com/ ...
- 【leetcode】plus One
问题描述: Given a non-negative number represented as an array of digits, plus one to the number. The dig ...
- 常见IE浏览器bug及其修复方案(双外边距、3像素偏移、绝对定位)
1. 双外边距浮动bug IE6和更低版本中存在双外边距浮动bug,顾名思义,这个Windows bug使任何浮动元素上的外边距加倍 bug重现: <!DOCTYPE html> < ...
- 系统调用方式文件编程,王明学learn
系统调用方式文件编程 一.文件描述符 在Linux系统中,所有打开的文件也对应一个数字,这个数字由系统来分配,我们称之为:文件描述符. 二.函数学习 2.1打开文件 open 2.1.2 函数原形 ...
- 第十七篇:使用窗口的cache属性加速SOUI的渲染
内容渲染速度是决定一个UI成败的关键.无论UI做得多华丽,没有速度都没有意义. 在MFC,WTL等开发框架下,每个控件都是一个窗口,窗口只需要画前景,背景.因为窗口之间的内容不需要做混合,一个子窗口的 ...
- 1.CoreLocation 使用,获取当前位置
1. ios7只要开始定位,系统就会自动要求你对应用程序授权 ios8之后,必须要代码中实现要求用户对应用程序授权 ,在plist中添加以下两个属性 NSLocationWhenInUseDescri ...
- winform基础窗体设置及基础控件
WinForm - 也叫做C/S 客户端 另:B/S是 网页端 客户端应用程序 - 是需要安装在用户电脑上才可以使用的程序 特点: 不需要联网也可以打开使用部分功能,但是现在的情况是许多功能依然需要 ...