summaryrefslogtreecommitdiff
path: root/deps/node/benchmark/fs/readfile-partitioned.js
diff options
context:
space:
mode:
Diffstat (limited to 'deps/node/benchmark/fs/readfile-partitioned.js')
-rw-r--r--deps/node/benchmark/fs/readfile-partitioned.js86
1 files changed, 0 insertions, 86 deletions
diff --git a/deps/node/benchmark/fs/readfile-partitioned.js b/deps/node/benchmark/fs/readfile-partitioned.js
deleted file mode 100644
index 2775793e..00000000
--- a/deps/node/benchmark/fs/readfile-partitioned.js
+++ /dev/null
@@ -1,86 +0,0 @@
-// Submit a mix of short and long jobs to the threadpool.
-// Report total job throughput.
-// If we partition the long job, overall job throughput goes up significantly.
-// However, this comes at the cost of the long job throughput.
-//
-// Short jobs: small zip jobs.
-// Long jobs: fs.readFile on a large file.
-
-'use strict';
-
-const path = require('path');
-const common = require('../common.js');
-const filename = path.resolve(__dirname,
- `.removeme-benchmark-garbage-${process.pid}`);
-const fs = require('fs');
-const zlib = require('zlib');
-const assert = require('assert');
-
-const bench = common.createBenchmark(main, {
- dur: [5],
- len: [1024, 16 * 1024 * 1024],
- concurrent: [1, 10]
-});
-
-function main(conf) {
- const len = +conf.len;
- try { fs.unlinkSync(filename); } catch {}
- var data = Buffer.alloc(len, 'x');
- fs.writeFileSync(filename, data);
- data = null;
-
- var zipData = Buffer.alloc(1024, 'a');
-
- var reads = 0;
- var zips = 0;
- var benchEnded = false;
- bench.start();
- setTimeout(() => {
- const totalOps = reads + zips;
- benchEnded = true;
- bench.end(totalOps);
- try { fs.unlinkSync(filename); } catch {}
- }, +conf.dur * 1000);
-
- function read() {
- fs.readFile(filename, afterRead);
- }
-
- function afterRead(er, data) {
- if (er) {
- if (er.code === 'ENOENT') {
- // Only OK if unlinked by the timer from main.
- assert.ok(benchEnded);
- return;
- }
- throw er;
- }
-
- if (data.length !== len)
- throw new Error('wrong number of bytes returned');
-
- reads++;
- if (!benchEnded)
- read();
- }
-
- function zip() {
- zlib.deflate(zipData, afterZip);
- }
-
- function afterZip(er, data) {
- if (er)
- throw er;
-
- zips++;
- if (!benchEnded)
- zip();
- }
-
- // Start reads
- var cur = +conf.concurrent;
- while (cur--) read();
-
- // Start a competing zip
- zip();
-}