aboutsummaryrefslogtreecommitdiff
path: root/benchmark/child_process/spawn-echo.js
diff options
context:
space:
mode:
Diffstat (limited to 'benchmark/child_process/spawn-echo.js')
-rw-r--r--benchmark/child_process/spawn-echo.js26
1 files changed, 26 insertions, 0 deletions
diff --git a/benchmark/child_process/spawn-echo.js b/benchmark/child_process/spawn-echo.js
new file mode 100644
index 0000000000..7c9e851aac
--- /dev/null
+++ b/benchmark/child_process/spawn-echo.js
@@ -0,0 +1,26 @@
+'use strict';
+var common = require('../common.js');
+var bench = common.createBenchmark(main, {
+ thousands: [1]
+});
+
+var spawn = require('child_process').spawn;
+function main(conf) {
+ var len = +conf.thousands * 1000;
+
+ bench.start();
+ go(len, len);
+}
+
+function go(n, left) {
+ if (--left === 0)
+ return bench.end(n);
+
+ var child = spawn('echo', ['hello']);
+ child.on('exit', function(code) {
+ if (code)
+ process.exit(code);
+ else
+ go(n, left);
+ });
+}