On the Performance of User-Mode Threads and Coroutines
Discussions of coroutines and user-mode threads — like Project Loom's virtual threads or Go's goroutines — frequently turn to the subject of performance. The question I'll try answering here is, how do user-mode threads offer better application performance than OS threads?