diff --git a/benchmark/streams/writable-manywrites.js b/benchmark/streams/writable-manywrites.js index ebd83779b76158..049bf8eb281db2 100644 --- a/benchmark/streams/writable-manywrites.js +++ b/benchmark/streams/writable-manywrites.js @@ -5,25 +5,36 @@ const Writable = require('stream').Writable; const bench = common.createBenchmark(main, { n: [2e6], - sync: ['yes', 'no'] + sync: ['yes', 'no'], + writev: ['yes', 'no'], + callback: ['yes', 'no'] }); -function main({ n, sync }) { +function main({ n, sync, writev, callback }) { const b = Buffer.allocUnsafe(1024); const s = new Writable(); sync = sync === 'yes'; - s._write = function(chunk, encoding, cb) { + + const writecb = (cb) => { if (sync) cb(); else process.nextTick(cb); }; + if (writev === 'yes') { + s._writev = (chunks, cb) => writecb(cb); + } else { + s._write = (chunk, encoding, cb) => writecb(cb); + } + + const cb = callback === 'yes' ? () => {} : null; + bench.start(); let k = 0; function run() { - while (k++ < n && s.write(b)); + while (k++ < n && s.write(b, cb)); if (k >= n) bench.end(n); } diff --git a/test/benchmark/test-benchmark-streams.js b/test/benchmark/test-benchmark-streams.js index 51cdace5748fa4..fa61b8dc4e0ae7 100644 --- a/test/benchmark/test-benchmark-streams.js +++ b/test/benchmark/test-benchmark-streams.js @@ -9,6 +9,8 @@ runBenchmark('streams', 'kind=duplex', 'n=1', 'sync=no', + 'writev=no', + 'callback=no', 'type=buffer', ], { NODEJS_BENCHMARK_ZERO_ALLOWED: 1 });