Gary Willoughby: "Why Go's design is a disservice to intelligent programmers"

Walter Bright via Digitalmars-d-announce digitalmars-d-announce at puremagic.com
Fri Mar 27 11:56:50 PDT 2015


On 3/27/2015 5:15 AM, Sönke Ludwig wrote:
> It has, that is more or less the original selling point. It also keeps an
> internal thread pool where each thread has a dynamic set of reusable fibers to
> execute tasks. Each fiber is bound to a certain thread, though, and they have
> to, because otherwise things like thread local storage or other thread specific
> code (e.g. the classic OpenGL model, certain COM modes etc.) would break.

It's awesome that vibe has that! How about replacing the fiber support in 
druntime with that?


> Apart from these concerns, It's also not clear to me that moving tasks between
> threads is necessarily an improvement. There are certainly cases where that
> leads to a better distribution across the cores, but in most scenarios the
> number of concurrent tasks should be high enough to keep all cores busy anyhow.
> There are also additional costs for moving fibers (synchronization, cache misses).

I agree that moving between threads can wait.


More information about the Digitalmars-d-announce mailing list