diff --git a/benchmark/esm/import-meta.js b/benchmark/esm/import-meta.js index fd371cf60ed..0e56d8a34a3 100644 --- a/benchmark/esm/import-meta.js +++ b/benchmark/esm/import-meta.js @@ -1,32 +1,37 @@ 'use strict'; const path = require('path'); -const { pathToFileURL, fileURLToPath } = require('url'); +const { pathToFileURL } = require('url'); const common = require('../common'); const assert = require('assert'); const bench = common.createBenchmark(main, { n: [1000], + valuesToRead: [ + 'dirname-and-filename', + 'dirname', + 'filename', + ], }); -const file = pathToFileURL( - path.resolve(__filename, '../../fixtures/esm-dir-file.mjs'), -); -async function load(array, n) { +const fixtureDir = path.resolve(__filename, '../../fixtures'); +const fixtureDirURL = pathToFileURL(fixtureDir); +async function load(array, n, valuesToRead) { for (let i = 0; i < n; i++) { - array[i] = await import(`${file}?i=${i}`); + array[i] = await import(`${fixtureDirURL}/import-meta-${valuesToRead}.mjs?i=${i}`); } return array; } -function main({ n }) { +function main({ n, valuesToRead }) { const array = []; for (let i = 0; i < n; ++i) { array.push({ dirname: '', filename: '', i: 0 }); } bench.start(); - load(array, n).then((arr) => { + load(array, n, valuesToRead).then((arr) => { bench.end(n); - assert.strictEqual(arr[n - 1].filename, fileURLToPath(file)); + if (valuesToRead.includes('dirname')) assert.strictEqual(arr[n - 1].dirname, fixtureDir); + if (valuesToRead.includes('filename')) assert.strictEqual(arr[n - 1].filename, path.join(fixtureDir, `import-meta-${valuesToRead}.mjs`)); }); } diff --git a/benchmark/fixtures/esm-dir-file.mjs b/benchmark/fixtures/import-meta-dirname-and-filename.mjs similarity index 100% rename from benchmark/fixtures/esm-dir-file.mjs rename to benchmark/fixtures/import-meta-dirname-and-filename.mjs diff --git a/benchmark/fixtures/import-meta-dirname.mjs b/benchmark/fixtures/import-meta-dirname.mjs new file mode 100644 index 00000000000..8429b1f3cf8 --- /dev/null +++ b/benchmark/fixtures/import-meta-dirname.mjs @@ -0,0 +1 @@ +export const dirname = import.meta.dirname; diff --git a/benchmark/fixtures/import-meta-filename.mjs b/benchmark/fixtures/import-meta-filename.mjs new file mode 100644 index 00000000000..73e495e19b7 --- /dev/null +++ b/benchmark/fixtures/import-meta-filename.mjs @@ -0,0 +1 @@ +export const filename = import.meta.filename;