期望的行为
我正在尝试将ibm-watson text to speech service返回的可读流pipe()
加速为可写流。
当前行为
当前,四个请求(总共~15,214
个字节(~15.214KB
)的文本输入通过管道传输到写流(输出文件大小为2,145KB
,{{1 }},2,156KB
,2,183KB
-即总计1,775KB
)。因此,不确定这是否“正常”,但似乎有点慢。
我尝试过的事情
我正在调查8,259KB
option for node streams。
highWaterMark
值记录在下面,并且两种流类型都返回highWaterMark
个字节,即16384
。
16.384KB
但是,the docs state个textToSpeech.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