Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bluebird 3 #12

Open
benjamingr opened this issue May 30, 2016 · 8 comments
Open

Bluebird 3 #12

benjamingr opened this issue May 30, 2016 · 8 comments

Comments

@benjamingr
Copy link

Hey, I'm wondering why you haven't upgraded the JavaScript driver to Bluebird 3 and what I can do to ease your migration?

@danielmewes
Copy link
Member

@benjamingr For no particular reason, other than that we hadn't had any reason for doing it.

I'm not following the Bluebird development too closely; are there any significant improvements in Bluebird 3 that we would benefit from?

@benjamingr
Copy link
Author

V3 is faster, has sound cancellation semantics and a bunch of small improvements. It has warnings (which warn against pitfalls) and other nice things. In all honesty V2 is fine for what you're doing and we intend to keep fixing bugs in it.

I just wanted to make sure there is nothing stopping you from our side of the API.

Cheers and thanks for Rethink, having a lot of fun with it!

@danielmewes
Copy link
Member

Thanks for the explanation @benjamingr .

I'm going to re-open this, but we'll put it on the back burner for now.

@thelinuxlich
Copy link

@srh since this issue, promises/async-await/generators are much faster, so bluebird could be replaced entirely by native functions and this issue is obsolete.

@benjamingr
Copy link
Author

@thelinuxlich bluebird is actually still faster than native promises and async await, but we're (Node) working on that with V8. We're doing a panel of pending tasks and what to improve on performance in the collaborator summit this May. Feedback on what would matter for Rethink in terms of promise performance is valued :) (hint hint) ?

@thelinuxlich
Copy link

Honestly, js promises would be one of the least worries concerning RethinkDB performance, there is much bigger fish to fry :)

@srh
Copy link
Contributor

srh commented Mar 30, 2018

Any improvement to the JS driver implementation is welcome. If there are changes to behavior that's possibly fine too.

The client side performance of JS is significant (see the note about 0.7s at the end of http://samuelhughes.com/blog/7.html), and worth improving, and I think the biggest factor is the cost of constructing query AST's and serializing objects, and such.

@jrnail23
Copy link

Bluebird 3.6 introduces support for AsyncResource, which is really helpful when dealing with async_hooks. We use async_hooks via cls-hooked, for storing contextual data for logging, and using bluebird <3.6 can cause that context to get lost.

Please don't remove bluebird entirely, though, as we have quite a bit of code that depends on rethinkdb's promises being bluebird promises.

@gabor-boros gabor-boros transferred this issue from rethinkdb/rethinkdb May 5, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants