summaryrefslogtreecommitdiff
path: root/benchmark/misc
diff options
context:
space:
mode:
authorisaacs <i@izs.me>2013-02-11 13:24:27 -0800
committerisaacs <i@izs.me>2013-02-19 14:14:31 -0800
commit921c3c2097f170c881c2f3f264b89f792c204075 (patch)
tree7ecd8b5bac8576a83e2280da8c0a1d3ed1633dc4 /benchmark/misc
parent3b16657e77511d92b55d1d2157485d8dd0df0c00 (diff)
downloadandroid-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.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 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);
+ });
+ }
+}