Browse Source

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: https://github.com/nodejs/node/pull/8338
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Brian White <mscdex@mscdex.net>
v7.x
Anna Henningsen 8 years ago
committed by James M Snell
parent
commit
450ee63584
  1. 23
      benchmark/fs/bench-stat.js
  2. 21
      benchmark/fs/bench-statSync.js

23
benchmark/fs/bench-stat.js

@ -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]));
}

21
benchmark/fs/bench-statSync.js

@ -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);
}
Loading…
Cancel
Save