briancavalier / creed

Sophisticated and functionally-minded async with advanced features: coroutines, promises, ES2015 iterables, fantasy-land
https://briancavalier.github.io/creed
MIT License
273 stars 20 forks source link

Added Zousan #88

Closed Akkuma closed 7 years ago

Akkuma commented 7 years ago

I came across Zousan, https://github.com/bluejava/zousan, from https://github.com/MatAtBread/nodent and wanted to see how it performed compared to the other promise libs out there. At the same time I updated the bluebird benchmarks as I noticed 2 inconsistencies.

coveralls commented 7 years ago

Coverage Status

Coverage remained the same at 100.0% when pulling 72469d26d2f2af7e8656dd67e3cfd082df516f80 on Akkuma:zousan into e2f5510f3ec80073d8c5ed6a1aa1f4977104f079 on briancavalier:master.

briancavalier commented 7 years ago

Hey @Akkuma, I appreciate the fixes to the bluebird tests.

Here are some representative results of running the doxbee test in this branch on node 6.9.1. Do they match what you are seeing?

results for 10000 parallel executions, 1 ms per I/O op

file                                 time(ms)  memory(MB)
callbacks-baseline.js                      96       25.29
promises-creed-generator.js               188       28.60
promises-bluebird-generator.js            191       29.40
promises-creed-algebraic.js               202       45.49
promises-creed.js                         211       45.85
promises-bluebird.js                      216       47.16
promises-cujojs-when-generator.js         218       40.07
promises-cujojs-when.js                   282       58.92
callbacks-caolan-async-waterfall.js       311       48.03
promises-tildeio-rsvp.js                  372       86.79
promises-zousan.js                        733       96.18
generators-tj-co.js                       929      124.27
promises-ecmascript6-native.js           1022      186.00

Platform info:
Darwin 16.1.0 x64
Node.JS 6.9.1
V8 5.1.281.84
Intel(R) Core(TM) i7-4870HQ CPU @ 2.50GHz × 8
briancavalier commented 7 years ago

ping @Akkuma ...

briancavalier commented 7 years ago

Thanks for the bluebird fix, @Akkuma. I cherry-picked and merged it to master in a6b70bd963ca9454b6e2ffc59fdc4a06a5da8369.

Closing due to inactivity. Please feel free to reopen if you still want to discuss adding Zousan.

Akkuma commented 7 years ago

Hey sorry about not getting back. Here's what I see for ./bench doxbee

results for 10000 parallel executions, 1 ms per I/O op

file                                 time(ms)  memory(MB)
callbacks-baseline.js                      85       25.66
promises-creed-generator.js               183       37.70
promises-creed-algebraic.js               192       45.62
promises-creed.js                         205       45.61
promises-bluebird-generator.js            212       40.01
promises-bluebird.js                      238       50.54
promises-cujojs-when-generator.js         238       41.79
promises-cujojs-when.js                   290       57.42
callbacks-caolan-async-waterfall.js       321       52.62
promises-tildeio-rsvp.js                  407       81.09
promises-zousan.js                        635       95.73
promises-ecmascript6-native.js            751      160.66
generators-tj-co.js                       754      103.88

Platform info:
Darwin 15.4.0 x64
Node.JS 7.0.0
V8 5.4.500.36
Intel(R) Core(TM) i7-4870HQ CPU @ 2.50GHz × 8