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"...






Reply via email to