Escaping the Tyranny of the GC: std.rcstring, first blood

Dmitry Olshansky via Digitalmars-d digitalmars-d at puremagic.com
Sun Sep 21 10:52:38 PDT 2014


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


More information about the Digitalmars-d mailing list