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