summaryrefslogtreecommitdiff
path: root/benchmark/misc/startup.js
diff options
context:
space:
mode:
Diffstat (limited to 'benchmark/misc/startup.js')
-rw-r--r--benchmark/misc/startup.js40
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);
+ });
+ }
+}