r20446: rename swat directory to swat.obsolete; keeping it around since there is...
[gd/samba/.git] / swat.obsolete / apps / qooxdoo-examples / performance / StringConcat_2.html
1 <html>
2 <head>
3   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
4   <title>qooxdoo &raquo; Demo</title>
5   <link type="text/css" rel="stylesheet" href="../../resource/css/layout.css"/>
6   <!--[if IE]>
7   <link type="text/css" rel="stylesheet" href="../../resource/css/layout_ie.css"/>
8   <![endif]-->
9   <script type="text/javascript" src="../../script/qx.js"></script>
10 </head>
11 <body>
12   <script type="text/javascript" src="../../script/layout.js"></script>
13
14   <div id="demoDescription">
15     <p>Tests for String Performance. Using cached string instances for concat.</p>
16     <ol>
17       <li>Operator +=</li>
18       <li>Operators = and +</li>
19       <li>Concat function</li>
20       <li>Array Push</li>
21       <li>Array Index</li>
22       <li>StringBuilder Object</li>
23     </ol>
24   </div>
25
26   <script type="text/javascript">
27   qx.core.Init.getInstance().defineMain(function()
28   {
29     var e = "";
30     var a = "a";
31
32     function StringConcatShort(vLoops)
33     {
34       var s = e;
35
36       for (var i=0; i<vLoops; i++) {
37         s += a;
38       };
39     };
40
41     function StringConcatShortAlt(vLoops)
42     {
43       var s = e;
44
45       for (var i=0; i<vLoops; i++) {
46         s = s + a;
47       };
48     };
49
50     function StringConcatMethod(vLoops)
51     {
52       var s = e;
53
54       for (var i=0; i<vLoops; i++) {
55         s=s.concat(a);
56       };
57     };
58
59     function StringConcatArrayPush(vLoops)
60     {
61       var s = [];
62
63       for (var i=0; i<vLoops; i++) {
64         s.push(a);
65       };
66
67       s = s.join(e);
68     };
69
70     function StringConcatArrayAdd(vLoops)
71     {
72       var s = [];
73
74       for (var i=0; i<vLoops; i++) {
75         s[s.length] = a;
76       };
77
78       s = s.join(e);
79     };
80
81     function StringConcatStringBuilder(vLoops)
82     {
83       var s = new qx.type.StringBuilder;
84
85       for (var i=0; i<vLoops; i++) {
86         s.add(a);
87       };
88
89       s = s.get();
90     };
91
92     new qx.dev.TimeTracker(StringConcatShort, StringConcatShortAlt, 
93       StringConcatMethod, StringConcatArrayPush, StringConcatArrayAdd, 
94       StringConcatStringBuilder);
95   });
96   </script>
97 </body>
98 </html>