mirror of https://github.com/nodejs/node.git
benchmark: cleanup child_process IPC benchmark
Squashed from: - child_process: fix IPC bench to obey send() ret val - child_process: fix IPC benchmark message has two more bytes - child_process: use setImmediate for IPC bench PR-URL: https://github.com/nodejs/node/pull/10557 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Anna Henningsen <anna@addaleax.net>pull/10407/head
parent
338d09d25b
commit
1216a34590
|
@ -1,14 +1,20 @@
|
|||
'use strict';
|
||||
if (process.argv[2] === 'child') {
|
||||
const len = +process.argv[3];
|
||||
const msg = `"${'.'.repeat(len)}"`;
|
||||
while (true) {
|
||||
process.send(msg);
|
||||
}
|
||||
const msg = '.'.repeat(len);
|
||||
const send = () => {
|
||||
while (process.send(msg));
|
||||
// Wait: backlog of unsent messages exceeds threshold
|
||||
setImmediate(send);
|
||||
};
|
||||
send();
|
||||
} else {
|
||||
const common = require('../common.js');
|
||||
const bench = common.createBenchmark(main, {
|
||||
len: [64, 256, 1024, 4096, 32768],
|
||||
len: [
|
||||
64, 256, 1024, 4096, 16384, 65536,
|
||||
65536 << 4, 65536 << 8
|
||||
],
|
||||
dur: [5]
|
||||
});
|
||||
const spawn = require('child_process').spawn;
|
||||
|
@ -18,7 +24,7 @@ if (process.argv[2] === 'child') {
|
|||
const dur = +conf.dur;
|
||||
const len = +conf.len;
|
||||
|
||||
const options = { 'stdio': ['ignore', 'ignore', 'ignore', 'ipc'] };
|
||||
const options = { 'stdio': ['ignore', 1, 2, 'ipc'] };
|
||||
const child = spawn(process.argv[0],
|
||||
[process.argv[1], 'child', len], options);
|
||||
|
||||
|
@ -29,8 +35,7 @@ if (process.argv[2] === 'child') {
|
|||
|
||||
setTimeout(function() {
|
||||
child.kill();
|
||||
const gbits = (bytes * 8) / (1024 * 1024 * 1024);
|
||||
bench.end(gbits);
|
||||
bench.end(bytes);
|
||||
}, dur * 1000);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue