
Код AS3:
private function onTimer():void {
var num:uint = 1000000;
var time:int;
var obj:Object;
time = getTimer();
var i:int;
for (i = 0; i < num; i++) {
obj = { };
}
trace(getTimer() - time);
time = getTimer();
for (i = 0; i < num; i++) {
obj = new Object();
}
trace(getTimer() - time);
var objProps:Object = { };
time = getTimer();
for (i = 0; i < num; i++) {
objProps.myProp = 50;
}
trace(getTimer() - time);
time = getTimer();
for (i = 0; i < num; i++) {
objProps["myProp"] = 50;
}
trace(getTimer() - time);
}
Потому что проверять нужно не на одном.
Трейсы выдали: 1000, 621, 242, 362 соответственно.