我想知道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');
请回答一下,如果我只希望宣传一种方法,我该怎么用。
答案 0 :(得分:2)
您正在使用哪种宣传方法根本不会影响宣传方法的效果。
当然,调用promisify
的工作量比调用promisifyAll
要少,但由于两者在程序启动期间只调用一次,因此在实践中无关紧要。