Kernel threads for IO do not work great (I'd be happy to provide more info), which is why async IO is needed. Not using an M:N model to keep compatibility with C is certainly reasonable, but goroutines and an M:N model do have many advantages over kernel threads for doing IO.https://twitter.com/pcwalton/status/1140983747379990528 …
-
-
In my experience it is mostly about context switching, and more generally avoiding synchronization and involving the kernel. (Most implementations I've seen use an IO thread pool that mitigates the stack creation/destruction issue.)
-
That’s at odds with Solaris’ experience of improving performance significantly when going from M:N to 1:1.
- 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.