| 'use strict'; |
| const common = require('../common.js'); |
| const { |
| Duplex, |
| Readable, |
| Transform, |
| Writable, |
| } = require('stream'); |
| |
| const bench = common.createBenchmark(main, { |
| n: [50e6], |
| kind: ['duplex', 'readable', 'transform', 'writable'] |
| }); |
| |
| function main({ n, kind }) { |
| switch (kind) { |
| case 'duplex': |
| new Duplex({}); |
| new Duplex(); |
| |
| bench.start(); |
| for (let i = 0; i < n; ++i) |
| new Duplex(); |
| bench.end(n); |
| break; |
| case 'readable': |
| new Readable({}); |
| new Readable(); |
| |
| bench.start(); |
| for (let i = 0; i < n; ++i) |
| new Readable(); |
| bench.end(n); |
| break; |
| case 'writable': |
| new Writable({}); |
| new Writable(); |
| |
| bench.start(); |
| for (let i = 0; i < n; ++i) |
| new Writable(); |
| bench.end(n); |
| break; |
| case 'transform': |
| new Transform({}); |
| new Transform(); |
| |
| bench.start(); |
| for (let i = 0; i < n; ++i) |
| new Transform(); |
| bench.end(n); |
| break; |
| default: |
| throw new Error('Invalid kind'); |
| } |
| } |