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!
  }

Reply via email to