Skip to content

Commit 14a8280

Browse files
committed
benchmark: disambiguate filename and dirname read perf
PR-URL: #58056 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
1 parent 54b3f7f commit 14a8280

4 files changed

Lines changed: 16 additions & 9 deletions

File tree

‎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
constpath=require('path');
4-
const{ pathToFileURL, fileURLToPath}=require('url');
4+
const{ pathToFileURL }=require('url');
55
constcommon=require('../common');
66
constassert=require('assert');
77
constbench=common.createBenchmark(main,{
88
n: [1000],
9+
valuesToRead: [
10+
'dirname-and-filename',
11+
'dirname',
12+
'filename',
13+
],
914
});
1015

11-
constfile=pathToFileURL(
12-
path.resolve(__filename,'../../fixtures/esm-dir-file.mjs'),
13-
);
14-
asyncfunctionload(array,n){
16+
constfixtureDir=path.resolve(__filename,'../../fixtures');
17+
constfixtureDirURL=pathToFileURL(fixtureDir);
18+
asyncfunctionload(array,n,valuesToRead){
1519
for(leti=0;i<n;i++){
16-
array[i]=awaitimport(`${file}?i=${i}`);
20+
array[i]=awaitimport(`${fixtureDirURL}/import-meta-${valuesToRead}.mjs?i=${i}`);
1721
}
1822
returnarray;
1923
}
2024

21-
functionmain({ n }){
25+
functionmain({ n, valuesToRead}){
2226
constarray=[];
2327
for(leti=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
}
File renamed without changes.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
exportconstdirname=import.meta.dirname;
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
exportconstfilename=import.meta.filename;

0 commit comments

Comments
 (0)