Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nodejs/node.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFelix Geisendörfer <felix@debuggable.com>2010-09-09 22:36:51 +0400
committerRyan Dahl <ry@tinyclouds.org>2010-09-10 02:51:17 +0400
commitf870240dcf3589aadad40bd90f63bbe885bc22af (patch)
treed6ef2618e8f4d345e70754b26aacdbaec8c29894 /benchmark
parent5d42cc3a44f87e401edcff11971b10dfd2180f3c (diff)
Simple benchmark for node's startup time
Diffstat (limited to 'benchmark')
-rw-r--r--benchmark/startup.js26
1 files changed, 26 insertions, 0 deletions
diff --git a/benchmark/startup.js b/benchmark/startup.js
new file mode 100644
index 00000000000..3d1f443a4f8
--- /dev/null
+++ b/benchmark/startup.js
@@ -0,0 +1,26 @@
+var spawn = require('child_process').spawn,
+ path = require('path'),
+ emptyJsFile = path.join(__dirname, '../test/fixtures/empty.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();