/
githubmirror
/
node
Обзор
Документация
Войти
/
githubmirror
/
node
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
v22.23.0
benchmark/module/module-loader-deep.js
49 строк
1 KB
Livia Medeiros
benchmark: use `tmpdir.resolve()`
30 авг 2023, 12:55
Не верифицирован
30 авг 2023, 12:55
fcf5de0
Код
Авторство
О чём код?
'use strict'; const fs = require('fs'); const common = require('../common.js'); const tmpdir = require('../../test/common/tmpdir'); const benchmarkDirectory = tmpdir.resolve('nodejs-benchmark-module'); const bench = common.createBenchmark(main, { ext: ['', '.js'], files: [1e3], cache: ['true', 'false'], }); function main({ ext, cache, files }) { tmpdir.refresh(); fs.mkdirSync(benchmarkDirectory); fs.writeFileSync( `${benchmarkDirectory}/a.js`, 'module.exports = {};', ); for (let i = 0; i <= files; i++) { fs.mkdirSync(`${benchmarkDirectory}/${i}`); fs.writeFileSync( `${benchmarkDirectory}/${i}/package.json`, '{"main": "index.js"}', ); fs.writeFileSync( `${benchmarkDirectory}/${i}/index.js`, `require('../a${ext}');`, ); } measureDir(cache === 'true', files); tmpdir.refresh(); } function measureDir(cache, files) { if (cache) { for (let i = 0; i <= files; i++) { require(`${benchmarkDirectory}/${i}`); } } bench.start(); for (let i = 0; i <= files; i++) { require(`${benchmarkDirectory}/${i}`); } bench.end(files); }