On Thursday, 13 February 2014 at 15:30:58 UTC, Bienlein wrote:
On Thursday, 6 February 2014 at 19:24:39 UTC, Sean Kelly wrote:
On Wednesday, 5 February 2014 at 20:37:44 UTC, Sean Kelly wrote:

https://github.com/D-Programming-Language/phobos/pull/1910

Hello,

I have a little question about how pre-emption works with the FiberScheduler. Let's say I create 100.000 fibers that all run long-runners (such as calculating fibonacci(100)). Now I start another fiber that just prints "hello world" to the console. So it's a short runner. When can I expect "hello world" to appear on the console?

The API is able to context switch inside send and receive. So if you aren't sending messages with some frequency then the level of parallel execution will be fairly low. For apps like this, it's possible that a more complex scheduler that is backed by a thread pool would be more appropriate. Since D isn't built from the ground up around fibers, choosing the right scheduler for your application is an important decision.

Reply via email to