Subversion Repositories Applications.papyrus

Rev

Blame | Last modification | View Log | RSS feed

<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>