summaryrefslogtreecommitdiff
path: root/benchmark/child_process/spawn-echo.js
blob: 1ce40c3abf4541da6c4030a997b520991d8b30b2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
'use strict';
const common = require('../common.js');
const bench = common.createBenchmark(main, {
  n: [1000]
});

const spawn = require('child_process').spawn;
function main(conf) {
  const n = +conf.n;

  bench.start();
  go(n, n);
}

function go(n, left) {
  if (--left === 0)
    return bench.end(n);

  const child = spawn('echo', ['hello']);
  child.on('exit', function(code) {
    if (code)
      process.exit(code);
    else
      go(n, left);
  });
}