On Friday, 27 March 2015 at 10:37:01 UTC, Russel Winder wrote:
The question is though what should happen in D. If Vibe.d
fibres are a
single threaded system, then they are not suitable for the
actor,
dataflow, CSP implementation needed in D since that must sit on
a kernel
thread pool where each lightweight thread is animated by
whichever work
stealing kernel thread comes along. Erlang, Go, GPars, Quasar,
etc. all
have different solutions to the problem of thread pools and task
switching since the context is all important.
Yes, I agree that the question is what should happen in D. But
the claim was that D provides everything Go does and there is
only a tiny scheduler that is missing. I don't think D benefits
from these claims. Benchmark D thoroughly against Go before
making claims or just give Go credit for being better in some
areas.
If it was up to me then co-routines would be ripped out of the
language. They are a cross cutting feature that makes significant
optimizations and improvements difficult or impossible.