console.log('node version:',process.version); const co = require('co'); function* testfun_co(){ let total = 0; for(let i = 0;i<10000;i++){ total += yield done=>done(null,i); } console.log('total:',total); }
// 8.9.4 原生的Promise ➜ bin node "/Users/mac/Documents/testnodejs/pathtest2.js" node version: v8.9.4 total: 49995000 total: 49995000 bench origin: 23.947ms all test end ➜ bin node "/Users/mac/Documents/testnodejs/pathtest2.js" node version: v8.9.4 total: 49995000 total: 49995000 bench origin: 24.263ms all test end
// 8.9.4 bluebird ➜ bin node "/Users/mac/Documents/testnodejs/pathtest2.js" node version: v8.9.4 total: 49995000 total: 49995000 bench origin: 43.253ms all test end ➜ bin node "/Users/mac/Documents/testnodejs/pathtest2.js" node version: v8.9.4 total: 49995000 total: 49995000 bench origin: 42.724ms all test end
// 原生 Promise ➜ bin ./node /Users/mac/Documents/testnodejs/pathtest2.js node version: v6.12.3 total: 49995000 total: 49995000 bench origin: 56.907ms all test end ➜ bin ./node /Users/mac/Documents/testnodejs/pathtest2.js node version: v6.12.3 total: 49995000 total: 49995000 bench origin: 53.840ms all test end
// blubird ➜ bin ./node /Users/mac/Documents/testnodejs/pathtest2.js node version: v6.12.3 total: 49995000 total: 49995000 bench origin: 39.129ms all test end ➜ bin ./node /Users/mac/Documents/testnodejs/pathtest2.js node version: v6.12.3 total: 49995000 total: 49995000 bench origin: 38.773ms all test end