var读写和function读写,get/set读写效率比较
var 比 function快4倍左右,
get/set和function差不多
95
var 读: 567var 写: 563[SWF] D:\flexProject\testSpeed\bin-debug\testSpeed.swf - 2,091 bytes after decompressionfunction 读: 1860function 写: 2117get/set 读: 1927get/set 写: 2119//测试代码
package {
import flash.display.Sprite; import flash.utils.getTimer;public class testSpeed extends Sprite
{ public function testSpeed() { var aone:speedTest=new speedTest() ; var max:int=5000000;//50000000 var old:int=getTimer(); for (var i:int = 0; i < max; i+=1) { } //var forTime:int=getTimer()-old; old=getTimer(); //trace(forTime); trace(old); // var t:int=0; for (i = 0; i < max; i+=1) { t=aone.testVar; } trace("var 读:",getTimer() - old);// - forTime); old=getTimer(); for (i = 0; i < max; i+=1) { aone.testVar=t; } trace("var 写:",getTimer() - old);// - forTime); // old=getTimer(); // for (i = 0; i < max; i+=1) { t=aone.testFunctionGet(); } trace("function 读:",getTimer() - old);// - forTime); old=getTimer(); for (i = 0; i < max; i+=1) { aone.testFunctionSet(t); } trace("function 写:",getTimer() - old);// - forTime); // old=getTimer(); // for (i = 0; i < max; i+=1) { t=aone.testGet; } trace("get/set 读:",getTimer() - old);// - forTime); old=getTimer(); for (i = 0; i < max; i+=1) { aone.testSet=t; } trace("get/set 写:",getTimer() - old);// - forTime); } }}
//
package{
public class speedTest{ public function speedTest(){} public var testVar:int = 0; private var _function:int = 0; private var _getset:int = 0; public function testFunctionGet():int{ return this._function; } public function testFunctionSet(i:int):void{ this._function = i; } public function set testSet(i:int):void{ this._getset = i; } public function get testGet():int{ return this._getset; } }}posted on 2010-05-05 12:01 阅读(...) 评论(...)