Performance: Piping streams together
This affects how efficiently data flows through the application, impacting memory usage and CPU load during streaming operations.
Jump into concepts and practice - no test required
const fs = require('fs'); const readable = fs.createReadStream('input.txt'); const writable = fs.createWriteStream('output.txt'); readable.pipe(writable);
const fs = require('fs'); const readable = fs.createReadStream('input.txt'); const writable = fs.createWriteStream('output.txt'); readable.on('data', chunk => { writable.write(chunk); }); readable.on('end', () => { writable.end(); });
| Pattern | DOM Operations | Reflows | Paint Cost | Verdict |
|---|---|---|---|---|
| Manual event handling for streams | N/A | N/A | N/A | [X] Bad |
| Using stream.pipe() method | N/A | N/A | N/A | [OK] Good |
readStream into a writable stream writeStream?pipe() method is called on a readable stream and takes a writable stream as argument.const fs = require('fs');
const readStream = fs.createReadStream('input.txt');
const writeStream = fs.createWriteStream('output.txt');
readStream.pipe(writeStream);
writeStream.on('finish', () => console.log('Done'));const fs = require('fs');
const readStream = fs.createReadStream('file.txt');
const writeStream = fs.createWriteStream('copy.txt');
writeStream.pipe(readStream);input.txt, compress it using zlib's gzip, and write the compressed data to output.gz. Which code snippet correctly pipes these streams together?