summaryrefslogtreecommitdiff
path: root/swat/apps/qooxdoo-examples/performance/LocalObject_4.html
diff options
context:
space:
mode:
Diffstat (limited to 'swat/apps/qooxdoo-examples/performance/LocalObject_4.html')
-rw-r--r--swat/apps/qooxdoo-examples/performance/LocalObject_4.html53
1 files changed, 53 insertions, 0 deletions
diff --git a/swat/apps/qooxdoo-examples/performance/LocalObject_4.html b/swat/apps/qooxdoo-examples/performance/LocalObject_4.html
new file mode 100644
index 0000000000..d633458e9c
--- /dev/null
+++ b/swat/apps/qooxdoo-examples/performance/LocalObject_4.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <title>qooxdoo &raquo; 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>The "store" variable will be resetted after the first loop with "null".</p>
+
+ <h1>Result</h1>
+ <p>The additional cleanup (overwrite with null) of the global storage optimizes performance after the first loop. First loop is done after ~1150ms. The following loop needs ~350ms. Quite good. The same value as in the first example, where the data have never exist.</p>
+ <p>Interesting because theoratically the function implemenetation of "test" is inside the scope of "store".</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();
+
+ store = null;
+ });
+ </script>
+</body>
+</html>