Javascript 如果我们使用“是否存在性能差异”;“全球”;或;要求;在节点模块中?

Javascript 如果我们使用“是否存在性能差异”;“全球”;或;要求;在节点模块中?,javascript,node.js,performance,require,Javascript,Node.js,Performance,Require,比如说,我们有nodeapp.js let lib= require("./big_library.js"); ... // some logic here, using myLib // ... global.myLib = lib; let other= require("./other.js"); 在other.js模块中,我们有: let lib= require("./big_library.js"); //or it's

比如说,我们有node
app.js

let lib= require("./big_library.js");
...
// some logic here, using myLib //
...
global.myLib = lib;
let other= require("./other.js");
other.js
模块中,我们有:

let lib= require("./big_library.js");
//or it's better :  lib = global.myLib;

所以,我的问题是直接和理论效应有关的。使用
global.myLib
是否会使其性能更好(访问库),而不是在每个模块中增加
require

第二个require的成本是查找其内部缓存以查看模块是否已解决的成本

但我不认为这只是表演的问题。是关于订单的。require保证在您第一次调用它时执行一次。不管你第一次叫它到哪里


另一方面,如果您开始依赖显式排序(设置变量总是在其使用之前),您迟早会遇到这种情况。

您是否对代码进行了基准测试或分析,以便自己找到答案?考虑到模块的巨大可维护性优势,您是否考虑过性能缺陷(如果有)是否值得?另外,您现在真的应该使用本机ECMAScript模块,这将再次为您提供不同的概要文件/基准测试结果。@T.Todua See-这是在您从“y”使用
import{x}时语法,而不是使用
require()