965022b3f9d97a6f18e9168360144208febbbe4f
[platform/upstream/nodejs.git] / benchmark / run.js
1 libDir = node.path.join(node.path.dirname(__filename), "../lib");
2 require.paths.unshift(libDir);
3 node.mixin(require("/utils.js"));
4 var benchmarks = [ "static_http_server.js" 
5                  , "timers.js"
6                  , "process_loop.js"
7                  ];
8
9 var benchmark_dir = node.path.dirname(__filename);
10
11 function exec (script, callback) {
12   var start = new Date();
13   var child = node.createChildProcess(ARGV[0], [node.path.join(benchmark_dir, script)]);
14   child.addListener("exit", function (code) {
15     var elapsed = new Date() - start;
16     callback(elapsed, code);
17   });
18 }
19
20 function runNext (i) {
21   if (i >= benchmarks.length) return;
22   print(benchmarks[i] + ": ");
23   exec(benchmarks[i], function (elapsed, code) {
24     if (code != 0) {
25       puts("ERROR  ");
26     }
27     puts(elapsed);
28     runNext(i+1);
29   });
30 };
31 runNext(0);