core.thread.Fiber --- runtime stack overflow unlike goroutines

Dicebot via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Thu Aug 14 16:31:31 PDT 2014


On Thursday, 14 August 2014 at 18:52:00 UTC, Sean Kelly wrote:
> On 64 bit, reserve a huge chunk of memory, set a SEGV handler 
> and commit more as needed. Basically how kernel thread stacks 
> work. I've been meaning to do this but haven't gotten around to 
> it yet.

I think using some sort of thread-local shared heap pool is 
better approach in general as it does need any SEGV handling 
overhead and simplifies fiber implementation (all fibers are 
guaranteed to take fixed amount of memory). It is not a silver 
bullet and forces you to think much more about application memory 
layout but I believe this is much better approach for high 
performance services than segmented stack like in Go.


More information about the Digitalmars-d-learn mailing list