mirror of
https://github.com/nodejs/node.git
synced 2024-12-01 16:10:02 +01:00
c594d15170
This drops exporting duplicate methods that accept FileHandle as the first argument (to mirror callback-based methods accepting 'fd'). Those methods were not adding actual value to the API because all of those are already present as FileHandle methods, and they would probably be confusing to the new users and making docs harder to read. Also, the API was a bit inconsistent and lacked .close(handle). Fixes: https://github.com/nodejs/node/issues/20548 PR-URL: https://github.com/nodejs/node/pull/20559 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
29 lines
689 B
JavaScript
29 lines
689 B
JavaScript
'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);
|
|
}
|