3 ms·
Thanks for the tip, stackless coroutines are new to me. Any of that on the Rust roadmap?
by Scramblejams 11y ago
Thanks for the tip, stackless coroutines are new to me. Any of that on the Rust roadmap?
- Scramblejams 11y agoAm I correct that coroutines are intrinsically non-preemptive? If so, I'll need to keep looking.
- ansible 11y agoAm I correct that coroutines are intrinsically non-preemptive? If so, I'll need to keep looking. That's usually the case. Coroutines have their uses, but having used goroutines, that is my current preference.
- pcwalton 11y agoCoroutines are preemptible at I/O boundaries or manual synchronization points. Those synchronization points could be inserted by the compiler, but if you do that you're back into goroutine land, which typically isn't better than 1:1. In particular, it seems quite difficult to achieve scalability to millions of threads with "true" preemption, which requires either stacks or aggressive CPS transformation.