summaryrefslogtreecommitdiff
path: root/deps/node/benchmark/fs/read-stream-throughput.js
diff options
context:
space:
mode:
Diffstat (limited to 'deps/node/benchmark/fs/read-stream-throughput.js')
-rw-r--r--deps/node/benchmark/fs/read-stream-throughput.js90
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();
- }
-}