billywhizz
4/10/2012 - 5:02 PM

streamline.js overhead

streamline.js overhead

function doIt (i, callback) {
  callback(i);
}

var start = new Date();
var runs = parseInt(process.argv[2] || 1) * 1000000;
for (var i = 0; i <= runs; i++) {
  doIt(i, function (val) {
    if (val === runs) {
      var end = new Date();
      console.log(runs + "\t" + (end - start) + "\t" + runs/((end-start)/1000));
    }
  });
}
function doIt (i, _) {
  return i;
}

var start = new Date();
var runs = parseInt(process.argv[2] || 1) * 1000000;

for (var i = 0; i <= runs; i++) {
  var result = doIt(i, _);
  if (result === runs) {
    var end = new Date();
    console.log(runs + "\t" + (end - start) + "\t" + runs/((end-start)/1000));
  }
}
function doIt (i, callback) {
  callback(i);
}

var start = new Date();
var runs = parseInt(process.argv[2] || 1) * 1000000;
var val = 0;
function next(val) {
  if (val === runs) {
    var end = new Date();
    console.log(runs + "\t" + (end - start) + "\t" + runs/((end-start)/1000));
  }
}
for (var i = 0; i <= runs; i++) {
  doIt(i, next);
}
node test.js 50
_node test-streamline.js 1
test.js:
29,222,676 calls per second

test-named: 
50,505,050 calls per second

test-streamline.js:
332,557 calls per second