summaryrefslogtreecommitdiff
path: root/benchmark/run.js
blob: b1479b6006c06a51238c984d7ac6cc2f0c96f1d7 (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
var path = require("path");
var sys = require("sys");
var childProcess = require("child_process");
var benchmarks = [ "timers.js"
                 , "process_loop.js"
                 , "static_http_server.js"
                 ];

var benchmarkDir = path.dirname(__filename);

function exec (script, callback) {
  var start = new Date();
  var child = childProcess.spawn(process.argv[0], [path.join(benchmarkDir, script)]);
  child.addListener("exit", function (code) {
    var elapsed = new Date() - start;
    callback(elapsed, code);
  });
}

function runNext (i) {
  if (i >= benchmarks.length) return;
  sys.print(benchmarks[i] + ": ");
  exec(benchmarks[i], function (elapsed, code) {
    if (code != 0) {
      console.log("ERROR  ");
    }
    console.log(elapsed);
    runNext(i+1);
  });
};
runNext(0);