So is
public var user:Object = {};
user["firstName"] = "Bill";
user["lastName"] = "Cosby";
比我有像 User 这样的值对象慢吗?
var user:User = new User();
user.firstName = "Bill";
user.lastName = "Cosby";
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个简单的试运行:
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
结论:类型化比非类型化更快。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)