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 …
-
-
Replying to @stjepang
What's super impressive, is that Go's performance aren't that bad!
1 reply 0 retweets 2 likes -
Replying to @RodolpheFouquet
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!
1 reply 0 retweets 4 likes -
Replying to @stjepang @RodolpheFouquet
Was going to mention it's interesting that Go beats all the previous Rust implementations in all except 1 benchmark. Is there a single big reason for this, or just many small ones?
1 reply 0 retweets 2 likes
The previous Rust implementations are rather naive in some places and have mutexes in front of the internal queues. It's a good reminder how locks can kill performance. Also, std::sync::Mutex is inefficient - simply switching to parking_lot::Mutex gives 5x boost in some cases.
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.