배열(Array)을 벡터(Vector)로 변환하는 것을 테스트 해봤습니다. 인터넷에서 검색해보면 거의 for나 for in을 사용해서 변환을 시키더군요. 그래서 Function.apply()를 사용하면 어떨까 하고 시험해 봤는데, apply 가 압도적인 속도를 보여주고, 코드 또한 간결하네요.
아래 코드로 테스트 해보면 대충 for는 80ms, for in은 90ms, apply는 15ms 정도의 속도를 보여줍니다. Function.apply()를 가끔 사용하긴 하는데, 이렇게 빠른지는 오늘 처음 알았네요.
import flash.utils.getTimer;
// original array
var arr:Array = new Array();
for(var i:uint=0; i<1000000; i++){
arr.push(i);
}
// vector
var vec:Vector. = new Vector.();
var n:int = getTimer();
// for
/*var len:uint = arr.length;
for(i=0; i
답글 남기기