不多说,先上图
Koa 1:
Koa 1 with bluebird-co:
Koa 2:
以上三图均采用koa自带的benchmarks下run脚本测试,koa 1 with bluebird-co 为改动后把koa内置的co替换成bluebird的coroutine后的测试结果,在这个benchmark里性能几乎翻倍,甚至远超koa 2。当然这个测试脚本可能有一定局限性,但不能不说明一些问题,bluebird的效率不容置疑
详情请参见bluebird评测的bluebird的coroutine和co效率对比:
https://github.com/novacrazy/bluebird-co/tree/master/benchmark
代码见 https://github.com/andyhu/koa/tree/bluebird-co 已经发布为npm包,感兴趣的话可以进一步测试 https://www.npmjs.com/package/koa-bluebird-co
经测试,性能提升完全来自替换了内置的Promise为bluebird。如果全局替换global.Promise = requrie('bluebird')的话效率比直接用bluebird-co还要高