[Issue 2582] New: Significantly Increased Compile Times For DWT

d-bugmail at puremagic.com d-bugmail at puremagic.com
Mon Jan 12 08:23:26 PST 2009


http://d.puremagic.com/issues/show_bug.cgi?id=2582

           Summary: Significantly Increased Compile Times For DWT
           Product: D
           Version: 1.039
          Platform: PC
        OS/Version: Windows
            Status: NEW
          Severity: regression
          Priority: P2
         Component: DMD
        AssignedTo: bugzilla at digitalmars.com
        ReportedBy: business3 at twistedpairgaming.com


Certain DWT programs (though not all) that compiled perfectly fine under DMD
1.037 experience suspiciously long compile times under DMD 1.039. For instance,
the sample "dwt-samples\snippets\treeeditor\Snippet111.d" goes from about 30
seconds in 1.037 to over 15 minutes (I killed it after that) in 1.039.

The bug seems to exhibit some sort of compounding effect, as the more I
stripped down the test case, the faster the compile time became. However, even
in the smallest test case I could come up with (which unfortunately still
relies on both Tango and DWT), there is still a significantly increased delay
at the point where compiler stalls:

--------------------
module test;

import tango.core.Traits;
import dwt.graphics.Path;

class Foo(Dg)
{
    alias ParameterTupleOf!(Dg) DgArgs;
}

void main ()
{
    pragma(msg, __LINE__.stringof);
    new Foo!( void delegate() )( );
    pragma(msg, __LINE__.stringof);
}
--------------------

I compiled this with DSSS 0.76, DWT 3.4-1, and Tango 0.99.7 (the version that
has DMD 1.035 packaged with it:
http://downloads.dsource.org/projects/tango/snapshots/tango-bin-win32-CURRENT-dmd.1.035.zip
).

I compiled with:
rebuild -C-v test

The relevant output for DMD 1.037 was:
--------------------
{...trimmed...}
semantic3 test
13L
{no noticeable pause}
15L
semantic3 Traits
{...trimmed...}
{no linker error}
--------------------

The relevant output for DMD 1.039 was:
--------------------
{...trimmed...}
semantic3 test
13L
{pauses here for about 1 minute}
15L
semantic3 Traits
{...trimmed...}
OPTLINK (R) for Win32 Release 8.00.1
Copyright (C) Digital Mars 1989-2004 All rights reserved.
.\dwt-dwthelper-File.obj(dwt-dwthelper-File) Offset 0575BH Record Type 0091
Error 1: Previous Definition Different : 
_D5tango4text4Text11__T4TextTaZ4Text4Span6__initZ
--- errorlevel 1
--------------------

The linker error seems to occur in 1.039 with every DWT sample I've tried, not
just the ones that also exhibit the long compile times (but never on 1.037). So
I assume that's a separate issue. I'll see if I can come up with a separate
test case and bug report for that.


-- 



More information about the Digitalmars-d-bugs mailing list