/
githubmirror
/
node
Обзор
Документация
Войти
/
githubmirror
/
node
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
benchmark/fs/bench-statSync-failure.js
37 строк
878 B
CanadaHonk
fs: improve error perf of sync `lstat`+`fstat`
23 ноя 2023, 03:25
Не верифицирован
23 ноя 2023, 03:25
ea88a3e
Код
Авторство
О чём код?
'use strict'; const common = require('../common'); const fs = require('fs'); const path = require('path'); const bench = common.createBenchmark(main, { n: [1e4], statSyncType: ['fstatSync', 'lstatSync', 'statSync'], throwType: [ 'throw', 'noThrow' ], }, { // fstatSync does not support throwIfNoEntry combinationFilter: ({ statSyncType, throwType }) => !(statSyncType === 'fstatSync' && throwType === 'noThrow'), }); function main({ n, statSyncType, throwType }) { const arg = (statSyncType === 'fstatSync' ? (1 << 30) : path.join(__dirname, 'non.existent')); const fn = fs[statSyncType]; bench.start(); for (let i = 0; i < n; i++) { if (throwType === 'noThrow') { fn(arg, { throwIfNoEntry: false }); } else { try { fn(arg); } catch { // Continue regardless of error. } } } bench.end(n); }