summaryrefslogtreecommitdiff
path: root/includes/js/dojox/string/tests/peller.html
blob: d526548bb9a0e639b4d69719b3dedb9ad151a02b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
<html>
<head>
  <title>peller's test</title>
  <script type="text/javascript" src="../../../dojo/dojo.js"></script>
  <script type="text/javascript">
  
  var lq = [];
  function log(s) {
    lq.push(s);
    //console.log(s);
  }
  
  function dumpLog() {
    dojo.forEach(lq, function(l) { console.log(l); });
    lq = [];
  }
  
  dojo.addOnLoad(function() {
    forLoop();
    forEachLoop();
    forAgain();
    forEachAgain();
    dumpLog();
  });
  
  function forLoop() {
    var x=0;
    var a = g_a;
    var start=new Date();
    for(var i=0;i<100000;i++){x=x+a[i];};
    log("for loop elapsed:"+(new Date()-start)+" value="+x);
  }
  
  function forEachLoop() {
    var x=0;
    var a = g_a;
    var start=new Date();
    dojo.forEach(a, function(v,i){x=x+a[i];});
    log("dojo.forEach elapsed:"+(new Date()-start)+" value="+x);
  }
  
  function forAgain(){
    log("for results:");
    var start=new Date();
    var x=0;
    for(var i=0;i<100000;i++){x=x+g_a[i];}
    log("elapsed:"+(new Date()-start)+" value="+x);
  }
  function forEachAgain(){
    log("forEach results:");
    var a = g_a;
    var x=0;
    var start=new Date();
    a.forEach(function(v,i){x=x+a[i];});
    log("elapsed:"+(new Date()-start)+" value="+x);
  }
  
  var g_a = new Array(100000);
  for(var i=0; i<100000;i++){g_a[i]=i;}
  
  var start, x, i;
  log("inline for results:");
  start=new Date();
  x=0;
  for(i=0;i<100000;i++){x=x+g_a[i];}
  log("elapsed:"+(new Date()-start)+" value="+x);

  log("inline forEach results:");
  start=new Date();
  x=0;
  g_a.forEach(function(v,i){x=x+g_a[i];});
  log("elapsed:"+(new Date()-start)+" value="+x);
  dumpLog();
  </script>
</head>
<body>
</body>
</html>