diff options
author | Bartosz Sosnowski <bartosz@janeasystems.com> | 2016-05-25 16:33:10 +0200 |
---|---|---|
committer | João Reis <reis@janeasystems.com> | 2016-06-09 12:42:54 +0100 |
commit | cbbdc298b0e27b40634a50cb85da64a812fd2094 (patch) | |
tree | d8d974d49a4ffd11cc780435220c1460a03ced14 /benchmark/child_process/child-process-read.js | |
parent | 0cd01183342d0a1675a261c0bb57e742cfd75d7d (diff) | |
download | android-node-v8-cbbdc298b0e27b40634a50cb85da64a812fd2094.tar.gz android-node-v8-cbbdc298b0e27b40634a50cb85da64a812fd2094.tar.bz2 android-node-v8-cbbdc298b0e27b40634a50cb85da64a812fd2094.zip |
benchmark: fix child-process-read on Windows
Under Windows 'ipc' communication requires the other process to format
its messages with 'IPC framing protocol'. Otherwise, an assert is
triggered in libuv. This commit changes child-process-read benchmark
to use stdout to communicate with parent process. It also adds
child-process-read-ipc.js to benchmark IPC communication using
child node process.
PR-URL: https://github.com/nodejs/node/pull/6971
Reviewed-By: João Reis <reis@janeasystems.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Diffstat (limited to 'benchmark/child_process/child-process-read.js')
-rw-r--r-- | benchmark/child_process/child-process-read.js | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/benchmark/child_process/child-process-read.js b/benchmark/child_process/child-process-read.js index 33c268390f..b0128eb796 100644 --- a/benchmark/child_process/child-process-read.js +++ b/benchmark/child_process/child-process-read.js @@ -1,7 +1,14 @@ 'use strict'; const common = require('../common.js'); +const os = require('os'); + +var messagesLength = [64, 256, 1024, 4096]; +// Windows does not support that long arguments +if (os.platform() !== 'win32') + messagesLength.push(32768); + const bench = common.createBenchmark(main, { - len: [64, 256, 1024, 4096, 32768], + len: messagesLength, dur: [5] }); @@ -13,11 +20,11 @@ function main(conf) { const len = +conf.len; const msg = '"' + Array(len).join('.') + '"'; - const options = {'stdio': ['ignore', 'ipc', 'ignore']}; + const options = { 'stdio': ['ignore', 'pipe', 'ignore'] }; const child = spawn('yes', [msg], options); var bytes = 0; - child.on('message', function(msg) { + child.stdout.on('data', function(msg) { bytes += msg.length; }); |