GC vs. Manual Memory Management Real World Comparison

Sven Torvinger Sven at torvinger.se
Thu Sep 6 23:28:31 PDT 2012


On Thursday, 6 September 2012 at 20:44:29 UTC, Walter Bright 
wrote:
> On 9/6/2012 10:50 AM, Benjamin Thaut wrote:
>> 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.
>
> Even so, that in itself is a good clue.

my bet is on, cross-module-inlining of bitop.btr failing...

https://github.com/D-Programming-Language/druntime/blob/master/src/gc/gcbits.d

version (DigitalMars)
{
     version = bitops;
}
else version (GNU)
{
     // use the unoptimized version
}
else version (D_InlineAsm_X86)
{
     version = Asm86;
}

wordtype testClear(size_t i)
{
   version (bitops)
   {
     return core.bitop.btr(data + 1, i);   // this is faster!
   }



More information about the Digitalmars-d-announce mailing list