Slow DWT compiles

Nick Sabalausky a at a.a
Fri Jan 9 23:49:56 PST 2009


"Nick Sabalausky" <a at a.a> wrote in message 
news:gk9jp0$pfc$1 at digitalmars.com...
> "Nick Sabalausky" <a at a.a> wrote in message 
> news:gk9hub$n0s$1 at digitalmars.com...
>> "Bill Baxter" <wbaxter at gmail.com> wrote in message 
>> news:mailman.360.1231568636.22690.digitalmars-d at puremagic.com...
>>> On Sat, Jan 10, 2009 at 3:11 PM, Nick Sabalausky <a at a.a> wrote:
>>>> "Bill Baxter" <wbaxter at gmail.com> wrote in message
>>>> news:mailman.355.1231561916.22690.digitalmars-d at puremagic.com...
>>>>> The DWT compile times do still seem to be sky-high even after the
>>>>> reversion in DMD 1.039.
>>>>>
>>>>> I just tried building the dwt-samples\treeeditor\Snippet111.d, for
>>>>> instance and it's taking insanely long.
>>>>>
>>>>> Switch back to DMD 1.037 and it compiles in well under a minute.
>>>>>
>>>>> So my guess is that nobody else but that one other poster has tried
>>>>> using DWT and DMD 1.039 together.
>>>>>
>>>>> Anyway, Walter, if you want a test case, install yerself a copy of
>>>>> tango and DWT and try dwt-samples\treeeditor\Snippet111.d  (or
>>>>> probably any other dwt snippet.  That's just the first one I tried).
>>>>>
>>>>> --bb
>>>>
>>>> Thought I'd add my experience, FWIW:
>>>>
>>>> I don't seem to have the treeeditor sample (maybe that's new in 
>>>> 3.4-2?), but
>>>> I tried dwt-samples\examples\simple.d:
>>>>
>>>> DMD 1.037 Tango 0.99.7 DWT 3.4-1 DSSS 0.76 (oneatatime=no):
>>>> dsss build -full simple
>>>> - Builds in 34 seconds
>>>>
>>>> Exactly the same thing but with DMD 1.039:
>>>> - Gives me a linker error after about 32 seconds:
>>>>
>>>> --------------------------------
>>>> simple.d => simple
>>>> +
>>>> D:\DevTool\dsss\bin\rebuild.exe -Idsss_imports\ -I. -S.\ -ID:\DevTool\dsss\include\d
>>>>  -SD:\DevTool\dsss\lib\ -full  -ID:\DevTool\dsss\include\d -SD:\DevTool\dsss\lib
>>>>  -oqdsss_objs\D -g -gc -JD:\DevTool\dsss\lib/res -J../res -I.. -L/SUBSYSTEM:console:5
>>>>  -L/rc:..\dwt simple.d -ofsimple
>>>>
>>>> OPTLINK (R) for Win32  Release 8.00.1
>>>> Copyright (C) Digital Mars 1989-2004  All rights reserved.
>>>> dsss_objs\D\dwt-graphics-Path.obj(dwt-graphics-Path)  Offset 0537DH 
>>>> Record
>>>> Type 0091
>>>>  Error 1: Previous Definition Different :
>>>> _D5tango4text4Text11__T4TextTaZ4Text4Span6__initZ
>>>> --- errorlevel 1
>>>> Command D:\DevTool\dsss\bin\rebuild.exe returned with code -1, 
>>>> aborting.
>>>
>>> I got that with the first DWT sample I tried too using 1.039 too.  37
>>> sec seems about right for how long it took to error out.
>>> That one was tree\Snippet15 I think.
>>> Then I tried the treeeditor one, and was taking a long time so I killed 
>>> it.
>>>
>>>> I may be using some sort of stange unsupported configuration though: I 
>>>> ended
>>>> up having to change three references in dwthelper from "tango.io." to
>>>> "tango.io.device."
>>>>
>>>> I'm not too concerned about the error at the moment, but I did think it 
>>>> was
>>>> significant that it got to the linking phase in roughly the same amount 
>>>> of
>>>> time as DMD 1.037. There seem to be some wildly inconsistent happenings 
>>>> in
>>>> regards to 1.039's DWT compile times. You're certain your "oneatatme"
>>>> setting didn't get reverted to on? Before I turned oneatatime off, both
>>>> versions of DMD took around 15 minutes or so.
>>>
>>> Yes I'm sure I've got oneatatime off.  All I'm doing to switch DMD
>>> configs is to unzip the new DMD files on top of the old installation,
>>> and run my "usetango.bat" script to fix it up after that.
>>>
>>> That script definitely isn't smart enough to do something different
>>> based on the current version of DMD installed.  So I'm positive that
>>> I'm using the same DSSS config for 1.037/1.038/1.039.
>>>
>>> --bb
>>
>> 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).
>
> I don't know if this helps anyone, but I added some "pragma(msg, 
> __LINE__.stringof);" to "dwt-samples\snippets\treeeditor\Snippet111.d" 
> (the one that's hanging), and DMD 1.039 appears to be hanging on this 
> line:
>
> line 102: composite.addListener (DWT.Resize, dgListener( &handleResize, 
> composite, text, inset ));

Also, FWIW, DMD's memory usage while at that point stays constant at about 
109.2MB. So whatever's happening, it doesn't appear to involve much 
allocation/deallocation activity.





More information about the Digitalmars-d mailing list