Slow DWT compiles

Nick Sabalausky a at a.a
Sat Jan 10 23:10:22 PST 2009


"Walter Bright" <newshound1 at digitalmars.com> wrote in message 
news:gkb1dd$3g5$4 at digitalmars.com...
> Nick Sabalausky wrote:
>> Ok, I found the examples you were talking about, they were in 
>> "dwt-samples\snippets", not "dwt-samples\examples". I'm getting the same 
>> results as you for both "tree\Snippet15.d" and "treeeditor\Snippet111.d". 
>> Both compile fine in just over 30 sec on 1.037. On 1.039 
>> "tree\Snippet15.d" fails after about 30 sec with the same link error I 
>> posted above, and "treeeditor\Snippet111.d" goes on for at least 10 
>> minutes (that's when I killed it).
>
> Can you try cutting down the size of that example until you find the 
> trigger for the long times?

The following is about the best I could do. Unfortunately, I wasn't able to 
eliminate Tango or DWT from the test case. Maybe someone with more 
experience in the DWT codebase could improve on this test case.

--------------------
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 have Tango 0.99.7, DSSS 0.76, and DWT 3.4-1.

I compiled with:
rebuild -C-v test

The relevant output for DMD 1.037 was:
--------------------
{...trimmed...}
semantic3 test
13L
{no noticable 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
--------------------

Also, there seems to be some sort of cumulative effect going on. I noticed 
that the more I trimmed from the test case, the less pause there was in DMD 
1.039. With the original "dwt-samples\snippets\treeeditor\Snippet111.d" the 
pause was more than 15 minutes (I killed it after that). In the above code, 
it's only about 1 minute. But in either case, there was no noticeable pause 
in DMD 1.037.





More information about the Digitalmars-d mailing list