summaryrefslogtreecommitdiff
path: root/swat/apps/qooxdoo-examples/performance/StringConcat_2.html
diff options
context:
space:
mode:
Diffstat (limited to 'swat/apps/qooxdoo-examples/performance/StringConcat_2.html')
-rw-r--r--swat/apps/qooxdoo-examples/performance/StringConcat_2.html98
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 &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>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>