A new version of crossbeam-channel is published. This channel in Rust works almost identically to channels in Go. It supports select operation and is fast. Now we just need to make it work with futures. :) Benchmarks: https://i.imgur.com/tRI4HMO.png Docs: https://docs.rs/crossbeam-channel/0.2.0 …
-
-
Impressive, what makes it so fast?
1 reply 0 retweets 1 like -
This design by
@dvyukov is what makes it fast, and is the main source of inspiration: https://docs.google.com/document/d/1yIAYmbvL3JxOKOjuCyon7JhW4cSv1wy5hC0ApeGMV9s/pub … The short story is: channels avoid lock contention as much as possible - the typical "happy path" is lock-free. Plus, there is a lot of small optimizations that add up.1 reply 0 retweets 8 likes -
Replying to @stjepang
(Does Go itself use this design as well, or was this just a proposal?)
1 reply 0 retweets 0 likes
Not yet - it's a proposal and a PR was submitted a few years back. The current status of it is along the lines of "Seems like the way to go, but the implementation is not finished yet. Also, the new design breaks some (minor) fairness guarantees and we should think about that."
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.