Skip to content

Commit bfd2f03

Browse files
committed
module: print amount of load time of a module
1 parent 1264414 commit bfd2f03

File tree

1 file changed

+22
-2
lines changed

1 file changed

+22
-2
lines changed

lib/internal/modules/cjs/loader.js

+22-2
Original file line numberDiff line numberDiff line change
@@ -970,6 +970,8 @@ function getExportsForCircularRequire(module) {
970970
* @param {boolean} isMain Whether the module is the main entry point
971971
*/
972972
Module._load = function(request, parent, isMain) {
973+
const start = performance.now();
974+
973975
let relResolveCacheIdentifier;
974976
if (parent) {
975977
debug('Module._load REQUEST %s parent: %s', request, parent.id);
@@ -984,8 +986,14 @@ Module._load = function(request, parent, isMain) {
984986
if (cachedModule !== undefined) {
985987
updateChildren(parent, cachedModule, true);
986988
if (!cachedModule.loaded) {
987-
return getExportsForCircularRequire(cachedModule);
989+
const result = getExportsForCircularRequire(cachedModule);
990+
991+
debug(`TIMING [%s]: %d ms`, request, performance.now() - start);
992+
993+
return result;
988994
}
995+
996+
debug(`TIMING [%s]: %d ms`, request, performance.now() - start);
989997
return cachedModule.exports;
990998
}
991999
delete relativeResolveCache[relResolveCacheIdentifier];
@@ -1001,6 +1009,8 @@ Module._load = function(request, parent, isMain) {
10011009
}
10021010

10031011
const module = loadBuiltinModule(id, request);
1012+
1013+
debug(`TIMING [%s]: %d ms`, request, performance.now() - start);
10041014
return module.exports;
10051015
}
10061016

@@ -1011,16 +1021,24 @@ Module._load = function(request, parent, isMain) {
10111021
if (!cachedModule.loaded) {
10121022
const parseCachedModule = cjsSourceCache.get(cachedModule);
10131023
if (!parseCachedModule || parseCachedModule.loaded) {
1014-
return getExportsForCircularRequire(cachedModule);
1024+
const result = getExportsForCircularRequire(cachedModule);
1025+
1026+
debug(`TIMING [%s]: %d ms`, request, performance.now() - start);
1027+
1028+
return result;
10151029
}
10161030
parseCachedModule.loaded = true;
10171031
} else {
1032+
debug(`TIMING [%s]: %d ms`, request, performance.now() - start);
10181033
return cachedModule.exports;
10191034
}
10201035
}
10211036

10221037
if (BuiltinModule.canBeRequiredWithoutScheme(filename)) {
10231038
const mod = loadBuiltinModule(filename, request);
1039+
1040+
debug(`TIMING [%s]: %d ms`, request, performance.now() - start);
1041+
10241042
return mod.exports;
10251043
}
10261044

@@ -1068,6 +1086,8 @@ Module._load = function(request, parent, isMain) {
10681086
}
10691087
}
10701088

1089+
debug(`TIMING [%s]: %d ms`, request, performance.now() - start);
1090+
10711091
return module.exports;
10721092
};
10731093

0 commit comments

Comments
 (0)