| 153 | // Pull/iter path: pull() with uppercase transform + selected compression |
| 154 | // --------------------------------------------------------------------------- |
| 155 | async function benchPull(n, filesize, compression) { |
| 156 | const iter = require('zlib/iter'); |
| 157 | |
| 158 | const compressFactory = { |
| 159 | gzip: iter.compressGzip, |
| 160 | deflate: iter.compressDeflate, |
| 161 | brotli: iter.compressBrotli, |
| 162 | zstd: iter.compressZstd, |
| 163 | }[compression]; |
| 164 | |
| 165 | // Warm up |
| 166 | await runPull(compressFactory); |
| 167 | |
| 168 | bench.start(); |
| 169 | let totalBytes = 0; |
| 170 | for (let i = 0; i < n; i++) { |
| 171 | totalBytes += await runPull(compressFactory); |
| 172 | } |
| 173 | bench.end(totalBytes / (1024 * 1024)); |
| 174 | } |
| 175 | |
| 176 | async function runPull(compressFactory) { |
| 177 | const fh = await fs.promises.open(filename, 'r'); |