Am 27.03.2015 um 19:56 schrieb Walter Bright:
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
execute tasks. Each fiber is bound to a certain thread, though, and
to, because otherwise things like thread local storage or other thread
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?
It's actually based on the fiber support in Druntime. It would
definitely be great to get the event loop and the scheduler into
Druntime/Phobos, too. But it needs to be integrated in many places at
the same time (core.sync.*, std.concurrency, std.stdio, std.socket etc.)
to avoid bad surprises for users. We'd need to decide how to cut that
work into manageable pieces.
Fortunately there is now already an event loop abstraction written in
pure D , which should be integrated first, because the fiber
scheduler itself isn't worth much without an event loop.