我有两组代码和gona用于获取结果,我只是想知道两种方式是否可以完成。
//dataService.js
module.exports = {
getData: function(){// return data from some sync source}
}
const DataService = require(‘./dataService’);
console.log(DataService.getData());
另一种方式
//dataService.js
var DataService = Class DataService {
getData (){ / return data from some sync source}
}
module.exports = DataService
const DataService = require(‘./dataService’);
console.log((new DataService()).getData());
请帮助我理解,当我们加载超过100万个请求时,两个代码在性能和标准方面都很好。
答案 0 :(得分:0)
我做了一个基准测试得到了以下结果:
Class Data x 22,047,798 ops/sec ±0.88% (88 runs sampled)
Data as module x 31,695,587 ops/sec ±0.97% (89 runs sampled)
最快的数据为模块
结果非常符合逻辑,每次使用new
的类模块时内存消耗量也会更高,新类正在返回带有原型链接的实例。 < / p>
基准代码:
const Benchmark = require('benchmark');
const moduleData = require('./modules/module-data');
const ClassData = require('./modules/class-data');
var suite = new Benchmark.Suite;
// add tests
suite.add('Class Data', function () {
new ClassData().getData();
})
.add('Data as module', function () {
moduleData.getData();
})
// add listeners
.on('cycle', function (event) {
console.log(String(event.target));
})
.on('complete', function () {
console.log('Fastest is ' + this.filter('fastest').map('name'));
})
// run async
.run({ 'async': true });