Flash 与性能实验笔记:几种常用数据类型创建时间
2010-06-06 09:56
363 查看
这个时间测试是林林给的测试,但是他测试出来的数据和我的不一样,也许因为机器配置差的缘故,创建的时候使用的时间不一样。
在As3 我们常用的复杂数据类型有Object ,Array,Vector等 ,我们使用三种比较常见的复杂数据类型进行时间对比。
我的机器配置: 闪龙2200+
内存 768
系统 windows xp sp2
![](http://hi.csdn.net/attachment/201006/6/0_1275789180W7wv.gif)
![](http://hi.csdn.net/attachment/201006/6/0_12757890686CxB.gif)
和不同机器测试把他放在浏览器进行测试
在一个朋友的机器进行测试使用{} 创建object 比new obeject 快,在1000000次数进行测试
![](http://hi.csdn.net/attachment/201006/6/0_1275790417M03T.gif)
对比在我的机器所测试的时间{} 创建的object 时间会大一些,我采用的flash player 10.1 时间上创建减少不少
![](http://hi.csdn.net/attachment/201006/6/0_1275790522n85r.gif)
初步结果:在 不同机器测试创建的对象所耗的时间是有一定差距,经过多次测试很明显一个就是new vector 创建的时间明显比new Array 的时间少,至于object 创建两种写法,不同机器呈现出的结果也有一些差别,采用[] 创建的时间反而会比new Array 的少了很多。网上的一些总结也确实有这样一回事。在少数的情况下,其实差不不算很大,在多数情况下[] 写法确实使用时间比new Array 小了不少。
再实验一下数组当中的一种常用写法
var list:Array=new Array();
var max:int=list.length;
for (var j:int=0; j<list.length; j++)
for (var k:int=0; k<max; k++)
这两种对比写法,后者确实会给时间带来一定好处,运算量减少了不少,网上这种介绍确实是带来运算的提升。
list.length pk max
在As3 我们常用的复杂数据类型有Object ,Array,Vector等 ,我们使用三种比较常见的复杂数据类型进行时间对比。
我的机器配置: 闪龙2200+
内存 768
系统 windows xp sp2
//flash cs5 测试 var max:int=1000000; trace("flash cs5 测试"+max+"次数"); testTime(); function testTime():void { var currentTime:uint=getTimer(); for(var i:int=0;i<max;i++) { var obj:Object={}; } var lastTime:uint=getTimer(); trace("{}:所用的时间",lastTime-currentTime); currentTime=getTimer(); for(var i:int=0;i<max;i++) { var obj:Object=new Object(); } lastTime=getTimer(); trace("Object:所用的时间",lastTime-currentTime); currentTime=getTimer(); for(var i:int=0;i<max;i++) { var Arrayobj:Array=new Array(); } lastTime=getTimer(); trace("Array:所用的时间",lastTime-currentTime); currentTime=getTimer(); for(var i:int=0;i<max;i++) { var Arrayobj:Array=[]; } lastTime=getTimer(); trace("[]:所用的时间",lastTime-currentTime); currentTime=getTimer(); for(var i:int=0;i<max;i++) { var vector_obj:Vector.<Number>=new Vector.<Number>(); } lastTime=getTimer(); trace("Vector:所用的时间",lastTime-currentTime); }
![](http://hi.csdn.net/attachment/201006/6/0_1275789180W7wv.gif)
![](http://hi.csdn.net/attachment/201006/6/0_12757890686CxB.gif)
和不同机器测试把他放在浏览器进行测试
在一个朋友的机器进行测试使用{} 创建object 比new obeject 快,在1000000次数进行测试
![](http://hi.csdn.net/attachment/201006/6/0_1275790417M03T.gif)
对比在我的机器所测试的时间{} 创建的object 时间会大一些,我采用的flash player 10.1 时间上创建减少不少
![](http://hi.csdn.net/attachment/201006/6/0_1275790522n85r.gif)
初步结果:在 不同机器测试创建的对象所耗的时间是有一定差距,经过多次测试很明显一个就是new vector 创建的时间明显比new Array 的时间少,至于object 创建两种写法,不同机器呈现出的结果也有一些差别,采用[] 创建的时间反而会比new Array 的少了很多。网上的一些总结也确实有这样一回事。在少数的情况下,其实差不不算很大,在多数情况下[] 写法确实使用时间比new Array 小了不少。
再实验一下数组当中的一种常用写法
var list:Array=new Array();
var max:int=list.length;
for (var j:int=0; j<list.length; j++)
for (var k:int=0; k<max; k++)
这两种对比写法,后者确实会给时间带来一定好处,运算量减少了不少,网上这种介绍确实是带来运算的提升。
list.length pk max
var list:Array=new Array(); for (var i:int=0; i<10000000; i++) { list.push(i); } var max:int=list.length; var array:Array=[]; var array2:Array=[]; var currentTime:uint=getTimer(); for (var j:int=0; j<list.length; j++) { array[j]=j; } var lastTime:uint=getTimer(); trace("所用的时间",lastTime-currentTime); currentTime=getTimer(); for (var k:int=0; k<max; k++) { array2[k]=k; } lastTime=getTimer(); trace("所用的时间",lastTime-currentTime);
相关文章推荐
- Flash 与性能实验笔记:几种常用数据类型创建时间
- 笔记081112 ORACLE 常用系统函数 数字类型 时间类型 大文件数据类型 主键约束 NOT NULL UNIQUE CHECK FOREIGN KEY ON DELETE CASCADE ON DELETE SET NULL USER_C
- Foundation中常用的几种数据类型
- Redis常用几种数据类型
- MySQL学习笔记20150925时间数据类型以及字符集与varchar(M)M最大值关系
- Web 在线文件管理器学习笔记与总结(2)显示文件列表(名称,类型,大小,可读,可写,可执行,创建时间,修改时间,访问时间)
- OpenJDK源码研究笔记(五)-缓存Integer等类型的频繁使用的数据和对象,大幅度提升性能(一道经典的Java笔试题)
- Redis学习笔记(九)--Redis常用五大数据类型
- 『算法学习笔记』3rd day. 数据类型实验
- redis五种数据类型及常用命令-笔记
- Java中几种常用的数据类型之间转换方法
- Mysql学习笔记之常用数据类型 (转)
- OpenJDK源码研究笔记(五)-缓存Integer等类型的频繁使用的数据和对象,大幅度提升性能(一道经典的Java笔试题)
- C语言中的常用的几种系统时间结构体类型
- 常用几种数据类型
- python笔记二:常用数据类型操作
- 创建数据库并插入数据 + MySQL常用数据类型
- python的几种常用数据类型
- OpenJDK源码研究笔记(五)-缓存Integer等类型的频繁使用的数据和对象,大幅度提升性能(一道经典的Java笔试题)
- redis常用的几种数据类型介绍