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