Skip to content

Commit 05bd6b7

Browse files
committed
bench: add child process read perf benchmark
1 parent 690a8cc commit 05bd6b7

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

benchmark/misc/child-process-read.js

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
var common = require('../common.js');
2+
var bench = common.createBenchmark(main, {
3+
len: [64, 256, 1024, 4096, 32768],
4+
dur: [5]
5+
});
6+
7+
var spawn = require('child_process').spawn;
8+
function main(conf) {
9+
bench.start();
10+
11+
var dur = +conf.dur;
12+
var len = +conf.len;
13+
14+
var msg = '"' + Array(len).join('.') + '"';
15+
var options = { 'stdio': ['ignore', 'ipc', 'ignore'] };
16+
var child = spawn('yes', [msg], options);
17+
18+
var bytes = 0;
19+
child.on('message', function(msg) {
20+
bytes += msg.length;
21+
});
22+
23+
setTimeout(function() {
24+
child.kill();
25+
var gbits = (bytes * 8) / (1024 * 1024 * 1024);
26+
bench.end(gbits);
27+
}, dur * 1000);
28+
}

0 commit comments

Comments
 (0)