| 'use strict'; |
| |
| const common = require('../common'); |
| const fsPromises = require('fs').promises; |
| |
| const bench = common.createBenchmark(main, { |
| n: [20e4], |
| statType: ['fstat', 'lstat', 'stat'] |
| }); |
| |
| async function run(n, statType) { |
| const handleMode = statType === 'fstat'; |
| const arg = handleMode ? await fsPromises.open(__filename, 'r') : __filename; |
| let remaining = n; |
| bench.start(); |
| while (remaining-- > 0) |
| await (handleMode ? arg.stat() : fsPromises[statType](arg)); |
| bench.end(n); |
| |
| if (typeof arg.close === 'function') |
| await arg.close(); |
| } |
| |
| function main(conf) { |
| const n = conf.n >>> 0; |
| const statType = conf.statType; |
| run(n, statType).catch(console.log); |
| } |