我有一个使用mocha.js
的测试套件,我运行它以确保一切正常。对于我需要的每个模块,我注意到测试时间增加了大约100ms。这是一款功能强大的四核机器,内存为8GB。
调用require
的实际成本是多少,是否会影响应用程序性能或仅测试性能?
如果相关,则节点版本为0.8.11
。
答案 0 :(得分:7)
要求非常昂贵,因为在任何静态分析期间都不会执行。它需要执行几项操作,它会同步,在未定义的时间段内阻止您的程序:
您不应在任何非顶级代码中使用require
,在测试之前需要一切,除非您准备支付增加执行时间的代价。
在很老的Node.JS中曾经存在require
的异步版本,不幸的是它似乎不再存在。