3 ms·
I'd say he's half-right on the M:N scheduling. For implementing POSIX threads, M:N threading has a lot of extra complexity and few advantages, and worse perfor
by the_why_of_y 11y ago
I'd say he's half-right on the M:N scheduling.
For implementing POSIX threads, M:N threading has a lot of extra complexity and few advantages, and worse performance.
But if you don't have POSIX threads, but something higher-level that's managed by a runtime anyway, you don't need to worry about things like ensuring enough VM space and at least one allocated page for each thread stack.
Erlang's and GHC's threads start out needing much less space than a single page, so you can start 10x more threads in the same amount of RAM.