Performance 加载模块时的节点js性能
我有几个自定义模块,每秒调用数百次,我想确保调用这些模块不会对性能造成影响 示例模块-random-string.jsPerformance 加载模块时的节点js性能,performance,node.js,Performance,Node.js,我有几个自定义模块,每秒调用数百次,我想确保调用这些模块不会对性能造成影响 示例模块-random-string.js module.exports = function() { // Required modules var logs = require(__dirname + '/logs.js'); // Custom logger var uuid = require('node-uuid'); // Simple, fast generation of RFC
module.exports = function() {
// Required modules
var logs = require(__dirname + '/logs.js'); // Custom logger
var uuid = require('node-uuid'); // Simple, fast generation of RFC4122 UUIDS
var randomString = uuid.v1() + uuid.v4();
logs.dev(randomString);
return randomString;
};
如果我从另一个ie.require\u dirname+'/random string.js'调用这个模块,并且它每秒被调用数百次,这是不是每次都读取磁盘以加载logs.js或节点uuid?否。模块返回值会被缓存和重用 尽管构建代码的更好方法是:
var logs = require(__dirname + '/logs.js'); // Custom logger
var uuid = require('node-uuid'); // Simple, fast generation of RFC4122 UUIDS
module.exports = function() {
var randomString = uuid.v1() + uuid.v4();
logs.dev(randomString);
return randomString;
};
否。模块返回值被缓存和重用 尽管构建代码的更好方法是:
var logs = require(__dirname + '/logs.js'); // Custom logger
var uuid = require('node-uuid'); // Simple, fast generation of RFC4122 UUIDS
module.exports = function() {
var randomString = uuid.v1() + uuid.v4();
logs.dev(randomString);
return randomString;
};
Node.js缓存模块,以便仅在第一次请求时加载模块。有关详细信息,请参阅。Node.js缓存模块,以便仅在第一次请求时加载模块。有关详细信息,请参阅。否,由require加载的模块由节点缓存,因此它不会每次都进入磁盘,但仍然没有充分的理由在每次函数调用时加载模块:仍然存在一些与require调用和查找缓存模块对象相关的开销 为什么不在模块顶部加载依赖项呢
var logs = require(__dirname + '/logs.js'); // Custom logger
var uuid = require('node-uuid'); // Simple, fast generation of RFC4122 UUIDS
module.exports = function() {
var randomString = uuid.v1() + uuid.v4();
logs.dev(randomString);
return randomString;
};
不,由require加载的模块是由节点缓存的,因此它不会每次都进入磁盘,但仍然没有充分的理由在每次函数调用时加载模块:仍然存在一些与require调用和查找缓存模块对象相关的开销
为什么不在模块顶部加载依赖项呢
var logs = require(__dirname + '/logs.js'); // Custom logger
var uuid = require('node-uuid'); // Simple, fast generation of RFC4122 UUIDS
module.exports = function() {
var randomString = uuid.v1() + uuid.v4();
logs.dev(randomString);
return randomString;
};