diff options
author | Felix Geisendörfer <felix@debuggable.com> | 2010-09-09 22:36:51 +0400 |
---|---|---|
committer | Ryan Dahl <ry@tinyclouds.org> | 2010-09-10 02:51:17 +0400 |
commit | f870240dcf3589aadad40bd90f63bbe885bc22af (patch) | |
tree | d6ef2618e8f4d345e70754b26aacdbaec8c29894 /benchmark | |
parent | 5d42cc3a44f87e401edcff11971b10dfd2180f3c (diff) |
Simple benchmark for node's startup time
Diffstat (limited to 'benchmark')
-rw-r--r-- | benchmark/startup.js | 26 |
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(); |