DConf 2013 Day 2 Talk 4: Web Development in D by Vladimir Panteleev

Vladimir Panteleev vladimir at thecybershadow.net
Mon Jun 3 11:51:44 PDT 2013


On Monday, 3 June 2013 at 18:07:57 UTC, Diggory wrote:
> Great talk! Would love to see the improvements to phobos 
> suggested.
>
> An idea for the virtual address space problem on 32-bit:
> - Assuming each stack has a marker page at the end to prevent 
> overflow, by simply exchanging the stack memory with a separate 
> block of memory you can reduce the number of marker pages 
> saving up to one page per fiber
> - Could use some fast compression method to save a not recently 
> used stack in memory
> - As a last resort can save stack to a file and read it in 
> again when it is required. Since events are queued the event 
> loop can easily peek ahead in the queue and start loading in a 
> stack early so that it is ready by the time that event gets to 
> the front.

Thanks!

One of the main advantages of fibers over threads is the low 
overhead for switching - basically you save registers and change 
ESP. By comparison, switching to another thread requires an OS 
kernel system call. Copying entire stacks might negate this 
performance benefit. It's worth noting that it looks like the 
average stack size will grow for D programs in the future, as the 
push is made to minimize heap allocations throughout Phobos and 
use the stack more.


More information about the Digitalmars-d-announce mailing list