Building is slow!

Dlang User dlang.user at gmx.com
Wed Apr 18 16:28:49 UTC 2018


On 4/16/2018 3:27 PM, Ivan Trombley wrote:
> I want to revisit this issue.
> 
> Building 64 bit on Linux, release or debug, is fast. However, building 
> 64 bit release on Windows 10 is super slow. I have a cross platform app 
> that uses gtk-d. Today, I updated DMD to 2.079.1 and the gtk-d lib to 
> 3.8.0. When I performed a debug build on Windows 10, it only took a few 
> seconds to build gtk-d. I attempted to build release but canceled the 
> build after a couple of hours. I tried building 32 bit release on 
> Windows and while it took a lot longer than debug, it still completed in 
> a reasonable amount of time (it wouldn't link, though, probably because 
> I'm missing some 32 libraries).
> 
> Does anyone have any idea why 64 bit release builds on Windows would 
> take so long?
> 

I have no idea why, but I can confirm that I am seeing something similar 
on Windows 10.  I have tried it both with anti-virus enabled and 
disabled, with the same results.

Compiler Version:  2.079.1 (-m64 switch set in the sc.ini file)
Using a gtkd project (tried two versions 3.8.0 and 3.8.1)

Attempts:

1. plain build

It succeeds with this output (build time is 21 seconds, including fetching):

C:\DProj\gtktest>dub build -b plain --force
Fetching gtk-d 3.8.1 (getting selected version)...
Performing "plain" build using C:\D\dmd2\windows\bin\dmd.exe for x86_64.
gtk-d:gtkd 3.8.1: building configuration "library"...
gtk-d:gstreamer 3.8.1: building configuration "library"...
gtk-d:peas 3.8.1: building configuration "library"...
gtk-d:sv 3.8.1: building configuration "library"...
gtk-d:vte 3.8.1: building configuration "library"...
gtktest ~master: building configuration "application"...
Linking...


2. debug build

It succeeds with a linker warning (build time is 23 seconds, already 
fetched):

C:\DProj\gtktest>dub build -b debug --force
Performing "debug" build using C:\D\dmd2\windows\bin\dmd.exe for x86_64.
gtk-d:gtkd 3.8.1: building configuration "library"...
gtk-d:gstreamer 3.8.1: building configuration "library"...
gtk-d:peas 3.8.1: building configuration "library"...
gtk-d:sv 3.8.1: building configuration "library"...
gtk-d:vte 3.8.1: building configuration "library"...
gtktest ~master: building configuration "application"...
Linking...
gtkd-3.lib(functions.obj) : warning LNK4255: library contain multiple 
objects of the same name; linking object as if no debug info
gtkd-3.lib(functions.obj) : warning LNK4255: library contain multiple 
objects of the same name; linking object as if no debug info
gtkd-3.lib(functions.obj) : warning LNK4255: library contain multiple 
objects of the same name; linking object as if no debug info
gtkd-3.lib(functions.obj) : warning LNK4255: library contain multiple 
objects of the same name; linking object as if no debug info
gtkd-3.lib(functions.obj) : warning LNK4255: library contain multiple 
objects of the same name; linking object as if no debug info
gtkd-3.lib(functions.obj) : warning LNK4255: library contain multiple 
objects of the same name; linking object as if no debug info
gtkd-3.lib(functions.obj) : warning LNK4255: library contain multiple 
objects of the same name; linking object as if no debug info
gtkd-3.lib(functions.obj) : warning LNK4255: library contain multiple 
objects of the same name; linking object as if no debug info
gtkd-3.lib(ActionIF.obj) : warning LNK4255: library contain multiple 
objects of the same name; linking object as if no debug info


3. release build

This hangs (I killed it after 10 minutes):

C:\DProj\gtktest>dub build -b release --force
Performing "release" build using C:\D\dmd2\windows\bin\dmd.exe for x86_64.
gtk-d:gtkd 3.8.1: building configuration "library"...








More information about the Digitalmars-d mailing list