diff options
author | isaacs <i@izs.me> | 2013-02-11 13:24:27 -0800 |
---|---|---|
committer | isaacs <i@izs.me> | 2013-02-19 14:14:31 -0800 |
commit | 921c3c2097f170c881c2f3f264b89f792c204075 (patch) | |
tree | 7ecd8b5bac8576a83e2280da8c0a1d3ed1633dc4 /benchmark | |
parent | 3b16657e77511d92b55d1d2157485d8dd0df0c00 (diff) | |
download | node-new-921c3c2097f170c881c2f3f264b89f792c204075.tar.gz |
bench: misc/startup.js
Diffstat (limited to 'benchmark')
-rw-r--r-- | benchmark/misc/startup.js | 40 | ||||
-rw-r--r-- | benchmark/startup.js | 26 |
2 files changed, 40 insertions, 26 deletions
diff --git a/benchmark/misc/startup.js b/benchmark/misc/startup.js new file mode 100644 index 0000000000..25b3f56fef --- /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); + }); + } +} diff --git a/benchmark/startup.js b/benchmark/startup.js deleted file mode 100644 index 97bb8d5189..0000000000 --- a/benchmark/startup.js +++ /dev/null @@ -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(); |