Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nodejs/node.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'benchmark')
-rw-r--r--benchmark/fs/bench-statSync.js32
1 files changed, 25 insertions, 7 deletions
diff --git a/benchmark/fs/bench-statSync.js b/benchmark/fs/bench-statSync.js
index ba1e8168b4a..4bc2ecd65a3 100644
--- a/benchmark/fs/bench-statSync.js
+++ b/benchmark/fs/bench-statSync.js
@@ -5,17 +5,35 @@ const fs = require('fs');
const bench = common.createBenchmark(main, {
n: [1e4],
- kind: ['lstatSync', 'statSync']
+ kind: ['fstatSync', 'lstatSync', 'statSync']
});
function main(conf) {
const n = conf.n >>> 0;
- const fn = fs[conf.kind];
-
- bench.start();
- for (var i = 0; i < n; i++) {
- fn(__filename);
+ var fn;
+ var i;
+ switch (conf.kind) {
+ case 'statSync':
+ case 'lstatSync':
+ fn = fs[conf.kind];
+ bench.start();
+ for (i = 0; i < n; i++) {
+ fn(__filename);
+ }
+ bench.end(n);
+ break;
+ case 'fstatSync':
+ fn = fs.fstatSync;
+ const fd = fs.openSync(__filename, 'r');
+ bench.start();
+ for (i = 0; i < n; i++) {
+ fn(fd);
+ }
+ bench.end(n);
+ fs.closeSync(fd);
+ break;
+ default:
+ throw new Error('Invalid kind argument');
}
- bench.end(n);
}