mirror of https://github.com/lukechilds/node.git
isaacs
12 years ago
2 changed files with 40 additions and 26 deletions
@ -0,0 +1,40 @@ |
|||
var common = require('../common.js'); |
|||
var spawn = require('child_process').spawn; |
|||
var path = require('path'); |
|||
var emptyJsFile = path.resolve(__dirname, '../../test/fixtures/semicolon.js'); |
|||
var starts = 100; |
|||
var i = 0; |
|||
var start; |
|||
|
|||
var bench = common.createBenchmark(startNode, { |
|||
dur: [1, 3] |
|||
}); |
|||
|
|||
function startNode(conf) { |
|||
var dur = +conf.dur; |
|||
var go = true; |
|||
var starts = 0; |
|||
var open = 0; |
|||
|
|||
setTimeout(function() { |
|||
go = false; |
|||
}, dur * 1000); |
|||
|
|||
bench.start(); |
|||
start(); |
|||
|
|||
function start() { |
|||
var node = spawn(process.execPath || process.argv[0], [emptyJsFile]); |
|||
node.on('exit', function(exitCode) { |
|||
if (exitCode !== 0) { |
|||
throw new Error('Error during node startup'); |
|||
} |
|||
starts++; |
|||
|
|||
if (go) |
|||
start(); |
|||
else |
|||
bench.end(starts); |
|||
}); |
|||
} |
|||
} |
@ -1,26 +0,0 @@ |
|||
var spawn = require('child_process').spawn, |
|||
path = require('path'), |
|||
emptyJsFile = path.join(__dirname, '../test/fixtures/semicolon.js'), |
|||
starts = 100, |
|||
i = 0, |
|||
start; |
|||
|
|||
function startNode() { |
|||
var node = spawn(process.execPath || process.argv[0], [emptyJsFile]); |
|||
node.on('exit', function(exitCode) { |
|||
if (exitCode !== 0) { |
|||
throw new Error('Error during node startup'); |
|||
} |
|||
|
|||
i++; |
|||
if (i < starts) { |
|||
startNode(); |
|||
} else{ |
|||
var duration = +new Date - start; |
|||
console.log('Started node %d times in %s ms. %d ms / start.', starts, duration, duration / starts); |
|||
} |
|||
}); |
|||
} |
|||
|
|||
start = +new Date; |
|||
startNode(); |
Loading…
Reference in new issue