diff --git a/benchmark/startup.js b/benchmark/startup.js new file mode 100644 index 0000000000..3d1f443a4f --- /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(); diff --git a/test/fixtures/empty.js b/test/fixtures/empty.js new file mode 100644 index 0000000000..092bc2b041 --- /dev/null +++ b/test/fixtures/empty.js @@ -0,0 +1 @@ +;