diff options
author | Florian Dold <florian.dold@gmail.com> | 2019-04-03 15:43:32 +0200 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2019-04-03 15:45:57 +0200 |
commit | 71e285b94c7edaa43aa8115965cf5a36b8e0f80a (patch) | |
tree | 7d4aa9d0d5aff686b106cd5da72ba77960c4af43 /deps/node/benchmark/module/module-loader.js | |
parent | 7dadf9356b4f3f4137ce982ea5bb960283116e9a (diff) | |
download | akono-71e285b94c7edaa43aa8115965cf5a36b8e0f80a.tar.gz akono-71e285b94c7edaa43aa8115965cf5a36b8e0f80a.tar.bz2 akono-71e285b94c7edaa43aa8115965cf5a36b8e0f80a.zip |
Node.js v11.13.0
Diffstat (limited to 'deps/node/benchmark/module/module-loader.js')
-rw-r--r-- | deps/node/benchmark/module/module-loader.js | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/deps/node/benchmark/module/module-loader.js b/deps/node/benchmark/module/module-loader.js new file mode 100644 index 00000000..e780d637 --- /dev/null +++ b/deps/node/benchmark/module/module-loader.js @@ -0,0 +1,64 @@ +'use strict'; +const fs = require('fs'); +const path = require('path'); +const common = require('../common.js'); + +const tmpdir = require('../../test/common/tmpdir'); +const benchmarkDirectory = path.join(tmpdir.path, 'nodejs-benchmark-module'); + +const bench = common.createBenchmark(main, { + n: [5e4], + fullPath: ['true', 'false'], + useCache: ['true', 'false'] +}); + +function main({ n, fullPath, useCache }) { + tmpdir.refresh(); + try { fs.mkdirSync(benchmarkDirectory); } catch {} + for (var i = 0; i <= n; i++) { + fs.mkdirSync(`${benchmarkDirectory}${i}`); + fs.writeFileSync( + `${benchmarkDirectory}${i}/package.json`, + '{"main": "index.js"}' + ); + fs.writeFileSync( + `${benchmarkDirectory}${i}/index.js`, + 'module.exports = "";' + ); + } + + if (fullPath === 'true') + measureFull(n, useCache === 'true'); + else + measureDir(n, useCache === 'true'); + + tmpdir.refresh(); +} + +function measureFull(n, useCache) { + var i; + if (useCache) { + for (i = 0; i <= n; i++) { + require(`${benchmarkDirectory}${i}/index.js`); + } + } + bench.start(); + for (i = 0; i <= n; i++) { + require(`${benchmarkDirectory}${i}/index.js`); + } + bench.end(n); +} + +function measureDir(n, useCache) { + var i; + if (useCache) { + for (i = 0; i <= n; i++) { + require(`${benchmarkDirectory}${i}`); + } + } + bench.start(); + for (i = 0; i <= n; i++) { + require(`${benchmarkDirectory}${i}`); + } + bench.end(n); +} |