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/misc | |
parent | 3b16657e77511d92b55d1d2157485d8dd0df0c00 (diff) | |
download | android-node-v8-921c3c2097f170c881c2f3f264b89f792c204075.tar.gz android-node-v8-921c3c2097f170c881c2f3f264b89f792c204075.tar.bz2 android-node-v8-921c3c2097f170c881c2f3f264b89f792c204075.zip |
bench: misc/startup.js
Diffstat (limited to 'benchmark/misc')
-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 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); + }); + } +} |