DConf 2013 Day 2 Talk 4: Web Development in D by Vladimir Panteleev
Diggory
diggsey at googlemail.com
Mon Jun 3 22:31:40 PDT 2013
On Monday, 3 June 2013 at 18:51:45 UTC, Vladimir Panteleev wrote:
> 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.
Yes, although it would theoretically be possible to swap the
stack by swapping the mappings rather than the memory itself,
although I doubt many OSes would support that kind of
functionality...
I guess it's not too much to ask to use a 64-bit OS for when
1000s of connections need to be handled!
More information about the Digitalmars-d-announce
mailing list