diff options
Diffstat (limited to 'swat/apps/qooxdoo-examples/performance/StringConcat_2.html')
-rw-r--r-- | swat/apps/qooxdoo-examples/performance/StringConcat_2.html | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/swat/apps/qooxdoo-examples/performance/StringConcat_2.html b/swat/apps/qooxdoo-examples/performance/StringConcat_2.html new file mode 100644 index 0000000000..d2b2c140c5 --- /dev/null +++ b/swat/apps/qooxdoo-examples/performance/StringConcat_2.html @@ -0,0 +1,98 @@ +<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>Tests for String Performance. Using cached string instances for concat.</p> + <ol> + <li>Operator +=</li> + <li>Operators = and +</li> + <li>Concat function</li> + <li>Array Push</li> + <li>Array Index</li> + <li>StringBuilder Object</li> + </ol> + </div> + + <script type="text/javascript"> + qx.core.Init.getInstance().defineMain(function() + { + var e = ""; + var a = "a"; + + function StringConcatShort(vLoops) + { + var s = e; + + for (var i=0; i<vLoops; i++) { + s += a; + }; + }; + + function StringConcatShortAlt(vLoops) + { + var s = e; + + for (var i=0; i<vLoops; i++) { + s = s + a; + }; + }; + + function StringConcatMethod(vLoops) + { + var s = e; + + for (var i=0; i<vLoops; i++) { + s=s.concat(a); + }; + }; + + function StringConcatArrayPush(vLoops) + { + var s = []; + + for (var i=0; i<vLoops; i++) { + s.push(a); + }; + + s = s.join(e); + }; + + function StringConcatArrayAdd(vLoops) + { + var s = []; + + for (var i=0; i<vLoops; i++) { + s[s.length] = a; + }; + + s = s.join(e); + }; + + function StringConcatStringBuilder(vLoops) + { + var s = new qx.type.StringBuilder; + + for (var i=0; i<vLoops; i++) { + s.add(a); + }; + + s = s.get(); + }; + + new qx.dev.TimeTracker(StringConcatShort, StringConcatShortAlt, + StringConcatMethod, StringConcatArrayPush, StringConcatArrayAdd, + StringConcatStringBuilder); + }); + </script> +</body> +</html> |