(chunks, chunkSize, n)
| 67 | } |
| 68 | |
| 69 | function benchFromSyncWritev(chunks, chunkSize, n) { |
| 70 | const { pipeToSync } = require('stream/iter'); |
| 71 | const chunk = new Uint8Array(chunkSize); |
| 72 | const expected = chunks * chunkSize * n; |
| 73 | let seen = 0; |
| 74 | let total = 0; |
| 75 | const fd = openSync(devNull, 'w'); |
| 76 | const writer = { |
| 77 | writeSync(chunk) { |
| 78 | writeSync(fd, chunk); |
| 79 | seen++; |
| 80 | }, |
| 81 | writevSync(batch) { |
| 82 | writevSync(fd, batch); |
| 83 | seen += batch.length; |
| 84 | }, |
| 85 | }; |
| 86 | |
| 87 | try { |
| 88 | bench.start(); |
| 89 | for (let i = 0; i < n; i++) { |
| 90 | total += pipeToSync(source(chunks, chunk), writer); |
| 91 | } |
| 92 | bench.end(chunks * n); |
| 93 | } finally { |
| 94 | closeSync(fd); |
| 95 | } |
| 96 | |
| 97 | if (total !== expected || seen !== chunks * n) { |
| 98 | throw new Error('unexpected chunk count'); |
| 99 | } |
| 100 | } |
no test coverage detected
searching dependent graphs…