Performance: Buffer and streams relationship
This concept affects how efficiently data is handled and transferred in Node.js applications, impacting memory usage and responsiveness.
Jump into concepts and practice - no test required
const fs = require('fs'); const stream = fs.createReadStream('largefile.txt'); stream.on('data', chunk => processData(chunk));
const fs = require('fs'); const data = fs.readFileSync('largefile.txt'); processData(data);
| Pattern | DOM Operations | Reflows | Paint Cost | Verdict |
|---|---|---|---|---|
| Synchronous read with full buffer | N/A | N/A | N/A | [X] Bad |
| Stream with buffer chunks | N/A | N/A | N/A | [OK] Good |
Buffer in Node.js streams?Buffer.from() is the recommended way to create buffers from strings.new Buffer() is deprecated; Buffer.create() and Buffer.string() do not exist.const { Readable } = require('stream');
const readable = Readable.from(['Hello', ' ', 'World']);
readable.on('data', (chunk) => {
console.log(Buffer.isBuffer(chunk));
});
What will be the output?const fs = require('fs');
const stream = fs.createReadStream('file.txt');
stream.on('data', (chunk) => {
console.log(chunk.toString('utf8'));
});
stream.on('end', () => {
console.log('Done');
});