Skip to content

Commit e61b38e

Browse files
aduh95RafaelGSS
authored andcommitted
benchmark: disambiguate filename and dirname read perf
PR-URL: #58056 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Yagiz Nizipli <[email protected]> Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Chengzhong Wu <[email protected]>
1 parent d5783af commit e61b38e

File tree

4 files changed

+16
-9
lines changed

4 files changed

+16
-9
lines changed

benchmark/esm/import-meta.js

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,37 @@
11
'use strict';
22

33
const path = require('path');
4-
const { pathToFileURL, fileURLToPath } = require('url');
4+
const { pathToFileURL } = require('url');
55
const common = require('../common');
66
const assert = require('assert');
77
const bench = common.createBenchmark(main, {
88
n: [1000],
9+
valuesToRead: [
10+
'dirname-and-filename',
11+
'dirname',
12+
'filename',
13+
],
914
});
1015

11-
const file = pathToFileURL(
12-
path.resolve(__filename, '../../fixtures/esm-dir-file.mjs'),
13-
);
14-
async function load(array, n) {
16+
const fixtureDir = path.resolve(__filename, '../../fixtures');
17+
const fixtureDirURL = pathToFileURL(fixtureDir);
18+
async function load(array, n, valuesToRead) {
1519
for (let i = 0; i < n; i++) {
16-
array[i] = await import(`${file}?i=${i}`);
20+
array[i] = await import(`${fixtureDirURL}/import-meta-${valuesToRead}.mjs?i=${i}`);
1721
}
1822
return array;
1923
}
2024

21-
function main({ n }) {
25+
function main({ n, valuesToRead }) {
2226
const array = [];
2327
for (let i = 0; i < n; ++i) {
2428
array.push({ dirname: '', filename: '', i: 0 });
2529
}
2630

2731
bench.start();
28-
load(array, n).then((arr) => {
32+
load(array, n, valuesToRead).then((arr) => {
2933
bench.end(n);
30-
assert.strictEqual(arr[n - 1].filename, fileURLToPath(file));
34+
if (valuesToRead.includes('dirname')) assert.strictEqual(arr[n - 1].dirname, fixtureDir);
35+
if (valuesToRead.includes('filename')) assert.strictEqual(arr[n - 1].filename, path.join(fixtureDir, `import-meta-${valuesToRead}.mjs`));
3136
});
3237
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export const dirname = import.meta.dirname;
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export const filename = import.meta.filename;

0 commit comments

Comments
 (0)