21-Sep-2014 13:06, Ola Fosheim Grostad пишет:
On Sunday, 21 September 2014 at 08:24:46 UTC, Dmitry Olshansky wrote:
Not spontaneously :)
You'd have to cast to shared and back, and then you are on your own.
Fiber is thread-local, shared(Fiber) isn't.
That will have to change if Go is a target.
Go is not a target. The fixed concurrency model the have is not the
silver bullet.
To get full load you need to
let fibers move freely between threads I think.
Why? The only thing required is scheduling by passing new work-item (a
fiber) to the least loaded thread (or some other strategy). Keeping
thread affinity of Fiber is a boon: you get to use non-atomic
ref-counting and have far less cache pollution (the set of fibers to
switch over is consistent).
Go also check fiber
stack size... But maybe Go should not be considered a target.
??? Just reserve more space. Even Go dropped segmented stack.
What Go has to do with this discussion at all BTW?
--
Dmitry Olshansky