Permalink
Browse files

benchmark: add benches for fs.stat & fs.statSync

Add very simple benchmarks for `fs.stat` and `fs.statSync` as
well as `fs.lstat` and `fs.lstatSync` based on the `readdir`
benchmarks.

PR-URL: #8338
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Brian White <mscdex@mscdex.net>
  • Loading branch information...
addaleax authored and Fishrock123 committed Aug 30, 2016
1 parent 7cc1391 commit 00f4bc31056de188dc2abf8744feb7875f1a24f8
Showing with 44 additions and 0 deletions.
  1. +23 −0 benchmark/fs/bench-stat.js
  2. +21 −0 benchmark/fs/bench-statSync.js
View
@@ -0,0 +1,23 @@
'use strict';
const common = require('../common');
const fs = require('fs');
const bench = common.createBenchmark(main, {
n: [1e4],
kind: ['lstat', 'stat']
});
function main(conf) {
const n = conf.n >>> 0;
bench.start();
(function r(cntr, fn) {
if (cntr-- <= 0)
return bench.end(n);
fn(__filename, function() {
r(cntr, fn);
});
}(n, fs[conf.kind]));
}
@@ -0,0 +1,21 @@
'use strict';
const common = require('../common');
const fs = require('fs');
const bench = common.createBenchmark(main, {
n: [1e4],
kind: ['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);
}
bench.end(n);
}

0 comments on commit 00f4bc3

Please sign in to comment.