Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache flex 在actionscript中,什么是更快的普通对象或强类型对象?_Apache Flex_Actionscript - Fatal编程技术网

Apache flex 在actionscript中,什么是更快的普通对象或强类型对象?

Apache flex 在actionscript中,什么是更快的普通对象或强类型对象?,apache-flex,actionscript,Apache Flex,Actionscript,也是如此 比我有一个像User这样的值对象要慢 public var user:Object = {}; user["firstName"] = "Bill"; user["lastName"] = "Cosby"; 与任何速度优势相比,更重要的是,强类型为您提供了编译时类型检查,这样您就不会键入属性名称-节省了大量开发人员时间,这比时钟周期要昂贵得多 虽然是的,但静态输入也有速度优势 var user:User = new User(); user.firstName = "Bill";

也是如此

比我有一个像User这样的值对象要慢

public var user:Object = {}; 
user["firstName"] = "Bill";
user["lastName"] = "Cosby";

与任何速度优势相比,更重要的是,强类型为您提供了编译时类型检查,这样您就不会键入属性名称-节省了大量开发人员时间,这比时钟周期要昂贵得多

虽然是的,但静态输入也有速度优势

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 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