r20640: Commit part 2/2
[samba.git] / swat.obsolete / apps / qooxdoo-examples / performance / StringConcat_1.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 new 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     function StringConcatShort(vLoops)
30     {
31       var s = "";
32
33       for (var i=0; i<vLoops; i++) {
34         s += "a";
35       };
36     };
37
38     function StringConcatShortAlt(vLoops)
39     {
40       var s = "";
41
42       for (var i=0; i<vLoops; i++) {
43         s = s + "a";
44       };
45     };
46
47     function StringConcatMethod(vLoops)
48     {
49       var s = "";
50
51       for (var i=0; i<vLoops; i++) {
52         s=s.concat("a");
53       };
54     };
55
56     function StringConcatArrayPush(vLoops)
57     {
58       var s = [];
59
60       for (var i=0; i<vLoops; i++) {
61         s.push("a");
62       };
63
64       s = s.join("");
65     };
66
67     function StringConcatArrayAdd(vLoops)
68     {
69       var s = [];
70
71       for (var i=0; i<vLoops; i++) {
72         s[s.length] = "a";
73       };
74
75       s = s.join("");
76     };
77
78     function StringConcatStringBuilder(vLoops)
79     {
80       var s = new qx.type.StringBuilder;
81
82       for (var i=0; i<vLoops; i++) {
83         s.add("a");
84       };
85
86       s = s.get();
87     };
88
89     new qx.dev.TimeTracker(StringConcatShort, StringConcatShortAlt, 
90       StringConcatMethod, StringConcatArrayPush, StringConcatArrayAdd, 
91       StringConcatStringBuilder);
92   });
93   </script>
94 </body>
95 </html>