public function speedTest():void
{
var typedObjects:Array = [];
var dynamicObjects:Array = [];
var typedObject:User;
var dynamicObject:Object;
var i:int = 0;
var n:int = 10000;
for (i; i < n; i++)
{
dynamicObject = {};
dynamicObjects.push(dynamicObject);
typedObject = new User();
typedObjects.push(typedObject);
}
// typed
var time:int = getTimer();
i = 0;
n = 10000;
for (i; i < n; i++)
{
typedObject = typedObjects[i];
typedObject.firstName = "Bill";
typedObject.lastName = "Cosby";
}
var end:int = getTimer() - time;
trace("TypedObject Time: ", end/1000, "sec");
// untyped
time = getTimer();
i = 0;
n = 10000;
for (i; i < n; i++)
{
dynamicObject = dynamicObjects[i];
dynamicObject["firstName"] = "Bill";
dynamicObject["lastName"] = "Cosby";
}
end = getTimer() - time;
trace("DynamicObject Time: ", end/1000, "sec");
}
간단한 속도 테스트는 TypedObject (User
가) UntypedObject ({}
)에 비해 약 3-3.5x 빠르다는 것을 보여 주지만, 당신이 이제까지 일상에서 알 것 아무것도 없다. 더 나은/고급 테스트를 실행하려면 Grant Skinner's Performance Test Harness을 사용해보십시오. :)
3 간단한 시험 실행 :
TypedObject Time: 0.002 sec
DynamicObject Time: 0.007 sec
TypedObject Time: 0.002 sec
DynamicObject Time: 0.006 sec
TypedObject Time: 0.002 sec
DynamicObject Time: 0.006 sec
평결 : 형식화가 형식화되지 않은 것보다 빠릅니다.