diff options
Diffstat (limited to 'swat/apps/qooxdoo-examples/performance/LocalObject_2.html')
-rw-r--r-- | swat/apps/qooxdoo-examples/performance/LocalObject_2.html | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/swat/apps/qooxdoo-examples/performance/LocalObject_2.html b/swat/apps/qooxdoo-examples/performance/LocalObject_2.html new file mode 100644 index 0000000000..7a98805f2c --- /dev/null +++ b/swat/apps/qooxdoo-examples/performance/LocalObject_2.html @@ -0,0 +1,51 @@ +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> + <title>qooxdoo » Demo</title> + <link type="text/css" rel="stylesheet" href="../../resource/css/layout.css"/> + <!--[if IE]> + <link type="text/css" rel="stylesheet" href="../../resource/css/layout_ie.css"/> + <![endif]--> + <script type="text/javascript" src="../../script/qx.js"></script> +</head> +<body> + <script type="text/javascript" src="../../script/layout.js"></script> + + <div id="demoDescription"> + <p>JS Object Storage Performance</p> + + <h1>Test Description</h1> + <p>Precreate 50.000 objects (locally stored). After this create 10.000 new (not stored) objects inside a loop.</p> + <p>As the loop will be executed inside the scope of "store", the browser must keep the information about "store" with each execution of "test", even if called from the timeout.</p> + + <h1>Result</h1> + <p>The performance in IE is poor (~1150ms for each loop), compared to the same stuff executed without so much precreated objects (previous example).</p> + <p>It makes no difference if we use a global or a local variable here. It's identical to GlobalObject_2.html.</p> + </div> + + <script type="text/javascript"> + qx.core.Init.getInstance().defineMain(function() + { + var store = []; + + for (var i=0; i<50000; i++) { + store.push({}); + }; + + function test() + { + var _s = (new Date).valueOf(); + + for (var i=0; i<10000; i++) { + new Object() + }; + + window.status = "time: " + (new Date).valueOf() + " | measured: " + ((new Date).valueOf() - _s) + "ms"; + window.setTimeout(test, 1000); + } + + test(); + }); + </script> +</body> +</html> |