What's super impressive, is that Go's performance aren't that bad!
-
-
-
Agreed - I read a lot of unfair criticism directed towards Go's channels, often about performance. But the more time I spend studying them, the more I appreciate the thought and care put into their design and implementation!
- 2 more replies
New conversation -
-
-
Impressive, what makes it so fast?
-
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. - 2 more replies
New conversation -
-
-
Do you anticipate any problems with making crossbeam-channel work with futures?
-
It's not obvious how to reconcile the task notification model with the thread notification mechanism behind crossbeam-channel. Related: https://github.com/rust-lang-nursery/futures-rs/issues/800 … Fortunately, I think we've got this figured out. The only real problem I expect is that it might take a lot of work. :)
End of conversation
New conversation -
-
-
the "return error if all possible peers have hung up" behavior in mpsc channels is super-nice for ensuring all threads get killed on a panic (especially early in development); curious why you dropped it and what you would propose as a replacement
-
That was a tough decision with tradeoffs both ways, but in the end it simplified the interface a lot. Rationale: https://github.com/crossbeam-rs/crossbeam-channel/issues/39 … An argument by Russ Cox: https://github.com/golang/go/issues/18511#issuecomment-270425548 … Fortunately, it's possible to simulate the old behavior: https://github.com/crossbeam-rs/crossbeam-channel/blob/master/examples/mpsc.rs …
End of conversation
New conversation -
-
-
What do the charts imply? Any info for newcomers?
-
The smaller the bar the better. So given a certain amount of input for each type of channel constrained in different ways how well does it do? The less time it takes to process the input the faster the channel is. Basically this implementation destroys other channels in perf!
- 1 more reply
New conversation -
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.