Hacker Newsnew | past | comments | ask | show | jobs | submit | kixunil's commentslogin

> It doesn't use segmented stacks so it doesn't achieve the M:N performance of Go

Actually, if you use Tokio or similar approach, you achieve better performance than Go (no need to re-allocate stacks) while code is still quite readable and boilerplate-free.


They seem to be aware: ", but it has memory and data race safety, OS threads, and futures, so no problem."

However, futures are certainly not boilerplate-free. They destroy your ability to use native control flow the way you can with threads (M:N or 1:1). You can get some of that back with async/await, but Rust doesn't have that and it's still not boilerplate-free.


Yeah Tokio is the answer and what I'm referring to. All I meant was if you implement M:N in Rust it'll be slower than Go. I think this is probably the right answer, as segmented stacks cost you C interoperability, but it's not right for everything.


I dislike Go's error handling too. Rust solved this neatly with question mark operator (previously implemented as try!() macro).


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: