GC vs. Manual Memory Management Real World Comparison

Benjamin Thaut code at benjamin-thaut.de
Fri Sep 7 09:31:39 PDT 2012


Am 07.09.2012 01:53, schrieb Sean Kelly:
> On Sep 6, 2012, at 10:50 AM, Benjamin Thaut <code at benjamin-thaut.de> wrote:
>
>> Am 06.09.2012 15:30, schrieb ponce:
>>>> The problem with intstrumentation is, that I can not recompile
>>>> druntime for the MinGW GDC, as this is not possible with the binary
>>>> release of MinGW GDC and I did not go thorugh the effort to setup the
>>>> whole build.
>>>> I'm open to suggestions though how I could profile the GC without
>>>> recompiling druntime. If someone else wants to profile this, I can
>>>> also provide precompiled versions of both versions.
>>>
>>> You don't necessarily need to recompile anything with a sampling
>>> profiler like AMD Code Analyst or Very Sleepy
>>>
>>
>> I just tried profiling it with Very Sleepy but basically it only tells me for both versions that most of the time is spend in gcx.fullcollect.
>> Just that the GDC version spends less time in gcx.fullcollect then the DMD version.
>>
>> As I can not rebuild druntime with GDC it will be quite hard to get detailed profiling results.
>>
>> I'm open for suggestions.
>
> What version flags are set by GDC vs. DMD in your target apps?  The way "stop the world" is done on Linux vs. Windows is different, for example.
>

I did build druntime and phobos with -release -noboundscheck -inline -O 
for DMD.
For MinGW GDC I just used whatever version of druntime and phobos came 
precompiled with it, so I can't tell you which flags have been used to 
compile that. But I can tell you that cygwin is not required to run or 
compile, so I think its not using any posix stuff.


I'm going to upload a zip-package with the source for the GC version 
soon, but I have to deal with some licence stuff first.

Kind Regards
Benjamin Thaut


More information about the Digitalmars-d-announce mailing list