※現在、「wonderfl build flash online」求人コンテンツ制作に関してのアンケートを実施中です!みなさまのお力添えを頂いて、続々とアンケート結果が集まっていますが、まだまだ募集しております。ご協力のほど、どうぞよろしくお願いいたします!

wonderfl運営事務局
→アンケートページ(※ログインしてからお答えいただけるようになっています。)

 notice: Flash editor updated! Join the development! Thanks to MiniBuilder


forked from : alumican_net's Array.RETURNINDEXEDARRAYってどうよ?(Vector.sortも追加した) [diff(62)]

FORKED
  1. // forked from alumican_net's Point.distance
  2. // ソースは忘れたけど配列の初期化にはArray.length = 0;
  3. // の方がいい見たいな見かけたけど違ったみたい
  4. // 検証の仕方間違っていたら誰か教えてください
  5. //
  6. //追記 
  7. // 510個以上の配列をクリアする時は Array.length = 0; がよい】
  8. // 情報元 http://rest-term.com/archives/541/
  9. package {
  10.     import flash.display.*;
  11.     import flash.geom.Point;
  12.     import flash.text.*;
  13.     import flash.utils.*;
  14.     
  15.     public class Main extends Sprite {
  16.         private var _array1:Array = [];
  17.         private var _array2:Array = [];
  18.         private var _array3:Array = [];
  19.         private var _array4:Array = [];
  20.         
  21.         //----------------------------------*
  22.         // Constractor
  23.         //----------------------------------*
  24.         public function Main():void {
  25.             //-------- max number ------------------*
  26.             var n:uint = 10000;
  27.             
  28.             _setup();
  29.             
  30.             
  31.             
  32.             //-------- Array test1 ------------------*    
  33.             _array1 = new Array(n);    
  34.             _measure("Array = [ ]"function ():void {
  35.                 _array1 =[];
  36.                 for(var i:uint = 0; i < n; ++i) {
  37.                     _array1.push(new Point((Math.random() - 0.5) * 1000,(Math.random() - 0.5) * 1000));
  38.                 }
  39.             }, 100, _array1);
  40.             
  41.             
  42.             
  43.             //-------- Array test2 ------------------*
  44.             _array2 = new Array(n);
  45.             _measure("Array.length = 0"function ():void {
  46.                 _array2.length = 0;
  47.                 for(var i:uint = 0; i < n; ++i) {
  48.                     _array2.push(new Point((Math.random() - 0.5) * 1000,(Math.random() - 0.5) * 1000));
  49.                 }
  50.             }, 100, _array2);
  51.             
  52.             
  53.             
  54.             //-------- Array test3 ------------------*
  55.             _array3 = new Array(n);
  56.             _measure("Array = new Array(n)"function ():void {
  57.                 _array3 = new Array(n);
  58.                 for(var i:uint = 0; i < n; ++i) {
  59.                     _array3.push(new Point((Math.random() - 0.5) * 1000,(Math.random() - 0.5) * 1000));
  60.                 }
  61.             }, 100, _array3);
  62.             
  63.             
  64.             
  65.             //-------- Array test4 ------------------*
  66.             _array4 = new Array(n);
  67.             _measure("Array.splice(0, Array.length)"function ():void {
  68.                 _array4.splice(0, _array4.length);
  69.                 for(var i:uint = 0; i < n; ++i) {
  70.                     _array4.push(new Point((Math.random() - 0.5) * 1000,(Math.random() - 0.5) * 1000));
  71.                 }
  72.             }, 100, _array4);            
  73.         }
  74.         
  75.         //----------------------------------*
  76.         // measure
  77.         //----------------------------------*        
  78.         private function _measure(title:String, func:Function, numTimes:uint, array:Array, ...params):void {
  79.             _time = getTimer();
  80.             
  81.             for (var i:int = 0; i < numTimes; i++) {
  82.                 func.apply(null, params);
  83.             }
  84.             
  85.             _time = getTimer() - _time;
  86.             _debug("[ " + title + " ] " + "Array.length = " + array.length + " --> " + _time + " ms");
  87.         }
  88.         
  89.         //----------------------------------*
  90.         // debug
  91.         //----------------------------------*        
  92.         private function _debug(log:String):void {
  93.             _field.appendText(log + "\n");
  94.         }
  95.         
  96.         //----------------------------------*
  97.         // Text
  98.         //----------------------------------*
  99.         private var _field:TextField;
  100.         private var _time:uint;        
  101.         private function _setup():void {
  102.             _field = new TextField();
  103.             _field.width = stage.stageWidth;
  104.             _field.height = stage.stageHeight;
  105.             
  106.             var format:TextFormat = _field.defaultTextFormat;
  107.             format.font = "_sans";
  108.             _field.defaultTextFormat = format;
  109.             
  110.             addChild(_field);
  111.         }
  112.     }
  113. }
noswf
Get Adobe Flash Player