diff options
Diffstat (limited to 'benchmark/misc/startup.js')
-rw-r--r-- | benchmark/misc/startup.js | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/benchmark/misc/startup.js b/benchmark/misc/startup.js new file mode 100644 index 000000000..25b3f56fe --- /dev/null +++ b/benchmark/misc/startup.js @@ -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); + }); + } +} |