Fiber is better than go's goroutine?
Andrei Alexandrescu via Digitalmars-d
digitalmars-d at puremagic.com
Tue Oct 28 10:05:13 PDT 2014
On 10/27/14 9:32 AM, Sean Kelly wrote:
> The real tricky part, which is something that even Go doesn't address as
> far as I know, is what to do about third-party APIs that block. The
> easiest way around this is to launch threads that deal with these APIs
> in actual kernel threads instead of fibers, or try to make the scheduler
> smart enough to recognize that blocking is occurring (or more generally,
> that a given logical thread isn't playing nice) and move that fiber into
> a dedicated kernel thread automatically. This latter approach seems
> entirely possible but will likely mean kernel calls to gather statistics
> regarding how long a given thread executes before yielding, etc.
I'm not sure but as far as I understand this one issue forces Go code to
have a strong networking effect (must call into Go code designed
especially for cooperative threading). That forces a lot of rewriting of
existing code.
Andrei
More information about the Digitalmars-d
mailing list