蓝鸟promisify vs promisify所有性能比较,当想要从模块的一个方法的promisification

时间:2017-02-25 11:49:44

标签: javascript node.js performance promise bluebird

我想知道bluebird promisify与promisifyAll之间的性能差异。

我尝试过 bluebird promisify和promisifyAll的性能测试。

但时间和记忆明智我没有看到重大差异,我仍然认为promisify稍快,内存占用少。还有什么是最好的。

假设我想要仅使用1个方法renderFile对ejs模块的renderFile进行Promisification。

我有2个选项

In [138]: lst = [(0,1),[2,3],(4,5)]

In [139]: pd.DataFrame(lst)
Out[139]:
   0  1
0  0  1
1  2  3
2  4  5

const ejs = require('ejs');
const renderFile = Promise.promisify(ejs.renderFile, {context: ejs});

我通过

测试表现
const ejs = Promise.promisifyAll(require('ejs'));

console.time('A'); console.timeEnd('A');

请回答一下,如果我只希望宣传一种方法,我该怎么用。

1 个答案:

答案 0 :(得分:2)

您正在使用哪种宣传方法根本不会影响宣传方法的效果。

当然,调用promisify的工作量比调用promisifyAll要少,但由于两者在程序启动期间只调用一次,因此在实践中无关紧要。