summaryrefslogtreecommitdiff
path: root/benchmark/module/module-loader-circular.js
diff options
context:
space:
mode:
Diffstat (limited to 'benchmark/module/module-loader-circular.js')
-rw-r--r--benchmark/module/module-loader-circular.js34
1 files changed, 34 insertions, 0 deletions
diff --git a/benchmark/module/module-loader-circular.js b/benchmark/module/module-loader-circular.js
new file mode 100644
index 0000000000..6d392e0e19
--- /dev/null
+++ b/benchmark/module/module-loader-circular.js
@@ -0,0 +1,34 @@
+'use strict';
+const fs = require('fs');
+const path = require('path');
+const common = require('../common.js');
+
+const tmpdir = require('../../test/common/tmpdir');
+const benchmarkDirectory =
+ path.resolve(tmpdir.path, 'benchmark-module-circular');
+
+const bench = common.createBenchmark(main, {
+ n: [1e4]
+});
+
+function main({ n }) {
+ tmpdir.refresh();
+
+ const aDotJS = path.join(benchmarkDirectory, 'a.js');
+ const bDotJS = path.join(benchmarkDirectory, 'b.js');
+
+ fs.mkdirSync(benchmarkDirectory);
+ fs.writeFileSync(aDotJS, 'require("./b.js");');
+ fs.writeFileSync(bDotJS, 'require("./a.js");');
+
+ bench.start();
+ for (let i = 0; i < n; i++) {
+ require(aDotJS);
+ require(bDotJS);
+ delete require.cache[aDotJS];
+ delete require.cache[bDotJS];
+ }
+ bench.end(n);
+
+ tmpdir.refresh();
+}