iiley's profileAll about iiley and AsWi...PhotosBlogLists Tools Help

Blog


    March 10

    [] is different from new Array(), {} new Object() too?


      var n:Number = 100000;
      var time:Number = getTimer();
      for(var i:Number=n; i>0; i--){
      }
      trace("empty time used : " + (getTimer() - time));
      time = getTimer();
      for(var i:Number=n; i>0; i--){
       var arr:Array = new Array();
      }
      trace((getTimer() - time) + " ms used : new Array() 100,000 times.");
      time = getTimer();
      for(var i:Number=n; i>0; i--){
       var arr2:Array = [];
      }
      trace((getTimer() - time) + " ms used : [] 100,000 times.");
      time = getTimer();
      for(var i:Number=n; i>0; i--){
       var obj:Object = new Object();
      }
      trace((getTimer() - time) + " ms used : new Object() 100,000 times.");
      time = getTimer();
      for(var i:Number=n; i>0; i--){
       var obj2:Object = {};
      }
      trace((getTimer() - time) + " ms used : {} 100,000 times.");
    -------------------------------------------output----------------------------------------------------

    empty time used : 70
    713 ms used : new Array() 100,000 times.
    478 ms used : [] 100,000 times.
    595 ms used : new Object() 100,000 times.
    386 ms used : {} 100,000 times.
     
    Then you can see, create an array by "[]" is very faster than "new Array()", and create an object by "{}" is very faster than "new Object()" too. :)
     
    Why? aren't they same?