当Node的默认值为64KB时,为什么文本到语音可读流的highWaterMark为16KB?

时间:2019-08-03 11:24:04

标签: node.js ibm-watson

期望的行为

我正在尝试将ibm-watson text to speech service返回的可读流pipe()加速为可写流。

当前行为

当前,四个请求(总共~15,214个字节(~15.214KB)的文本输入通过管道传输到写流(输出文件大小为2,145KB,{{1 }},2,156KB2,183KB-即总计1,775KB)。因此,不确定这是否“正常”,但似乎有点慢。

我尝试过的事情

我正在调查8,259KB option for node streams

highWaterMark值记录在下面,并且两种流类型都返回highWaterMark个字节,即16384

16.384KB

但是,the docs statetextToSpeech.synthesize(synthesizeParams, (err, audio) => { if (err) { console.log(err); return reject(err); } console.log('audio.readableHighWaterMark: ', audio.readableHighWaterMark); // 16384, ie 16.384kb var write_stream = fs.createWriteStream(`filename.mp3`); console.log('write_stream.writableHighWaterMark: ', write_stream.writableHighWaterMark); // 16384, ie 16.384kb audio.pipe(write_stream); }); 流的默认值为Readable,即64 * 1024

问题

仅想知道为什么返回的可读流的64KB不是highWaterMark

任何其他加快64KB速度的想法也受到赞赏-例如是否可以同时调整响应可读流和pipe() >到highWaterMark的可写流,这会加快处理速度吗?

环境

节点:64KB

0 个答案:

没有答案