function run()

in evaluation/v0_vs_v1.js [44:102]


function run(steps, times, options){
  var queue = [];
  steps.map(function(numNodes){
    for(var i=0;i<times;i++){
      queue.push([numNodes, i]);
    }
  });

  var index = 0;
  var results = queue.map(function(){
    return [null, null];
  });

  function iter(item, options){
    var nodes = util.generateNodes(item[0], {
      minWidth: 10,
      maxWidth: 50,
      minPos: null,
      maxPos: null
    });

    layout(labella1, 1, nodes, options)
      .then(function(result1){
        results[index][1] = {
          time: result1.time,
          displacement: metrics.displacement(result1.force.nodes())
        };
        layout(labella0, 0, nodes, options)
          .then(function(result0){
            results[index][0] = {
              time: result0.time,
              displacement: metrics.displacement(result0.force.nodes())
            };
            index++;
            if(index<queue.length){
              iter(queue[index]);
            }
            else{
              var output = _.zip(queue, results).map(function(d){
                return {
                  numNodes: d[0][0],
                  index: d[0][1],
                  r0: d[1][0].time[0] * 1000000000 + d[1][0].time[1],
                  r1: d[1][1].time[0] * 1000000000 + d[1][1].time[1],
                  d0: d[1][0].displacement,
                  d1: d[1][1].displacement
                };
              });

              summarize(output);
            }
          });
      });
  }

  if(queue.length>0){
    iter(queue[0], options);
  }
}