我不知道您问题的答案,但这也许有助于您调查问题。
在有关流缓冲的Node.js文档中,它说:
两者可写和可读流将在可以使用被检索的内部缓冲器中的数据存储
writable.writableBuffer或readable.readableBuffer分别。可能缓冲的数据量取决于
highWaterMark传递到流的构造函数中的选项。对于普通流,该highWaterMark选项指定字节总数。对于以对象模式运行的流,highWaterMark指定了对象的总数。streamAPI的主要目标(特别是stream.pipe()方法)是将数据缓冲限制在可接受的水平,以使速度不同的源和目标不会占用可用内存。
来源:http:
//www.nodejs.org/api/stream.html#stream_buffering
因此,您可以使用缓冲区大小来提高速度:
var fs = require('fs');var path = require('path');var from = path.normalize(process.argv[2]);var to = path.normalize(process.argv[3]);var readOpts = {highWaterMark: Math.pow(2,16)}; // 65536var writeOpts = {highWaterMark: Math.pow(2,16)}; // 65536var source = fs.createReadStream(from, readOpts);var destiny = fs.createWriteStream(to, writeOpts)source.pipe(destiny);https://nodejs.org/api/stream.html#stream_writable_writablehighwatermark
https://nodejs.org/api/stream.html#stream_可读_可读highwatermark
https://nodejs.org/api/fs.html#fs_fs_createreadstream_path_options



