node/benchmark/run.js
2010-03-23 08:13:17 -07:00

32 lines
807 B
JavaScript

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) {
sys.puts("ERROR ");
}
sys.puts(elapsed);
runNext(i+1);
});
};
runNext(0);