var读写和function读写,get/set读写效率比较

简介: var读写和function读写,get/set读写效率比较   var 比 function快4倍左右, get/set和function差不多   95var 读: 567var 写: 563[SWF] D:\flexProject\testSpeed\bin-debug\testSpeed.

var读写和function读写,get/set读写效率比较

 

var 比 function快4倍左右,

get/set和function差不多

 

95
var 读: 567
var 写: 563
[SWF] D:\flexProject\testSpeed\bin-debug\testSpeed.swf - 2,091 bytes after decompression
function 读: 1860
function 写: 2117
get/set 读: 1927
get/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;
  }
  
 }
}

相关文章
|
缓存 监控 Java
ThreadLocal 源码解析get(),set(), remove()用不好容易内存泄漏
ThreadLocal 源码解析get(),set(), remove()用不好容易内存泄漏
238 1
idea快速生成get set 构造方法的快捷键
idea快速生成get set 构造方法的快捷键
836 0
|
存储 NoSQL Ubuntu
在Ubuntu上安装Redis并学习使用get、set和keys命令
在Ubuntu上安装Redis并学习使用get、set和keys命令
|
11月前
|
存储 缓存 NoSQL
Redis中的常用命令-get&set&keys&exists&expire&ttl&type的详细解析
总的来说,这些Redis命令提供了处理存储在内存中的键值对的便捷方式。通过理解和运用它们,你可以更有效地在Redis中操作数据,使其更好地服务于你的应用。
572 17
|
Java Maven Spring
【SpringBug】lombok插件失效,但是没有报错信息,@Data不能生成get和set方法
解决写了@Data注解,但是在测试文件中生成的反编译target文件Us二Info中没有get和set方法
1241 16
|
Java Windows
IDEA不使用lombok,如何快速生成get和set方法
【11月更文挑战第10天】在 IntelliJ IDEA 中生成 `get` 和 `set` 方法有多种方式:通过菜单操作、使用快捷键或自定义模板。菜单操作包括选择“Code”菜单中的“Generate...”,快捷键为“Alt + Insert”。自定义模板可在“File”-&gt;“Settings”-&gt;“Editor”-&gt;“Code Style”-&gt;“Java”中设置。批量生成时,可多选变量一次性生成。
3972 2
Java-----抽象类为什么不能实例化?抽象方法为什么不能被static修饰?set和get方法的使用方法
Java-----抽象类为什么不能实例化?抽象方法为什么不能被static修饰?set和get方法的使用方法
379 0
|
C#
SET访问器和GET访问器
SET访问器和GET访问器
184 2
【Azure Key Vault】.NET 代码如何访问中国区的Key Vault中的机密信息(Get/Set Secret)
【Azure Key Vault】.NET 代码如何访问中国区的Key Vault中的机密信息(Get/Set Secret)
187 3

热门文章

最新文章

下一篇
开通oss服务