diff options
Diffstat (limited to 'deps/node/benchmark/fs/read-stream-throughput.js')
-rw-r--r-- | deps/node/benchmark/fs/read-stream-throughput.js | 90 |
1 files changed, 0 insertions, 90 deletions
diff --git a/deps/node/benchmark/fs/read-stream-throughput.js b/deps/node/benchmark/fs/read-stream-throughput.js deleted file mode 100644 index cb5d98dc..00000000 --- a/deps/node/benchmark/fs/read-stream-throughput.js +++ /dev/null @@ -1,90 +0,0 @@ -// Test the throughput of the fs.WriteStream class. -'use strict'; - -const path = require('path'); -const common = require('../common.js'); -const filename = path.resolve(process.env.NODE_TMPDIR || __dirname, - `.removeme-benchmark-garbage-${process.pid}`); -const fs = require('fs'); -const assert = require('assert'); - -let encodingType, encoding, size, filesize; - -const bench = common.createBenchmark(main, { - encodingType: ['buf', 'asc', 'utf'], - filesize: [1000 * 1024 * 1024], - size: [1024, 4096, 65535, 1024 * 1024] -}); - -function main(conf) { - encodingType = conf.encodingType; - size = conf.size; - filesize = conf.filesize; - - switch (encodingType) { - case 'buf': - encoding = null; - break; - case 'asc': - encoding = 'ascii'; - break; - case 'utf': - encoding = 'utf8'; - break; - default: - throw new Error(`invalid encodingType: ${encodingType}`); - } - - makeFile(); -} - -function runTest() { - assert(fs.statSync(filename).size === filesize); - const rs = fs.createReadStream(filename, { - highWaterMark: size, - encoding: encoding - }); - - rs.on('open', () => { - bench.start(); - }); - - var bytes = 0; - rs.on('data', (chunk) => { - bytes += chunk.length; - }); - - rs.on('end', () => { - try { fs.unlinkSync(filename); } catch {} - // MB/sec - bench.end(bytes / (1024 * 1024)); - }); -} - -function makeFile() { - const buf = Buffer.allocUnsafe(filesize / 1024); - if (encoding === 'utf8') { - // ΓΌ - for (var i = 0; i < buf.length; i++) { - buf[i] = i % 2 === 0 ? 0xC3 : 0xBC; - } - } else if (encoding === 'ascii') { - buf.fill('a'); - } else { - buf.fill('x'); - } - - try { fs.unlinkSync(filename); } catch {} - var w = 1024; - const ws = fs.createWriteStream(filename); - ws.on('close', runTest); - ws.on('drain', write); - write(); - function write() { - do { - w--; - } while (false !== ws.write(buf) && w > 0); - if (w === 0) - ws.end(); - } -} |