/
githubmirror
/
node
Обзор
Документация
Войти
/
githubmirror
/
node
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
benchmark/fs/bench-mkdirSync.js
44 строки
995 B
CanadaHonk
fs: improve error performance for `mkdirSync`
21 окт 2023, 02:39
Не верифицирован
21 окт 2023, 02:39
c37cf18
Код
Авторство
О чём код?
'use strict'; const common = require('../common'); const fs = require('fs'); const tmpdir = require('../../test/common/tmpdir'); tmpdir.refresh(); const bench = common.createBenchmark(main, { type: ['existing', 'non-existing'], recursive: ['true', 'false'], n: [1e3], }); function main({ n, type, recursive }) { recursive = recursive === 'true'; let files; switch (type) { case 'non-existing': files = []; // Populate tmpdir with target dirs for (let i = 0; i < n; i++) { const path = tmpdir.resolve(recursive ? `rmdirsync-bench-dir-${process.pid}-${i}/a/b/c` : `rmdirsync-bench-dir-${process.pid}-${i}`); files.push(path); } break; case 'existing': files = new Array(n).fill(__dirname); break; default: new Error('Invalid type'); } bench.start(); for (let i = 0; i < n; i++) { try { fs.mkdirSync(files[i], { recursive }); } catch { // do nothing } } bench.end(n); }