Concurrent GC (for Windows)

Dmitry Olshansky via Digitalmars-d digitalmars-d at puremagic.com
Fri Jun 13 03:08:50 PDT 2014


13-Jun-2014 12:22, Rainer Schuetze пишет:
>
>
> On 13.06.2014 02:38, Dmitry Olshansky wrote:
>> 12-Jun-2014 10:34, Rainer Schuetze пишет:
>>>
>>> I implemented the QueryWorkingSetEx version like this (you need a
>>> converted psapi.lib for Win32):
>>
>> Yes, exactly, but I forgot the recipe to convert COFF/OMF import
>> libraries.
>
> Grab coffimplib.exe.

Cool, thanks.

>>> If I add the actual copy into heap2 (i.e. every fourth page of 512 MB is
>>> copied), I get 80-90 ms more.
>>
>> Aye... this is a lot. Also for me it turns out that unmapping CoW view
>> at the last step takes the most of time.
>
> Maybe the memory needs to be actually flushed to the file if no mapping
> exists. If that is the case, we could avoid that if we create another
> temporary mapping.

I thought that's what I do by keeping original view mapped.
The time taken is ~ proportional to the number of pages modified in the 
CoW view, since these are private copies I think it might take this much 
to recycle them. It's ~1 ms if no changes are made.


-- 
Dmitry Olshansky


More information about the Digitalmars-d mailing list