From 450ee635846dc583c893f2e5ee80896ca02461e1 Mon Sep 17 00:00:00 2001 From: Anna Henningsen Date: Tue, 30 Aug 2016 14:52:41 +0200 Subject: [PATCH] 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 Reviewed-By: James M Snell Reviewed-By: Brian White --- benchmark/fs/bench-stat.js | 23 +++++++++++++++++++++++ benchmark/fs/bench-statSync.js | 21 +++++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 benchmark/fs/bench-stat.js create mode 100644 benchmark/fs/bench-statSync.js diff --git a/benchmark/fs/bench-stat.js b/benchmark/fs/bench-stat.js new file mode 100644 index 0000000000..c0db00e27d --- /dev/null +++ b/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])); +} diff --git a/benchmark/fs/bench-statSync.js b/benchmark/fs/bench-statSync.js new file mode 100644 index 0000000000..ba1e8168b4 --- /dev/null +++ b/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); +}